Communication system, communication method, and storage medium

An information processing apparatus capable of preventing load on synchronization processing from increasing more than necessary. The information processing apparatus updates existing setting values based on a synchronization setting value group received from a server, including setting values to be synchronized. Whether or not all the existing setting values are setting values to be synchronized is determined, and if all of the existing setting values are setting values to be synchronized, setting values corresponding to the synchronization setting value group are collectively deleted from the existing setting values, and those included in the synchronization setting value group are set in place, whereas if any of the existing setting values is a setting value not required to be replaced, the existing setting values are updated, individually for each setting value included in the group without collectively deleting the setting values corresponding to the group from the existing setting values.

BACKGROUND OF THE INVENTION

Field of the Invention

The present invention relates to a communication system, a communication method, and a storage medium, and more particularly to a communication system that synchronizes various setting values, a communication method, and a storage medium.

Description of the Related Art

There has been known a communication system that stores various setting values which are used by each of a plurality of MFPs as information processing apparatuses, in a server. The server is capable of sharing (synchronizing) some setting values with a plurality of MFPs. In the communication system, some users can change various setting values, and for example, when a setting value stored in the server is changed by a user, the changed setting value is transmitted to each MFP. Each MFP sets the received setting value i.e. the changed setting value, as a new setting value, to thereby synchronize the setting value used thereby with the setting value stored in the server (see Japanese Patent Laid-Open Publication No 2014-220579).

In the communication system, when synchronizing a plurality of setting values stored in the server with each MFP, the server transmits a synchronization setting value group formed by the plurality of setting values to each MFP. Upon receipt of the synchronization setting value group, each MFP deletes ones of various setting values set in the MFP, which correspond to the setting values included in the synchronization setting value group, and sets the setting values included in the received synchronization setting value group in place of the deleted setting values. Incidentally, various setting values set in an MFP include a setting value which is unique to the MFP, and need not be replaced (hereinafter referred to as “unique setting value”), and a setting value corresponding to the unique setting value is sometimes included in the synchronization setting value group. In this case, if the setting values corresponding to the setting values included in the synchronization setting value group are all deleted from the various setting values set in the MFP, the unique setting value is also deleted. By this deletion, the unique setting value is reset, and as a result, the unique setting value is rewritten. To cope with this, in the communication system, setting values stored in the server and ones of the plurality of setting values set in the MFP, which correspond to the setting values stored in the server, are compared, and setting values having differences are extracted. Further, in the communication system, if an extracted setting value correspond to a unique setting value, the extracted setting value is excluded from the synchronization setting value group to be transmitted to the MFP (see Japanese Patent Laid-Open Publication No. 2012-123573).

However, in the above-described communication system, although unique setting values are not deleted in synchronization processing, it is required to compare the setting values stored in the server and the plurality of setting values set in the MFP to thereby determine whether or not there is a difference between each compared setting values. Therefore, load on synchronization processing increases as the number of setting values to be compared increases.

SUMMARY OF THE INVENTION

The present invention provides a communication system that is capable of preventing load on synchronization processing from increasing more than necessary, a communication method, and a storage medium.

In a first aspect of the invention, there is provided a communication system that performs synchronization processing for receiving a synchronization setting value group including setting values to be synchronized, and updating existing setting values based on the received synchronization setting value group, comprising at least one processor and at least one memory coupled to the at least one processor which act as a determination unit configured to determine whether or not all of the existing setting values are the setting values to be synchronized, a first update unit configured to perform first update processing in which setting values included in the synchronization setting value group are collectively deleted from the existing setting values, and the setting values included in the synchronization setting value group are set in place of the deleted setting values, a second update unit configured to perform second update processing in which the existing setting values are updated, individually for each setting value included in the synchronization setting value group without collectively deleting the setting values included in the synchronization setting value group from the existing setting values, and a decision unit configured to decide execution of update processing by the first update unit in a case where all of the existing setting values are the setting values to be synchronized, and decide execution of update processing by the second update unit in a case where any of the existing setting values is a setting value which is not required to be replaced.

In a second aspect of the invention, there is provided a communication method for performing synchronization processing for receiving a synchronization setting value group including setting values to be synchronized, and updating existing setting values based on the received synchronization setting value group, comprising determining whether or not all of the existing setting values are the setting values to be synchronized, performing first update processing in which setting values included in the synchronization setting value group are collectively deleted from the existing setting values, and the setting values included in the synchronization setting value group are set in place of the deleted setting values, performing second update processing in which the existing setting values are updated, individually for each setting value included in the synchronization setting value group without collectively deleting the setting values included in the synchronization setting value group from the existing setting values, and deciding execution of the first update processing in a case where all of the existing setting values are the setting values to be synchronized, and deciding execution of the second update processing in a case where any of the existing setting values is a setting value which is not required to be replaced.

In a third aspect of the invention, there is provided a non-transitory computer-readable storage medium storing a computer-executable program for executing a communication method for performing synchronization processing for receiving a synchronization setting value group including setting values to be synchronized, and updating existing setting values based on the received synchronization setting value group, wherein the method comprises determining whether or not all of the existing setting values are the setting values to be synchronized, performing first update processing in which setting values included in the synchronization setting value group are collectively deleted from the existing setting values, and the setting values included in the synchronization setting value group are set in place of the deleted setting values, performing second update processing in which the existing setting values are updated, individually for each setting value included in the synchronization setting value group without collectively deleting the setting values included in the synchronization setting value group from the existing setting values, and deciding execution of the first update processing in a case where all of the existing setting values are the setting values to be synchronized, and deciding execution of the second update processing in a case where any of the existing setting values is a setting value which is not required to be replaced.

According to the present invention, it is possible to prevent load on synchronization processing from increasing more than necessary.

DESCRIPTION OF THE EMBODIMENTS

FIG. 1is a schematic block diagram of a communication system100including MFPs101to103as information processing apparatuses, according to an embodiment of the present invention.

Referring toFIG. 1, the communication system100includes the MFPs101to103, and a server104, and the MFPs101to103and the server104are interconnected via a network105.

The MFPs101to103are each capable of performing various kinds of processing, including print processing, scan processing, and FAX processing, and a plurality of setting values used in each of the various kinds of processing are set in the MFPs101to103. The plurality of setting values set in the MFPs101to103include setting values to be synchronized (hereinafter referred to as “synchronization target setting values”) and unique setting values unique to each of the MFPs101to103. The unique setting values are separately managed by each of the MFPs101to103. On the other hand, the synchronization target setting values are managed by the server104, and can be shared between the MFPs101to103. Further, the MFPs101to103are capable of changing the synchronization target setting values. For example, when a synchronization target setting value is changed by an operation on a console section209of the MFP101, described hereinafter with reference toFIG. 2, the MFP101notifies the server104of information on a change of the synchronization target setting value. On the other hand, when the information on the change of the synchronization target setting value is notified from the server104, the MFPs102and103which share the setting value corresponding to the changed synchronization target setting value each acquire the synchronization target setting value changed based on the information on the change, from the server104, and sets the acquired synchronization target setting value in the MFPs102and103.

The server104manages the synchronization target setting values for each of the MFPs101to103which are connected to the server104via the network105. In a case where the synchronization target setting values of e.g. the MFP101out of the MFPs101to103are not stored in the server104, the server104acquires the synchronization target setting values of the MFP101from the MFP101. The server104stores the acquired synchronization target setting values of the MFP101in association with the MFP101. Further, the server104is capable of changing the synchronization target setting values, and when a synchronization target setting value shared between the MFPs101to103is changed by the server104, the server104notifies the MFPs101to103of information on the change of the synchronization target setting value.

Next, a description will be given of the configuration of the MFPs101to103. In the present embodiment, the MFPs101to103have the same configuration, and hence the configuration of the MFPs101to103will be described using the MFP101by way of example.

FIG. 2is a schematic block diagram of the MFP101appearing inFIG. 1.

Referring toFIG. 2, the MFP101is comprised of a controller200, the console section209, a printer210, and a scanner211, and the controller200is connected to the console section209, the printer210, and the scanner211. The controller200includes a CPU201, a ROM202, a RAM203, an HDD204, a console section interface205, a printer interface206, a scanner interface207, and a network interface208. These components are interconnected via a system bus212.

The controller200performs centralized control of the overall operation of the MFP101. The CPU201performs various kinds of processing realized by a software module group300, described hereinafter with reference toFIG. 3, by executing various programs stored in the ROM202. The ROM202stores the various programs and various data used by the CPU201. The RAM203is used as a work area for the CPU201, and is also used as an area for temporarily storing e.g. intermediate data, which is generated in the various kinds of processing performed by the CPU201. The HDD204stores various data including user management data400, described hereinafter, and image data, and various programs. The console section interface205performs data communication with the console section209, the printer interface206performs data communication with the printer210, and the scanner interface207performs data communication with the scanner211. The network interface208performs data communication with apparatuses connected to the network105, e.g. the MFPs102and103, and the server104. In the present embodiment, the network interface208receives synchronization data800, described hereinafter with reference toFIG. 8, including a plurality of synchronization target setting values from the server104. The console section209is used for making settings concerning various kinds of processing performed by the MFP101, and for example, a synchronization target setting value is changed by a user's operation art the console section209. The printer210acquires print data including information on print processing from the printer interface206, and performs print processing based on the acquired print data. The scanner211reads an original placed on an original platen glass, not shown, to thereby generate image data, and sends the generated image data to the CPU201via the scanner interface207.

FIG. 3is a schematic block diagram of the software module group300of the MFP101appearing inFIG. 1.

Referring toFIG. 3, the software module group300includes a network control module301, a synchronization control module302, a setting management module303, and a user management module304. The software module group300further includes a personal data management module305and a department management module306. Various kinds of processing realized by the software module group300are performed by the CPU201that executes the various programs stored in the ROM202.

The network control module301controls data communication performed by the network interface208. The synchronization control module302acquires the synchronization data800, described hereinafter, from the server104. Further, when a synchronization target setting value out of the various setting values set in the MFP101is changed by operating the console section209, the synchronization control module302notifies the server104of the information on the change of the synchronization target setting value. The setting management module303manages the various setting values set in the MFP101, including the synchronization target setting values and the unique setting values.

The user management module304manages information of users who are allowed to use the MFP101, and for example, the user management module304manages the user management data400shown inFIG. 4including user information. The user management data400includes items of a user ID401, a password402, a reading403, and a department ID404. The user ID401is ID information with which a user allowed to use the MFP101can be identified, and the password402is a password associated with each piece of ID information set as the user ID401. The reading403is a character string which is associated with each piece of ID information set as the user ID401, and is used for displaying the user information corresponding to each piece of ID information e.g. on a display section, not shown. The department ID404is ID information with which a department as a group to which each user belongs can be identified. In the present embodiment, all setting values set as the user management data400are synchronization target setting values.

The personal data management module305manages the configuration of setting values set for each user in the MFP101, and performs association of types of setting values, on a user-by-user basis, as shown inFIG. 5. The department management module306manages actual result values obtained by various kinds of processing performed by each department, and the like, and for example, the department management module306manages printed sheet count management data600shown inFIG. 6A, including an actual result value indicating the number of sheets printed by each department. The printed sheet count management data600includes items of a department ID601, a total output count602, a total output upper limit603, a color output count604, and a color output upper limit605. The department ID601is ID information for identifying each department, and is associated with the department ID404of the user management data400. The total output count602is an actual result value indicating the number of sheets on which users belonging to each department have performed printing using the MFP101, and the total output upper limit603is an upper limit value of the number of sheets allowed to be printed, which is set on a department-by-department basis. The color output count604is an actual result value indicating the number of sheets on which users belonging to each department have performed color printing using the MFP101, and the color output upper limit605is an upper limit value of the number of sheets allowed to be color-printed, which is set on a department-by-department basis. In the present embodiment, out of the setting values set in the printed sheet count management data600, setting values which are set as the department ID601, the total output upper limit603, and the color output upper limit605, respectively, are the synchronization target setting values. On the other hand, out of the setting values set in the printed sheet count management data600, setting values which are set as the total output count602and the color output count604, respectively, are the unique setting values of the MFP101, i.e. setting values which need not be replaced in synchronization processing (hereinafter referred to as the “replacement unrequired setting value”). Therefore, the printed sheet count management data600is management data in which the synchronization target setting values and the replacement unrequired setting values are mixed.

FIG. 7is a flowchart of a synchronization process performed by the MFP101appearing inFIG. 1.

The process inFIG. 7is performed by the CPU201that executes the various programs stored in the ROM202.

In this paragraph, In this paragraph, an explanation of a communication system of a related art is described. Here, a description will be given of a case where synchronization target setting values set in the printed sheet count management data600in which the synchronization target setting values and the replacement unrequired setting values are mixed are synchronized based on the synchronization data800, described hereinafter, which is acquired from the server104. In this case, to update setting values set as the department ID601, the total output upper limit603, and the color output upper limit605, which are synchronization target setting values, assuming that the setting values are collectively deleted, setting values set as the total output count602and the color output count604, which are replacement unrequired setting values associated with the synchronization target setting values, are also deleted as shown inFIG. 6B. After that, the setting values of the department ID601, the total output upper limit603, and the color output upper limit605are updated to new setting values based on the synchronization data800, described hereinafter. However, the setting values of the total output count602and the color output count604are not included in the synchronization data800, and hence are each set to e.g. a value of “0”. That is, in spite of the fact that the setting values of the total output count602and the color output count604are replacement unrequired setting values, they are replaced by unintended setting values. To prevent this unnecessary replacement, for example, synchronization target setting values stored in the server104and corresponding existing setting values set in the MFP are compared, respectively, and setting values, if any, which each have a difference, are extracted. Further, if any of the extracted setting values is/are each associated with a replacement unrequired setting value, the extracted setting value(s) is/are excluded from the synchronization data800to be transmitted from the server104to the MFP101. However, in this method described above, although the replacement unrequired setting value(s) is/are not deleted in synchronization processing, it is necessary to compare each synchronization target setting value stored in the server104with a corresponding existing setting value set in the MFP, and determine whether or not there is a difference between the compared setting values. Therefore, as the number of synchronization target setting values to be subjected to the determination is larger, load on synchronization processing becomes larger.

To cope with this, in the present embodiment, when updating the existing setting values, whether or not to collectively delete the synchronization target setting values from the existing setting values is determined based on determination of whether all of the existing setting values are synchronization target setting values or any one of the existing setting values is a replacement unrequired setting value.

Referring toFIG. 7, first, the CPU201receives the synchronization data800shown inFIG. 8including synchronization setting value groups formed by a plurality of synchronization target setting values from the server104(step S701). The synchronization data800is described in XML, and includes the synchronization setting value groups, denoted by reference numerals801to804, respectively, which are grouped according to classification based on the types of the synchronization target setting values stored in the server104. For example, the synchronization setting value group802enclosed by type tags <departmentIDs> and </departmentIDs>, corresponding to the type of the synchronization target setting values associated with a department, includes synchronization target setting values managed by the department management module306, such as the printed sheet count management data600, shown inFIG. 6A. Then, the CPU201determines whether or not all of the synchronization target setting values set in the MFP101are stored in the server104(step S702). In the step S702, for example, if type tags corresponding to all of the synchronization target setting values set in the MFP101are included in the synchronization data800, the CPU201determines that all of the synchronization target setting values set in the MFP101are stored in the server104. On the other hand, if a type tag corresponding to one of the synchronization target setting values set in the MFP101is not included in the synchronization data800, the CPU201determines that one of the synchronization target setting values set in the MFP101is not stored in the server104.

If it is determined in the step S702that all of the synchronization target setting values set in the MFP101are stored in the server104, the CPU201identifies management data including the synchronization target setting values included in the received synchronization data800, out of the management data managed by the MFP101. Then, the CPU201determines whether or not all of the setting values included in the management data which has been thus identified (hereinafter referred to as the “identified management data”) are synchronization target setting values (step S703) (operation of a determination unit). In the present embodiment, synchronization target determination information indicating whether a setting value corresponding to each setting item is a synchronization target setting value or a replacement unrequired setting value is set for each setting item of various kinds of management data managed by the MFP101in advance. The CPU201determines whether or not all of the setting values included in the identified management data are synchronization target setting values based on the synchronization target determination information of each setting item of the identified management data.

If it is determined in the step S703that all of the setting values included in the identified management data are synchronization target setting values, the CPU201collectively deletes the setting values included in the identified management data (step S704). Then, the CPU201replaces the deleted setting values by the synchronization target setting values included in the synchronization setting value groups801to804of the received synchronization data800(step S705) (operation of a first update unit), followed by terminating the present process.

If it is determined in the step S703that any of the setting values included in the identified management data is a replacement unrequired setting value, the CPU201determines whether or not execution of processing using the replacement unrequired setting value is set (step S706). Processing using a replacement unrequired setting value is, for example, totalization processing for totalizing actual result values of the number of sheets printed by each department, using the setting values of the total output count602and the color output count604, which are replacement unrequired setting values, included in the printed sheet count management data600. In the present embodiment, execution of totalization processing can be set by a user's operation on the console section209in advance. In the step S706, if “ON” for instructing execution of totalization processing is set, the CPU201determines that execution of processing using the replacement unrequired setting value is set. On the other hand, if “OFF” for not instructing execution of totalization processing is set, the CPU201determines that execution of processing using the replacement unrequired setting value is not set.

If it is determined in the step S706that execution of processing using the replacement unrequired setting value is not set, the CPU201executes the step S704. On the other hand, if it is determined in the step S706that execution of processing using the replacement unrequired setting value is set, the CPU201does not collectively delete the setting values included in the identified management data. That is, in the present embodiment, when updating the setting values included in the identified management data, whether or not to collectively delete the synchronization target setting values included in the synchronization setting value groups801to804from the identified management data is determined based on determination of whether all of the setting values included in the identified management data are synchronization target setting values or any of the setting values included in the identified management data is a replacement unrequired setting value (operation of a decision unit). The CPU201updates the setting values included in the identified management data, individually for each synchronization target setting value included in the synchronization setting value groups801to804of the synchronization data800(step S707) (operation of a second update unit). For example, the CPU201updates only some of the synchronization target setting values of the printed sheet count management data600, based on description901enclosed by tags <departmentIDs> and </departmentIDs>, appearing inFIG. 9, which corresponds to setting values to be replaced, out of the synchronization target setting values included in the synchronization setting value group802of the synchronization data800. Specifically, in the printed sheet count management data600, only the setting value of the total output upper limit603of “ID0000001” and the setting value of the color output upper limit605are updated from the setting values appearing inFIG. 6Ato those appearing inFIG. 6D. Then, the CPU201terminates the present process.

If it is determined in the step S702that at least one of the synchronization target setting values set in the MFP101is not stored in the server104, the CPU201identifies a synchronization target setting value which is not stored in the server104. Then, the CPU201transmits the identified synchronization target setting value to the server104(step S708), followed by terminating the present process. The server104having received the synchronization target setting value stores the received synchronization target setting value as a new synchronization target setting value.

According to the above-described process inFIG. 7, when updating setting values included in the identified management data, whether or not to collectively delete the synchronization target setting values included in the synchronization setting value groups801to804from the identified management data is determined based on determination of whether all of the setting values included in the identified management data are synchronization target setting values or any of the setting values included in the identified management data is a replacement unrequired setting value. With this, it is possible to eliminate the need of comparing each synchronization target setting value included in the synchronization setting value groups801to804with each setting value included in the identified management data one by one, and determining whether or not there is a difference between the compared setting values so as to determine whether or not to delete the synchronization target setting values included in the synchronization setting value groups801to804from the setting values included in the identified management data. As a consequence, it is possible to prevent the load on synchronization processing from increasing more than necessary.

Further, in the above-described process inFIG. 7, whether or not all of the setting values included in the identified management data are synchronization target setting values is determined based on the synchronization target determination information of each setting item. This makes it possible to eliminate, when determining whether or not all of the setting values included in the identified management data are synchronization target setting values, the need of performing determination using each setting value itself, whereby it is possible to reduce the load on the determination processing.

Further, in the above-described process inFIG. 7, in a case where any of the setting values included in the identified management data is a replacement unrequired setting value, and also execution of processing using the replacement unrequited setting value is set, execution of update processing in the step S707in which the setting values included in the identified management data are not collectively deleted is determined. This makes it possible to prevent an inaccurate result of execution of processing using the replacement unrequired setting value due to replacement of the replacement unrequired setting value.

Although in the present embodiment, the description is given of the case where the synchronization target determination information is set for each setting item of the various kinds of management data, other synchronization target determination information indicative of whether or not a replacement unrequired setting value is included may be set in each kind of management data itself. In this case, the CPU201determines whether or not all of setting values included in the identified management data are synchronization target setting values based on the other synchronization target determination information. In a case where the other synchronization target determination information is used as well, it is possible to obtain the same advantageous effects as provided by the above-described present embodiment.

Further, in the present embodiment, even in a case where initialization processing for deleting setting values included in the identified management data is performed, it is unnecessary to delete replacement unrequired setting values (unique setting values) associated with the setting values included in the identified management data. A setting value-updating process, described below with reference to FIG.10, is a variation of the present embodiment adapted to the above-mentioned case.

FIG. 10is a flowchart of the setting value-updating process as a variation of part of the synchronization process inFIG. 7, which is performed when the synchronization process inFIG. 7is performed and the process proceeds to the step S704, in a case where unique management data formed only by unique setting values is stored in the HDD204of the MFP101appearing inFIG. 1in association with the setting values. As is clear from the fact that the process is started from the step S704, this variation is supplementary to an exceptional process performed in a case where setting values are collectively deleted in the process inFIG. 7, and differs from the above-described embodiment in that in a case of initialization processing, replacement unrequired setting values (unique setting values) associated with the setting values included in the identified management data are not deleted.

Referring toFIG. 10, first, the CPU201executes the step S704inFIG. 7, and then determines whether or not there is a setting value in the deleted setting values, which is associated with the unique management data formed only by unique setting values (step S1001).

If it is determined in the step S1001that there is a setting value in the deleted setting values, which is associated with the unique management data, the CPU201determines whether or not initialization processing is to be performed (step S1002). Initialization processing is processing for deleting setting values included in identified management data which is identified as management data including synchronization target setting values, and is performed e.g. when the MFP101and the server104perform first synchronization processing, or when the network105is once disconnected and then the MFP101and the server104are reconnected. Normally, when setting values included in the identified management data are deleted, the CPU201also deletes unique setting values associated with the deleted setting values from the unique management data.

If it is determined in the step S1002that initialization processing is not performed, the CPU201performs unique setting value deletion processing for deleting the unique setting values associated with the deleted setting values from the unique management data (step S1003). Then, the CPU201executes the step S705inFIG. 7, followed by terminating the present process.

If it is determined in the step S1001that there is no setting value associated with the unique management data in the deleted setting values, or if it is determined in the step S1002that initialization processing is performed, the CPU201executes the step S705inFIG. 7.

In the above-described process inFIG. 10, even when initialization processing for deleting setting values included in the identified management data is performed, replacement unrequired setting values are not deleted. This makes it possible to prevent replacement unrequired setting values from being unnecessarily deleted and replaced.

Other Embodiments

This application claims the benefit of Japanese Patent Application No. 2015-189539 filed Sep. 28, 2015, which is hereby incorporated by reference herein in its entirety.