CN105989191A - 进行数据同步的信息处理设备和数据同步方法 - Google Patents
进行数据同步的信息处理设备和数据同步方法 Download PDFInfo
- Publication number
- CN105989191A CN105989191A CN201610151465.6A CN201610151465A CN105989191A CN 105989191 A CN105989191 A CN 105989191A CN 201610151465 A CN201610151465 A CN 201610151465A CN 105989191 A CN105989191 A CN 105989191A
- Authority
- CN
- China
- Prior art keywords
- value
- time
- synchronization
- client device
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 147
- 230000010365 information processing Effects 0.000 title abstract description 3
- 230000004044 response Effects 0.000 claims abstract description 36
- 230000008569 process Effects 0.000 claims description 122
- 230000008859 change Effects 0.000 claims description 80
- 238000012545 processing Methods 0.000 abstract description 31
- 238000007726 management method Methods 0.000 description 154
- 230000001276 controlling effect Effects 0.000 description 28
- 230000001360 synchronised effect Effects 0.000 description 28
- 238000013523 data management Methods 0.000 description 26
- 230000006870 function Effects 0.000 description 26
- 230000000875 corresponding effect Effects 0.000 description 21
- 238000004891 communication Methods 0.000 description 17
- 238000013070 change management Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 238000001514 detection method Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000001419 dependent effect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000000737 periodic effect Effects 0.000 description 3
- 244000205754 Colocasia esculenta Species 0.000 description 2
- 235000006481 Colocasia esculenta Nutrition 0.000 description 2
- 230000013011 mating Effects 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 241000406668 Loxodonta cyclotis Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Hardware Redundancy (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及进行数据同步的信息处理设备和数据同步方法。服务器将在客户端设备的结构发生改变时的第一时间与客户端设备相关联地管理第一时间。服务器获得表示在与客户端设备进行设置值的前次同步处理时的第二时间的信息。在第二时间是在第一时间之后的情况下,服务器响应于从客户端接收到针对设置值的请求,向客户端设备发送在第二时间之后更新的并且类型与客户端设备的改变后的结构相对应的设置值。在第二时间是在第一时间之前的情况下,服务器响应于从客户端接收到针对设置值的请求,向客户端设备发送包括在第二时间之后没有更新的设置值的设置信息。
Description
技术领域
本发明涉及用于使数据在信息处理设备之间同步的技术。
背景技术
近年来,存在用于经由网络使数据库同步的技术。在同步时,代替使数据库中的整个数据同步,进行基于差异的同步(差异同步)。存在用于不在预定时刻而在任意所选择的时刻进行差异同步的技术(参见日本特开2002-132531)。
此外,存在通过提取在最终同步时间之后发生了改变的数据作为差异并且使所提取的数据同步来进行数据库的差异同步的技术(参见日本特开平11-272533(1999))。
在进行日本特开2002-132531中所述的技术与日本特开平11-272533(1999)中所述的技术的组合的同步处理的情况下,有时无法维持数据的一致性。具体地,在通过提取在最终同步时间之后发生了改变的数据作为差异来使数据库同步的情况下,如果在任意所选择的时刻进行针对数据库的同步请求,则有时无法维持数据的一致性。
例如,在分别保持具有相同结构的数据库的多个信息处理设备所用的数据同步系统中,各信息处理设备在某些情况下根据功能和结构等来存储数据。针对没有使特定功能或结构有效的信息处理设备,将与该特定功能或结构相关的数据从同步对象数据中排除。这是因为,如果在没有使该功能或结构有效的信息处理设备中对仅在该功能或结构有效时才有效的数据进行同步,则可能会发生故障。此后,在信息处理设备中使该功能或结构有效的情况下,将那时从同步对象中排除的数据在特定时刻添加至同步对象。在这种情况下,数据的一致性可能无法维持。
给出具体示例的说明。这里,考虑基于如下假定的情况:存在可安装在信息处理设备中的应用程序A;多个信息处理设备正在进行同步操作,其中在同步操作中,将与应用程序A相关的数据作为这些信息处理设备之间的同步对象来进行同步;将初始值C作为与应用程序A相关的数据存储在尚未安装应用程序A的信息处理设备B的数据库中;在T时刻,与应用程序A相关的数据在安装有应用程序A的信息处理设备D中改变为值E,并且这些信息处理设备进行同步操作;此后,信息处理设备在T时刻之后再次进行同步操作;并且在该操作之后,将应用程序A安装在信息处理设备B中。在这种情况下,由于信息处理设备B在该情况下的最终同步完成时间是在T时刻之后,因此与应用程序A相关的数据的同步被视为在同步操作中完成。因此,没有提取与应用程序A相关的数据作为相对于主数据库的差异,并且信息处理设备B以初始值C(实际上应当改变为值E)对应用程序A进行操作。或者作为替代,信息处理设备B可以请求主数据库将该数据更新成作为安装应用程序A的时间点时的值的值(初始值C),并且可能无法实现用户所期望的同步状态。
发明内容
本发明的信息处理设备是一种信息处理设备,包括:管理部,用于将连接至所述信息处理设备的客户端设备的结构发生改变的第一时间与所述客户端设备相关联地管理所述第一时间;获得部,用于获得表示与所述客户端设备进行设置值的前次同步处理的第二时间的信息;以及发送部,用于:在所述获得部所获得的第二时间是在所述第一时间之后的情况下,响应于从所述客户端设备接收到针对设置值的请求,向所述客户端设备发送所述第二时间之后更新的并且类型与所述客户端设备的改变后的结构相对应的设置值,以及在所述获得部所获得的第二时间是在所述第一时间之前的情况下,响应于从所述客户端设备接收到针对设置值的请求,向所述客户端设备发送包括所述第二时间之后没有更新的并且类型与所述客户端设备的改变后的结构相对应的设置值的设置信息。
根据本发明的一种信息处理设备,其被配置为用作针对服务器设备的客户端,所述信息处理设备包括:通知部,用于向所述服务器设备通知所述信息处理设备的结构发生改变的第一时间;发送部,用于向所述服务器设备发送表示与所述服务器设备进行设置值的前次同步处理的第二时间的信息;以及接收部,用于:在所述第二时间是在所述第一时间之后的情况下,从所述服务器设备接收所述第二时间之后更新的并且类型与所述信息处理设备的改变后的结构相对应的设置值,以及在所述第二时间是在所述第一时间之前的情况下,从所述服务器设备接收包括所述第二时间之后没有更新的并且类型与所述信息处理设备的改变后的结构相对应的设置值的设置信息。
根据本发明的一种信息处理设备中的数据同步方法,所述信息处理设备包括管理部,所述管理部用于将连接至所述信息处理设备的客户端设备的结构发生改变的第一时间与所述客户端设备相关联地管理所述第一时间,所述数据同步方法包括:获得步骤,用于获得表示与所述客户端设备进行设置值的前次同步处理的第二时间的信息;以及发送步骤,用于:在所述获得步骤中所获得的第二时间是在所述第一时间之后的情况下,响应于从所述客户端设备接收到针对设置值的请求,向所述客户端设备发送所述第二时间之后更新的并且类型与所述客户端设备的改变后的结构相对应的设置值;以及在所述获得步骤中所获得的第二时间是在所述第一时间之前的情况下,响应于从所述客户端设备接收到针对设置值的请求,向所述客户端设备发送包括所述第二时间之后没有更新的并且类型与所述客户端设备的改变后的结构相对应的设置值的设置信息。
根据本发明的一种信息处理设备中的数据同步方法,所述信息处理设备被配置为用作针对服务器设备的客户端,所述数据同步方法包括:通知步骤,用于向所述服务器设备通知所述信息处理设备的结构发生改变的第一时间;发送步骤,用于向所述服务器设备发送表示与所述服务器设备进行设置值的前次同步处理的第二时间的信息;以及接收步骤,用于:在所述第二时间是在所述第一时间之后的情况下,从所述服务器设备接收所述第二时间之后更新的并且类型与所述信息处理设备的改变后的结构相对应的设置值;以及在所述第二时间是在所述第一时间之前的情况下,从所述服务器设备接收包括所述第二时间之后没有更新的并且类型与所述信息处理设备的改变后的结构相对应的设置值的设置信息。
通过以下(参考附图)对典型实施例的说明,本发明的其它特征将变得明显。
附图说明
图1是示出示例中的系统的整体结构的图;
图2A和2B是示出示例中的硬件结构的图;
图3A和3B是示出示例中的软件结构的图;
图4是示出在进行差异同步的情况下的数据更新方法的流程图的图;
图5是示出在进行差异同步的情况下的数据同步方法的流程图的图;
图6是示出示例1中的设置值更新的流程图的图;
图7A和7B整个是示出示例1中的设置值同步请求的流程图的图;
图8是示出示例2中的设置值更新的流程图的图;
图9A和9B整个是示出示例2中的设置值同步请求的流程图的图;
图10是示出示例3中的设置值更新的流程图的图;
图11A和11B整个是示出示例3中的设置值同步请求的流程图的图;
图12A和12B整个是示出在进行用户管理的设置值的差异同步的情况下的数据同步方法的流程图的图;
图13是示出示例4中的设置值更新的流程图的图;以及
图14A~14C整个是示出示例4中的设置值同步请求的流程图的图。
具体实施方式
以下通过使用附图来说明本发明的实施例。首先,参考附图来说明本实施例的结构。此后,说明通过使用本实施例的结构所进行的一般差异同步处理,并且给出针对如上述的问题那样的问题的发生的补充说明。此后,说明使用本实施例的结构的示例。
图1是示出说明本实施例的整个同步系统的系统结构示例的图。设置值管理服务器110、多功能打印机120和多功能打印机121连接至网络100。这里,尽管给出针对连接了两个多功能打印机的示例的说明,但系统结构不限于此。可以连接更多的多功能打印机。此外,在下述的结构中,尽管通过使用特别是多功能打印机120作为示例来给出说明,但多功能打印机121也具有与多功能打印机120相同的结构。注意,尽管在给出多功能打印机作为信息处理设备的示例的情况下说明本实施例,但作为代替,设备可以是诸如计算机和移动终端等的其它的一般的信息处理设备。各多功能打印机使该多功能打印机中所存储的数据与设置值管理服务器的数据同步。结果,多功能打印机中唯一使用的数据在该多功能打印机和设置值管理服务器之间是同步的。此外,多功能打印机之间共用地使用的数据在多功能打印机之间是经由设置值管理服务器顺次同步的。后面将说明同步处理的细节。
图2A是示出本实施例中的设置值管理服务器110的结构的框图,并且图2B是示出多功能打印机120的结构的框图。
图2A是示出设置值管理服务器110的结构的图。设置值管理服务器110包括控制器部200、操作部201和显示部202。控制器部200具有操作部I/F 203、显示部I/F 204、中央处理单元(CPU)205、随机存取存储器(RAM)206和硬盘驱动器(HDD)207、只读存储器(ROM)208、网络I/F 209和系统总线210。
CPU 205通过使用ROM 208中所存储的引导程序来启动操作系统(OS)。CPU 205在启动的OS上执行HDD 107中所存储的应用程序,并且通过使用该应用程序来执行各种处理。RAM 206用作CPU 205的工作区域。HDD 207存储应用程序和多功能打印机120的设置值数据。后面说明设置值数据的管理方法的细节。
除ROM 208和RAM 206以外,操作部I/F 203、显示部I/F 204和网络I/F209也经由系统总线210连接至CPU 205。操作部I/F 203是与包括鼠标和键盘等的操作部201的接口,并且向CPU 205通知用户使用操作部201输入的信息。显示部I/F 204向包括显示器等的显示部202输出要在显示部202上显示的图像数据。此外,网络I/F 209连接至网络100,并且经由网络100与网络100上的设备进行信息交换。
图2B是示出多功能打印机120的结构的图。多功能打印机120包括控制器部220、操作部221、扫描部231和打印机232。操作部221、作为图像输入装置的扫描器231和作为图像输出装置的打印机232连接至控制器部220。连接至控制器部220的图像输入和输出装置不限于扫描器231和打印机232,并且还可以连接诸如FAX部(未示出)等的单元,其中该FAX部使得能够进行通过使用电话线将多功能打印机120所生成的图像发送至外部的FAX传输。
控制器部220具有装置I/F 222、操作部I/F 223、CPU 224、RAM 225、图像处理部226、HDD 227、ROM 228和网络I/F 229。CPU 224通过使用ROM 208中所存储的引导程序来启动OS。CPU 224在OS上执行HDD 227中所存储的应用程序,以执行各种处理。RAM 225用作CPU 224的工作区域。此外,除该工作区域以外,RAM 225还提供用于临时存储图像数据的图像存储器区域。HDD 227存储应用程序、图像数据和各种设置值。后面说明多功能打印机120中的设置值的管理方法。
除ROM 228和RAM 225以外,操作部I/F 223、装置I/F 222、网络I/F 229和图像处理部226也经由系统总线230连接至CPU 224。操作部I/F 223是与具有触摸面板的操作部221的接口,并且向操作部221输出要在操作部221上显示的图像数据。此外,操作部I/F 223向CPU 224发送用户使用操作部221输入的信息。扫描器231和打印机232连接至装置I/F 222,并且装置I/F 222进行同步图像数据和非同步图像数据之间的转换。网络I/F 229连接至网络100并且经由网络100与网络100上的设备交换信息。
图像处理部226进行诸如针对从扫描器231输入的图像的处理、针对要输出至打印机232的图像的处理、图像旋转、图像压缩、分辨率转换、颜色空间转换和色调转换等的处理。
图3A和3B是分别在上述的图2A的设置值管理服务器110和图2B的多功能打印机120内部运行的设置值同步系统的软件结构图。
首先,说明在多功能打印机120中运行的设置值管理客户端应用程序。注意,在以下说明中,应用程序可以简称为app。此外,多功能打印机120用作客户端。图3B是示出在多功能打印机120中运行的设置值管理客户端app的结构的图。图3B的设置值管理客户端app 320存储在多功能打印机120的ROM 228和HDD 227等中,并且由CPU 224来执行。
设置值管理客户端app 320具有数据处理部321、设置值数据管理部322、应用程序控制部323、设置值管理数据库324和通信处理部325。
可以给出如表1和表2所示的设置值作为设置值管理数据库324中所存储的设置值数据的示例。
关键字标识符 | UI显示名称 | 设置值 | 初始值 |
settings.device.sirial | 序列ID | 1234567 | “” |
settings.device.name | 装置名称 | iR-ADV C5255 | “” |
settings.device.frmversion | 固件版本 | Ver 00.01 | Ver 00.00 |
settings.devic.network.ipaddress | IP地址 | 192.168.111.222 | 255.255.255.255 |
settings.device.phonenumber | 电话号码 | 03-0000-1111 | 00-0000-0000 |
settings.fax.phonenumber | FAX电话号码 | 00-0000-0000 | 00-0000-0000 |
settings.license.ipfax | IP FAX许可证 | OFF | OFF |
settings.option.finisherX | 盒进给器500 | ON | OFF |
settings.option.faxunit | FAX部 | OFF | OFF |
... |
表1多功能打印机的DB中所存储的装置设置值
地址簿ID | 地址类型 | 地址 | 显示名称 |
1 | aaa@xxx.co.jp | 田中太郎 | |
... |
表2多功能打印机的DB中所存储的地址簿数据的设置
多功能打印机120将如表1中的装置设置值那样的装置设置值存储在设置值管理数据库324中。在设置值管理数据库324中,与关键字标识符相关联地存储有UI显示名称、设置值和初始值,其中可以利用关键字标识符来唯一指定设置值。
例如,关键字标识符{settings.devic.network.ipaddress}所指定的设置值是用于管理多功能打印机120的IP地址的设置值,并且在针对日本的产品中,该设置值的UI显示名称是{IP地址}。此外,该值当前被设置为{192.169.111.222},并且该值的初始值是{255.255.255.255}。
多功能打印机120还具有诸如通过E-mail将从扫描器231输入的图像数据经由网络发送至外部等的功能,并且多功能打印机120中存在用于存储并管理E-mail地址的地址簿数据。地址簿数据作为一种设置值同样存储在多功能打印机120的设置值管理数据库324中。在为了便于理解而切出了地址簿功能中所管理的数据的表2中,与地址簿功能中所唯一管理的地址簿ID相关联地存储了地址类型、地址和显示名称。
例如,在与地址簿ID{1}有关的信息中,存储有用于向地址{aaa@xxx.co.jp}发送E-mail的信息,并且在操作部221上显示{田中太郎}。
此外,如表3所示的最终同步完成时间那样的最终同步完成时间存储在设置值管理数据库324中。
最终同步完成时间 |
2015/2/1 13:00 |
表3
表3是在多功能打印机120与设置值管理服务器110进行设置值数据的同步的情况下所使用的信息。在后面所述的设置值数据的同步方法中说明细节。
接着,说明设置值管理服务器110的设置值管理服务器app 310的结构。图3A的设置值管理服务器app 310存储在设置值管理服务器110的ROM 208和HDD 207等中,并且图3A是CPU 205所执行的app的结构图。
设置值管理服务器app 310具有数据处理部311、设置值数据管理部312、应用程序控制部313、设置值管理数据库314、通信处理部315和应答数据管理部316。
例如,表4~表8的数据存储在设置值管理数据库314中。
装置序列号 | 装置代码 | 版本 |
1234567 | iR-ADV C5255 | Ver 00.01 |
3124567 | iR-ADV C5240 | Ver 00.02 |
… |
表4设置值管理服务器的DB中所存储的设置值
在表4中,设置值管理服务器app 310通过使用作为可搜索的唯一关键字的序列号来管理版本和装置代码,以使得可以唯一识别经由网络100进行设置值的同步处理的客户端。表4所示的数据存储在设置值管理服务器app 310的设置值管理数据库314中。以使得可以唯一识别出产品的方式来设置序列号,并且通过使用装置代码来对产品进行分类。此外,版本是与序列号相关联的各多功能打印机的固件版本。
表5设置值管理服务器的DB中所存储的多功能打印机的所有设置值
此外,如表5所示,设置值管理服务器的设置值管理数据库324管理所连接的多功能打印机的所有设置值的数据。设置值管理服务器app 310在如表5所示使设置值数据与多功能打印机的序列号关联的情况下对多功能打印机120经由网络100所通知的表1的设置值数据进行管理。在设置值管理服务器app 310从多功能打印机120接收到更新或新登记的设置值数据的通知的情况下,设置值管理服务器app 310通过如表5所示使设置值被存储在服务器中的时间与作为服务器最终更新时间的设置值相关联来管理各设置值。
表6~8也示出设置值管理服务器110的设置值管理数据库314中所存储的设置值。在后面所述的设置值数据的同步方法中详细说明表6~8。
装置序列号 | 有效的许可证/选项 |
1234567 | settings.option.finisherX |
3124567 | settings.option.faxunit |
… |
表6设置值管理服务器的DB中所存储的装置的结构信息的设置值
表7设置值管理服务器的DB中所存储的地址簿信息的设置值
地址类型 | 同步条件设置值 | 状态 |
FAX | setting.option.faxunit | ON |
… |
表8设置值管理服务器的DB中所存储的同步条件的设置值
接着,通过使用图4和5来说明上述的结构中所进行的正常同步处理。图4和5是在图3A的设置值管理服务器app 310和图3B的设置值管理客户端app320实际进行设置值数据的同步的情况下的流程图。这里,描述多功能打印机120和设置值管理服务器110之间的处理作为示例。注意,在任何多功能打印机和设置值管理服务器110之间进行相同的处理。同样参考表1~8说明设置值数据的同步处理的实际方法。
给出多功能打印机120的序列号是{1234567}并且将各多功能打印机中所登记的地址簿数据作为共用设置值来处理的具体示例的说明。共用设置值是在同步系统中的设备(包括服务器和客户端)之间共用的设置值。换句话说,给出将地址簿数据作为设备之间共用的数据来处理的示例的说明。例如,一旦在多功能打印机120中更新了与某人有关的地址簿数据,则作为结果,同步并更新其它多功能打印机121的地址簿数据。以下说明具体的处理。
首先,说明同步系统中针对前提条件的处理。在设置值管理客户端app320经由网络100第一次连接至设置值管理服务器app 310的情况下,设置值管理客户端app 320向设置值管理服务器app 310发送设置值管理数据库324的所有数据。在图4中,假定设置值管理客户端app 320已经连接至设置值管理服务器app 310,并且设置值管理数据库324的所有数据已经被发送至设置值管理服务器app 310。
假定用户在上述的处理之后改变多功能打印机120的设置值。在步骤S411中,设置值管理客户端app的设置值数据管理部322经由数据处理部321检测设置值的变化。在检测到设置值的变化之后,在步骤S412中,应用程序控制部323请求通信处理部325进行用于通知该设置值变化的处理,并且通信处理部325向设置值管理客户端app 310通知该设置值变化。
在步骤S421中,设置值管理服务器app 310的通信处理部315经由网络100从设置值管理客户端app 320接收设置值变化的通知。
在步骤S422中,应用程序控制部313更新服务器所管理的且与所通知的设置值相对应的设置值。首先,通信处理部315向应用程序控制部313通知所接收到的设置值。应用程序控制部313经由设置值数据管理部312和数据处理部311对设置值管理数据库314的设置值进行更新。接着,在步骤S423中,设置值数据管理部312请求数据处理部311对进行了更新的设置值的服务器最终更新时间进行更新,并且执行更新。在步骤S423中,在进行了更新的设置值是共同设置值的情况下,对所连接的所有的多功能打印机中所存储的与进行了更新的设置值相关联的共用设置值及其服务器最终更新时间一起进行更新。
该操作是通过给出具体示例来说明的。例如,假定设置值存储在如表7那样的设置值管理服务器app的设置值管理数据库314中。在表7中,与各装置序列号相关联地存储了共用设置值。在步骤S421中通知了更新的设置值是地址簿ID{03}的设置值并且更新通知是在2015/2/1 13:00时作出的情况下,对所有多功能打印机中的地址簿ID{03}的设置值及其服务器最终更新时间进行更新。表7示出已经更新过的设置值。
在上述的更新处理完成之后,在步骤S424中,应用程序控制部313请求通信处理部315发送表示更新处理的完成的应答。通信处理部315经由网络100向设置值管理客户端app 320发送更新处理的完成作为应答。
在步骤S413中,设置值管理客户端app 320的通信处理部325向应用程序控制部323通知更新处理完成的应答的接收。然后,设置值的更新处理完成。
在本实施例中,如上所述,由于设置值在多个多功能打印机(客户端装置)之间是同步的,因此设置值管理客户端app定期进行同步处理。图5是示出定期进行的同步处理的流程的流程图。
在步骤S511中,设置值管理客户端app的应用程序控制部323检测同步请求的时刻。在步骤S511中,应用程序控制部323在定期同步处理时刻到来时检测同步请求的时刻。在定期同步请求时刻到来时,在步骤S512中,应用程序控制部323判断是否如表3中那样存在所存储的前次同步时间(最终同步完成时间)。前次同步时间是进行设置值的前次同步的时间。
如果存在前次同步时间,则流程进入步骤S513,并且应用程序控制部323请求通信处理部325发送指定了同步时间的设置值同步请求。通信处理部325经由网络100向设置值管理服务器app 310通知指定了同步时间的设置值同步请求。
另一方面,如果不存在前次同步时间,则流程进入步骤S514,并且应用程序控制部323请求通信处理部325发送没有指定同步时间的设置值同步请求。通信处理部325向设置值管理服务器app 310通知没有指定同步时间的设置值同步请求。
在步骤S521中,设置值管理服务器app 310的通信处理部315接收同步请求并且向应用程序控制部313通知该请求。在步骤S522中,应用程序控制部313判断所通知的同步请求中是否存在对时间的指定。
如果不存在对时间的指定,则流程进入步骤S523。应用程序控制部313请求设置值数据管理部312获得设置值管理数据库314中所存储的与作为请求源的装置相关的所有设置值。然后,应用程序控制部313经由数据处理部311获得设置值数据。在本实施例中,与作为请求源的装置相关的所有设置值的设置值数据是包括以下内容的设置信息:(i)类型与客户端装置的改变后的结构相对应的并且在结构改变之后没有更新的设置值;以及(ii)类型与客户端装置的改变后的结构相对应的并且在结构改变之后进行了更新的设置值。
另一方面,如果指定了同步时间,则流程进入步骤S524。应用程序控制部313请求设置值数据管理部312从设置值管理数据库314中所存储的与作为请求源的装置相关的设置值中获得相关联的服务器最终更新时间在指定时间之后的设置值。然后,应用程序控制部313经由数据处理部311获得设置值数据。
接着,在步骤S525中,应用程序控制部313向设置值数据管理部312发送请求,并且经由数据处理部311从设置值管理数据库314获得作出了同步请求的多功能打印机的结构信息。如表6中那样对设置值管理数据库314中所存储的所连接的客户端各自的结构信息进行存储,并且与装置序列号相对应地管理功能的有效状态。例如,根据表6可以确定:对于装置序列号{3124567},连接了FAX部,但对于装置序列号{1234567},没有连接FAX部。
在步骤S526中,应用程序控制部313请求应答数据管理部316根据步骤S522或S523中所获得的设置值数据、基于客户端的结构信息来创建应答数据。应答数据管理部316创建要发送至作出了同步请求的多功能打印机120的应答数据。此时,应答数据管理部316通过经由数据处理部311获得设置值管理数据库314中所存储的与表8中的同步条件有关的信息来创建应答数据。
例如,假定步骤S522中所指定的时间是2015/2/1 12:59。换句话说,假定设置值管理服务器app接收到指定了同步时间的设置值同步请求。步骤S522中所指定的时间是多功能打印机120所指定的前次同步时间。具体地,如步骤S524所述,在前次同步时间之后更新的数据是更新对象的候选。在这种情况下,表7的地址簿信息的设置值中作为更新对象的候选而获得的数据是地址簿ID{2}和{3}的数据。应答数据管理部316检查表8中的同步条件的设置值。从表8的信息中发现,在{setting.option.faxunit}的状态为ON的情况下,地址簿信息中地址类型为FAX的设置值被设置为同步对象。应答数据管理部316基于表8的信息从更新对象的候选中确定出要作为同步对象的设置值。参考表6中与所管理的装置有关的结构信息,发现没有FAX部连接至装置序列号为{1234567}的多功能打印机120。因此,应答数据管理部316创建针对装置序列号{1234567}的同步应答数据以使得应答数据中不包括地址类型为FAX的地址簿ID{3}并且仅发送地址簿ID{2}作为应答。如上所述,应答数据管理部316根据各多功能打印机的结构和状态通过从作为更新对象候选的设置值中提取要作为同步对象的设置值来创建应答数据。换句话说,应答数据管理部316根据各多功能打印机的结构和状态来创建应答数据以使得应答数据中不包括不是同步对象的设置值。如上所述,进行操作以使得在装置的某功能或结构无效的情况下,即使在前次同步时间之后更新了与该功能或结构相关的数据也不将该数据设置为同步对象数据。这样的原因例如是,在一些情况下,多功能打印机通过参考与功能X相关的设置值的初始值来判断多功能打印机的功能X的无效状态,并且如果在功能X的无效状态下更新了该初始值则有时会发生故障。
接着,返回针对流程的说明,在步骤S527中,应用程序控制部313请求通信处理部315发送应答数据管理部316所创建的应答数据。通信处理部315将该应答数据经由网络100发送至设置值管理客户端app。
在步骤S515中,设置值管理客户端app 320的通信处理部325接收应答数据的通知。通信处理部325向应用程序控制部323通知应答数据的接收,并且应用程序控制部323更新设置值管理数据库324的设置值。
最后,在步骤S516中,应用程序控制部323更新如表3所示那样的最终同步完成时间,并且参考下次同步请求时的该值。
注意,在图5的说明中不存在前次同步时间的情况主要是例如设置值管理客户端app 320第一次向设置值管理服务器app 310发送同步请求的情况。
以上给出了在设置值同步系统中进行正常同步处理的模式的说明。接着,给出在图4和5中的上述的设置值更新和同步处理中有时没有成功进行同步的情况的说明。具体地,给出在服务器所管理的设置值和客户端所管理的设置值之间发生不匹配的情况的说明。
例如,假定在多功能打印机120中多次进行了图5的处理并且在步骤S516中存储值{2015/2/1 15:00}作为前次同步时间。然后,假定FAX部安装在装置序列号为{1234567}的多功能打印机120中并且将{setting.option.faxunit}的状态设置成{ON}。在安装FAX部之后的同步请求时刻多功能打印机120的设置值管理客户端app 320进行同步请求的情况下,在图5的处理流程中没有将地址簿ID是{3}的设置值数据设置为同步对象。这是由于地址簿ID{3}的服务器最终更新时间是在前次同步时间之前,并且设置值管理服务器app 310由此判断为地址簿ID{3}已经进行了同步。作为结果,没有获得地址簿ID{3}的设置值作为步骤S524中的更新对象的候选,并且由此在应答数据中不包括该设置值。
在以下示例1~3中,说明用于解决这种问题的各种示例。
示例1
通过使用图6、7A和7B来说明示例1的处理。关于数据结构,在设置值管理数据库314中保持如表9所示的结构。在表9中,将结构改变管理标志的项添加至设置值管理服务器app 310中所存储的表4的数据项。
装置序列号 | 装置代码 | 版本 | 结构改变管理标志 |
1234567 | iR-ADV C5255 | Ver 00.01 | OFF |
3124567 | iR-ADV C5240 | Ver 00.02 | OFF |
… |
表9设置值管理服务器的DB中所存储的设置值
接着,专注于相对于图4的区别来说明图6的流程图的处理。利用与图4相同的附图标记来表示作为与图4的处理相同的处理的流程图的步骤,并且这里省略详细说明。
在图6中,如在图4中那样,进行了设置值管理客户端app 320检测设置值的变化并且向设置值管理服务器app 310通知该变化的处理。在步骤S601中,设置值管理服务器app 310判断步骤S422中更新的设置值是否是与其它设置值的同步条件相关的设置值。如果设置值管理服务器app 310判断为设置值是与其它设置值的同步条件相关的设置值,则流程进入步骤S602。在步骤S602中,设置值管理服务器app的设置值数据管理部312使表9中所管理的与作出了更新请求的客户端(装置序列号)相关联的结构改变管理标志改变为ON。然后,流程进入步骤S424。
例如,设置值管理服务器app 310进行如表8中那样管理同步条件的设置值数据管理。在步骤S422中更新的设置值涉及如表8所示那样的同步条件设置值的改变的情况下,可以判断为该设置值是与作为表8的示例中的其它设置值的“地址类型:FAX”的同步条件相关的设置值。例如,在从装置序列号{1234567}接收到的设置值的更新通知是用于将{setting.option.faxunit}设置为{ON}的通知的情况下,将表9中的装置序列号{1234567}的结构改变管理标志改变为ON。
接着,专注于相对于图5的差异来说明图7A和7B的流程图的处理。在图7A和7B中,如在图5中那样,进行了设置值管理客户端app 320发送同步请求并且设置值管理服务器app 310响应于该同步请求发送应答数据的处理。利用与图5相同的附图标记来表示作为与图5的处理相同的处理的流程图的步骤,并且这里省略详细说明。
设置值管理客户端app 320定期发送同步请求。在接收到同步请求时,在步骤S701中设置值管理服务器app 310参考表9中所存储的设置值数据并且判断作出了同步请求的装置的结构改变管理标志是否为ON。如果作出了同步请求的装置的结构改变管理标志为ON,则流程进入步骤S702,并且设置值数据管理部312将与作为通知源的设置值管理客户端app 320相对应的装置的结构改变管理标志改变为OFF。然后,流程进入步骤S523,并且应用程序控制部313如图5所示那样获得与作出了同步请求的装置相关的所有设置值。此后,如图5中那样,设置值管理服务器app 310通过参考作为同步请求源的客户端的结构信息来生成应答数据。
如上所述,在进行差异同步的结构中、影响其它设置值的同步条件的设置值发生了变化的情况下,对所有设置值进行同步。这可以防止设置值管理服务器app 310中所存储的数据与设置值管理客户端app 320中所存储的数据之间的不匹配的发生。此外,由于以如在设置值管理客户端app 320第一次向设置值管理服务器app 320发送同步请求的情况相同的方式进行同步处理,因此可以进行与服务器所管理的数据的完整的数据同步。另外,可以在不考虑数据之间的关系的情况下在设置值管理服务器app 310中创建应答数据。
示例2
接着,说明示例2。在示例1中,给出了以下示例的说明:在更新了多功能打印机120的装置结构信息之后多功能打印机120发送同步请求的情况下,设置值管理服务器app 310利用与被设置为同步对象的该装置(多功能打印机120)相关的所有数据来创建应答数据。换句话说,给出了以下示例的说明:设置值管理服务器110确定进行了影响其它设置值的同步条件的设置值的改变的装置,然后在该装置发送了同步请求的情况下将所有数据设置为同步对象。
另一方面,在示例2中,给出以下示例的说明:通过在不改变设置值管理服务器110中的处理的情况下改变作为客户端的多功能打印机120中的处理来防止同步数据的不匹配。
专注于相对于图4的差异来说明图8的流程图的处理。利用与图4相同的附图标记来表示作为与图4的处理相同的处理的流程图的步骤。
在步骤S411中,设置值管理客户端app 320检测设置值的变化,并且在步骤S412中向设置值管理服务器app 310通知更新之前进行步骤S801的处理。在步骤S801中,设置值数据管理部322判断步骤S411中改变的设置值是否是与结构信息相关的设置值。然后,如果发生了改变的设置值与结构信息相关,则流程进入步骤S802,并且设置值数据管理部322附加地存储表示该变化的文件。
对于发生了改变的设置值是否是与结构信息相关的设置值的判断,这例如可以通过设置值数据管理部322基于表1中的装置设置值的设置值名称进行判断来进行。例如,FAX部的关键字标识符是{setting.option.faxunit}。如上所述,设置值数据管理部322可以使用可搜索的关键字标识符,其中在{setting.option.*}发生了变化的情况下,利用该可搜索的关键字标识符,可以将该变化识别为与结构信息相关的设置值的变化。
可替代地,设置值管理客户端app 320可以将如设置值管理服务器app310中所存储的由设置值管理服务器app所管理的与表8相对应的设置值数据那样的设置值数据存储在设置值管理数据库324中。作为另一替代例,可以附加地将关键字标识符与结构管理数据相对应的表存储在设置值管理数据库324中。
具体地,在{setting.option.faxunit}设置为{ON}的情况下,设置值数据管理部322请求应用程序控制部323进行处理。应用程序控制部323将表示变化的文件经由系统总线230存储在外部存储部(HDD 207或RAM 206)等中。
接着,专注于相对于图5的差异来说明图9A和9B的流程图的处理。利用与图5相同的附图标记来表示作为与图5的处理相同的处理的流程图的步骤。
在步骤S511中检测到定期同步时刻到来的情况下,流程进入步骤S901,并且设置值管理客户端app的应用程序控制部323判断是否存在表示结构变化的文件。例如,应用程序控制部323判断是否存在经由系统总线230存储在外部存储部中的表示结构变化的文件。
如果存在表示结构变化的文件,则流程进入步骤S514,并且应用程序控制部323发送定期进行的同步请求中所通知的“没有指定前次同步时间的同步请求”。换句话说,应用程序控制部323发送与步骤S512中应用程序控制部323判断为不存在前次同步时间的情况相同的同步请求(发送回所有设置值作为应答的请求)。由此,设置值管理服务器app 310在接收到同步请求之后基于客户端的结构信息而发送回所有设置值的应答(参见步骤S523和S525)。
此后,设置值管理客户端app 320从设置值管理服务器app 310接收应答数据,进行数据的更新(S515)和前次同步时间的更新(S516),然后进行步骤S902的处理。在步骤S902中,应用程序控制部323在同步请求流程中判断是否存在表示结构变化的文件。在存在表示结构变化的文件的情况下,在步骤S903中应用程序控制部323删除表示结构变化的文件。
在本示例中,进行经由网络100的数据交换。因此,有时由于一些原因而接收到错误应答(未示出)。因而,在相同的同步请求的流程中,检查表示结构变化的文件的存在并删除该文件。
如上所述,在示例2中,通过使设置值管理客户端app 320检测客户端的结构变化关且发送所有数据的同步请求,可以在不改变设置值管理服务器的结构的情况下进行维持与设置值管理服务器app的一致性的同步。
示例3
接着,说明示例3。在示例1中,给出了以下示例的说明:设置值管理服务器确定结构变化的发生并且进行与结构发生了改变的装置相关的所有数据的同步。在示例3中,给出以下示例的说明:在设置值管理服务器app 310检测到结构信息的变化的情况下,代替进行与装置相关的所有数据的同步,设置值管理服务器app 310预先将设置值确定为同步对象。
以下专注于相对于示例1的差异来说明示例3。
在示例3中,设置值存储在设置值管理服务器app的设置值管理数据库314中,并且如表10所示,将强制同步标志的项添加至表7的设置值数据。
表10设置值管理服务器的DB中所存储的地址簿信息的设置值
专注于相对于图4和6的差异来说明图10的流程图的处理。利用与图4和6相同的附图标记来表示与图4和6的处理相同的流程图的步骤。
在设置值管理服务器app 310的处理的步骤S601中判断为进行了更新的设置值是与其它设置值的同步条件相关的设置值的情况下,设置值数据管理部312使流程进入步骤S1001。在步骤S1001中,设置值数据管理部312将各相关设置值的强制同步标志设置为{ON}。
设置值管理服务器app 310例如进行用于管理如图8中那样的同步条件的设置值数据管理。在从装置序列号{1234567}接收到的设置值的更新通知是将{setting.option.faxunit}设置为{ON}的通知的情况下,将表10中地址类型为{FAX}的设置值数据的强制同步标志设置为{ON}。
接着,专注于与图5的差异来说明图11A和11B的流程图的处理。利用与图5相同的附图标记来说明与图5的处理相同的流程图的步骤。
在作为设置值管理服务器app的处理的步骤S524中进行时间比较的结果而获得了设置值之后,流程进入步骤S1101。在步骤S1101中,除步骤S524中获得的设置值以外,设置值数据管理部312还获得强制同步标志为ON的设置值。然后,在步骤S1102中,设置值数据管理部312在步骤S1101中获得了设置值之后将所获得的设置值的强制同步标志设置为{OFF}。此后,如在图5中那样,设置值管理服务器app 310基于作为同步请求源的客户端的结构信息而发送设置值数据作为应答。
因而,在与装置的结构信息相关的设置值发生了改变的情况下,代替进行所有数据的同步,可以在考虑与要受该变化影响的设置值的对应关系的情况下进行同步。
变形例
在示例1~3中,给出以下示例的说明:对各客户端而言存在实际数据,即使该数据如表7所示是共用设置值数据。然而,本发明还可以适用于将共用设置值数据作为一个实际的共用设置值数据来进行管理的情况。此外,上述的示例中所述的标志可以是时间信息。例如,作为用于在将共用设置值作为一个实际数据进行管理的模式下针对多个客户端明显地表明同步的完成的方法,可以在设置值管理服务器app中对响应于同步请求而将共用设置值作为应答发送至各客户端的时间进行管理。换句话说,除作为来自客户端的设置值的更新时间的服务器最终更新时间以外,还可以通过与作为对来自客户端的同步请求的应答而发送设置值的服务器应答时间相关联,来对共用设置值进行管理。例如通过进一步与如表4所示的针对各客户端的设置值相关联,来管理服务器应答时间。换句话说,设置值管理服务器app针对各客户端来管理针对同步请求的应答时间(服务器应答时间)。在设置值管理服务器从指定了服务器应答时间之前的时间的客户端接收到同步请求的情况下,客户端的结构可能发生了改变。有鉴于此,在接收到这种同步请求的情况下,设置值管理服务器可以与服务器最终更新时间无关地进行用于发送所有设置值作为应答或者发送与结构变化相关的设置值作为应答的处理。
示例4
在示例1~3中,给出以下处理的示例的说明:设置值管理服务器应用程序进行针对各装置所管理的设置值的同步。然而,作为设置值管理服务器app所进行的用于管理设置值的方法,存在用于针对各用户管理设置值的方法。例如,在作为客户端并且进行登录管理的多功能打印机中,存在针对各用户管理特定处理的初始值的情况。在示例4中,给出以下示例的说明:对这种针对各用户的设置值进行设置值管理服务器和各客户端之间的同步处理。
如表11所示,在设置值管理服务器应用程序的设置值管理数据库314中对用户信息进行管理,并且如表12所示,在设置值管理客户端应用程序中的设置值管理数据库324中对用户信息进行管理。
用户ID | 用户名 |
1 | Administrator |
2 | userA |
… |
表11设置值管理服务器的DB中所存储的用户信息
用户ID | 用户名 | 最终同步时间 |
1 | Administrator | 2015/2/1 13:01 |
2 | userA | 2015/2/1 15:00 |
… |
表12设置值管理客户端的DB中所存储的用户信息
在示例1~3中,给出了以下说明:各设置值管理客户端应用程序将各客户端进行了最后同步处理的最终同步时间作为由各设置值管理客户端应用程序所管理的最终同步时间进行管理。在本示例中,各设置值管理客户端应用程序如表12所示对各用户的最终同步时间进行管理以适应各用户的设置值。注意,针对各用户的最终同步时间是各客户端中的最终同步时间。换句话说,可以针对其它客户端中的同一用户管理不同的同步时间。
如表13所示,在设置值管理服务器应用程序的设置值管理数据库314中存在对各用户的设置值进行管理的表。
表13设置值管理服务器的DB中所存储的针对用户的由各用户所设置的设置值
此外,表14示出本示例中的装置结构信息的示例。示例1中所述的表6示出表示各装置的自动整理器和FAX部是否有效的示例。本示例中的表14示出表示地址簿、复印功能和扫描-发送(scan-to-send)功能等是否有效的示例。
装置序列号 | 有效许可证/选项 |
1234567 | license.application.AddressBook |
1234567 | license.application.Copy |
3124567 | license.application.AddressBook |
3124567 | license.application.Copy |
3124567 | license.application.ScanToSend |
… |
表14设置值管理服务器的DB中所存储的装置的结构信息的设置值
以下给出在如表14中那样登记装置结构信息的情况下所进行的同步处理的说明。如上所述,表11是用于管理用户的设置值信息并且被存储在设置值管理服务器应用程序的设置值管理数据库314中。此外,表13管理与表11相对应的用户所设置的个人设置。
例如,为了检查用户名“userA”的应用程序“扫描-发送”在启动时的默认设置值,首先在表11中检查与用户名“userA”相对应的用户ID。然后,在表13中检查与所检查的用户ID相对应的相关数据标识符“license.application.ScanToSend”。具体地,由于与“userA”相对应的用户ID是“2”,因此在表13中检查与用户ID“2”相对应的相关数据标识符“license.application.ScanToSend”。将“userA”的应用程序“扫描-发送”在启动时的默认设置值存储在表13中。根据表13,在“userA”启动应用程序“扫描-发送”的情况下,设置值被设置成使得用于发送扫描图像的文件格式为PDF格式。此外,设置用于在启动时将目的地的CC.设置为aaa@xxx.co.jp的设置值。根据表14的有效许可证/选项发现,“扫描-发送”功能有效的装置是“license.application.ScanToSend”有效的装置“3124567”。
在如表13所示的针对各用户所管理的设置值经由服务器在客户端之间进行同步的情况下,用户不需要针对各客户端新进行设置并且由此提高了可用性。然而,存在如表14所示的装置结构信息发生了改变的情况,例如,在某客户端X中应用程序“扫描-发送”从无效(未安装)状态改变为有效状态的情况。在这种情况下,如果进行针对最终更新时间之后的同步差异的差异同步处理,则有时可能无法如示例1中那样适当地同步设置值。在本示例中,给出同样针对各用户所管理的设置值进行适当的同步处理的模式的说明。
如针对表6所给出的说明那样,在图6和8的流程所示的处理中更新表14的结构信息。具体地,在表14的装置结构信息(例如,表示应用程序“扫描-发送”是否有效的设置值)发生了改变的情况下,设置值管理客户端应用程序向设置值管理服务器应用程序通知该设置值的变化(S412)。此外,更新对象不限于装置结构信息。在登录至某客户端的用户改变了如表13所示那样的针对用户的设置值的情况下,设置值管理客户端应用程序向设置值管理服务器应用程序通知该设置值的变化(S412)。
此外,关于针对各用户的设置值的同步处理,设置值管理服务器应用程序具有在用户登录至某装置的情况下确定登录装置(客户端)中要作为同步对象的设置值的功能(S525)。例如,在用户登录至的装置中应用程序“扫描-发送”无效的情况下,即使在与应用程序“扫描-发送”相关的设置值(启动时的初始值)在其它装置中发生了改变的情况下,也不将这些设置值确定为同步对象。
在设置值管理应用程序中,与表13中除服务器最终更新时间以外的项相对应地,如表15中那样对设置值进行管理。
表15设置值管理客户端的DB中所存储的针对用户的由各用户设置的设置值
针对各用户所管理的设置值的同步请求时刻是用户登录至要使用的装置的时刻。例如,在用户登录至装置X的情况下,装置X用作用以向设置值管理服务器应用程序通知同步请求的客户端。
通过使用图12A和12B说明针对各用户所管理的设置值的同步处理的流程。注意,如示例1中那样,通过使用图12A和12B首先给出针对各用户所管理的设置值的同步处理的说明,然后在图13和14A~14C中给出针对示例4中的设置值的同步处理的说明。在图12A和12B中,利用相同的附图标记来表示作为与示例1中所述的处理相同的处理的步骤,并且省略对这些步骤的详细说明。用户登录至多功能打印机120。然后,在步骤S1201中,设置值管理客户端应用程序检测用户的登录。在本示例中,用户的登录用作同步请求的触发。
接着,在步骤S1202中,如图5的步骤S512中那样,设置值管理客户端应用程序判断是否存在前次同步时间。注意,与步骤S512不同,在步骤S1202中,设置值管理客户端应用程序判断是否存在如表12所示那样的与登录用户相关的设置值的前次同步时间(最终同步时间)。在存在与登录用户相关的设置值的前次同步时间的情况下,流程进入步骤S1203。在步骤S1203中,设置值管理客户端应用程序向设置值管理服务器app 310通知指定了前次同步时间且指定了表示登录用户的用户识别信息的设置值的同步请求。
另一方面,在不存在前次同步时间的情况下,在步骤S1204中,设置值管理客户端应用程序向设置值管理服务器app 310通知没有指定同步时间且仅指定了登录用户的设置值的同步请求。
在步骤S1210中,设置值管理服务器app 310针对所接收到的同步请求判断是否存在用户的指定。在不存在用户的指定的情况下,流程进入步骤S1213,并且进行与图5所述的装置设置值的同步处理(S522)及其后续处理相同的处理。
在存在用户的指定的情况下,流程进入步骤S522,并且设置值管理服务器应用程序如图5所述的步骤S522中那样判断是否存在针对同步请求的时间的指定。
在指定了时间的情况下,流程进入步骤S1211,并且设置值管理服务器应用程序获得与所指定的用户相关的并且服务器更新时间是在所指定的时间之后的设置值。
例如,假定用户名“Administrator”登录并且前次同步时间是如表12所示的“2015/2/1 13:01”的情况。在这种情况下,步骤S1211中获得的数据是表13中的用户ID“1”的设置值{地址类型:FTP,地址:192.168.222.333,显示名称:共享的服务器}。
另一方面,在没有指定时间的情况下,流程进入步骤S1212,并且设置值管理服务器应用程序获得与所指定的用户相关的所有设置值。
在发送步骤S1211或S1212中获得的设置值作为应答的情况下,如图5的步骤S525~S527中那样,设置值管理服务器应用程序通过获得同步请求源客户端的结构信息来创建应答数据。例如,假定用户登录至的装置的序列号是“1234567”的情况。在这种情况下,参考表14,设置值管理服务器应用程序创建仅包括与“license.application.AddressBook”和“license.application.Copy”相关的数据的应答数据并且发送该应答数据作为应答。
最后,设置值管理客户端应用程序执行与图5的步骤S515~S516中的处理相同的处理,并且流程终止。
如通过使用图12A和12B所述那样的设置值管理服务器app 310和设置值管理客户端app 320的处理使得能够进行针对各用户所管理的数据的同步处理。
注意,尽管给出根据同步请求中是否存在用户指定来在图12A的步骤S1210中切换处理的示例的说明,但本发明不限于该模式。例如,也可以在同步请求中存在用户指定的情况下(步骤S1210为是)进行与步骤S1213相同的处理。具体地,可以采用如下模式:在将指定了用户的同步请求作为触发的情况下,同样可以进行示例1等中所述的针对各装置的共用设置值的同步处理。
表16是如下表,其中在该表中,为了管理本示例中的同步数据一致性而通过进一步与示例1中所示的表4相关联,来管理装置管理结构信息发生改变的时间。在本示例中,给出如下结构的说明:在来自设置值管理客户端app 320的同步请求所附的时间是在结构信息发生改变的时间之前的时间的情况下,发送进行设置值管理服务器app 310中的所有设置值的再同步的应答。具体地,给出如下示例的说明:设置值管理服务器app 310与设置值的最终更新时间无关地,获得与登录用户相关的设置值作为用作同步对象的设置值,并且根据与装置的结构相对应的同步条件来将该设置值作为应答发送至客户端。
装置序列号 | 装置代码 | 版本 | 结构改变时间 |
1234567 | iR-ADV C5255 | Ver 00.01 | 2015/2/1 15:00 |
3124567 | iR-ADV C5240 | Ver 00.02 | 2015/2/2 15:00 |
… |
表16设置值管理服务器的DB中所存储的设置值
通过使用图13和14A~14C的流程图来说明具体的处理内容。
图13是与图6所述的处理基本相同的处理。在图13中,执行步骤S411~S601中的处理,然后,在进行了更新的设置值是与其它设置值的同步条件相关的设置值的情况下,设置值管理服务器应用程序使流程进入步骤S13010。在步骤S13010中,设置值管理服务器应用程序将表16中与通知源装置相对应的结构改变时间更新为当前时间。例如,在通知发生了改变的设置值是与如表14所示的装置的结构信息的变化相关的设置值的情况下(例如,在“扫描-发送”功能有效的情况下),设置值管理服务器应用程序使流程进入步骤S13010。这是由于,如示例1等所述,在结构发生改变的时间之前进行同步处理的情况下,在一些情况下后面的同步处理中可能没有获得结构变化的同步条件中所包括的设置值作为同步对象。
有鉴于此,通过使用图14A~14C,给出消除了如下的状态的同步方法的说明,其中在该状态下,作为在改变装置的结构信息之后所进行的数据同步处理的结果,在设置值管理服务器app 310所管理的设置值与设置值管理客户端app 320所管理的设置值之间的同步中发生不匹配。
专注于相对于图12A和12B的差异来说明图14A~14C的处理。在所接收到的同步请求中存在用户的指定(S1210为是)并且在所接收到的同步请求中存在时间的指定(S522为是)的情况下,流程进入步骤S1311。在步骤S1311中,设置值管理服务器应用程序将同步请求所附的前次同步时间与表16所示的作为同步请求源的客户端的结构改变时间进行比较。
在同步请求所附的前次同步时间是在装置的结构改变时间之前的情况下,装置的结构变化的同步条件中所包括的设置值将不会如上所述那样得到适当的同步。有鉴于此,在步骤S1312中,设置值管理服务器应用程序创建用于通知设置值管理数据库314与设置值管理数据库324之间的同步状态的不匹配的应答数据。然后,流程进入步骤S527,并且发送所创建的应答数据。
在步骤S1301中,设置值管理客户端app 320从设置值管理服务器应用程序接收应答数据。然后,在步骤S1302中,设置值管理客户端应用程序判断所接收到的应答数据的内容是否是用于通知同步数据的不匹配的内容。如果内容不是用于通知同步数据的不匹配的内容,则流程进入步骤S1305,并且设置值管理客户端应用程序如步骤S515中那样进行所接收到的数据的更新。然后,如图12B中那样进行步骤S516并且流程终止。
另一方面,在内容是用于通知同步数据的不匹配的内容的情况下,流程进入步骤S1303。在步骤S1303中,设置值客户端应用程序删除设置值管理客户端应用程序的设置值管理数据库324中所存储的由登录用户所设置的数据。然后,执行步骤S1203作为步骤S1304。具体地,在步骤S1304中,设置值管理客户端应用程序将指定了用户且没有指定时间的同步请求发送至设置值管理服务器app 310。设置值管理服务器应用程序接收步骤S1304的同步请求并且由此在步骤S522中判断为否,并且流程进入步骤S1212。然后,设置值管理服务器应用程序与设置值的最终更新时间无关地获得与所指定的用户相关的设置值。由于步骤S1304的同步请求是没有指定时间的同步请求,因此不再进行设置值管理服务器app 310在步骤S1311中的判断。另一方面,在应答数据是除用于通知同步数据的不匹配的数据以外的应答数据的情况下,对用户预先设置的所有设置值进行更新并且对前次同步时间进行更新。总而言之,作为再次发送同步请求的结果,还适当地更新了设置值客户端应用程序中所管理的前次同步时间。因此,避免了如下情况:多次发送指定了结构改变时间之前的时间的同步请求。
由此,在针对设置值管理服务器app 310和设置值管理客户端app 320中的各用户管理设置值的情况下,同样可以消除由于结构信息变化而引起的数据同步的不匹配。
在诸如由多个用户使用并共享的个人计算机和多功能打印机等的近来的信息处理设备中,针对各用户相关联地存储设置。在本示例中,在使针对各用户所管理的数据同步的情况下,可以避免由于信息处理设备的结构变化而引起的同步状态的不匹配。
其它示例
尽管以上说明了示例和变形例,但上述的示例等仅适用于实施本发明的示例。这些示例和变形例中的处理和操作可以组合,并且本发明不限于示例的结构。
此外,在示例1~3中,主要给出了由于FAX部的有无而发生要同步的数据的不匹配的示例,并且在示例4中,给出了由于所安装的应用程序或有效许可证的有无而发生要同步的数据的不匹配的示例的说明。然而,装置结构信息仅需要是表示客户端的预定结构是否有效的信息。作为其它示例,在复制伪造抑制图案(copy-forgery-inhibiting-pattern)的许可证的有无以及自动整理器的有无等发生了改变的情况下,设置值也发生改变。具体地,与装置的结构有关的设置值可以是表示客户端装置的许可证的有无的设置值、表示客户端装置的功能的有无的设置值、表示许可证的状态的设置值或者表示功能的状态的设置值。本发明可以适用于对与作为客户端的装置的结构信息相关的设置值等进行如上所述的管理的情况。如上所述,客户端的结构不限于多功能打印机,并且本发明可以适用于作为管理设置值的并且通过使用指定装置的结构的信息来改变设置值的装置的信息终端装置等。例如,本发明可以适用于具有个人计算机、移动电话终端、智能电话终端、图像形成设备、电子表和电子记事本等的结构的信息处理设备。
其它实施例
本发明的实施例还可以通过如下的方法来实现,即,通过网络或者各种存储介质将执行上述实施例的功能的软件(程序)提供给系统或装置,该系统或装置的计算机或是中央处理单元(CPU)、微处理单元(MPU)读出并执行程序的方法。
根据本发明,在进行数据的差异同步的情况下,可以在维持数据的一致性的情况下使数据同步。
尽管已经参考典型实施例说明了本发明,但是应该理解,本发明不限于所公开的典型实施例。所附权利要求书的范围符合最宽的解释,以包含所有这类修改、等同结构和功能。
Claims (13)
1.一种信息处理设备,包括:
管理部,用于将连接至所述信息处理设备的客户端设备的结构发生改变的第一时间与所述客户端设备相关联地管理所述第一时间;
获得部,用于获得表示与所述客户端设备进行设置值的前次同步处理的第二时间的信息;以及
发送部,用于:
在所述获得部所获得的第二时间是在所述第一时间之后的情况下,响应于从所述客户端设备接收到针对设置值的请求,向所述客户端设备发送所述第二时间之后更新的并且类型与所述客户端设备的改变后的结构相对应的设置值,以及
在所述获得部所获得的第二时间是在所述第一时间之前的情况下,响应于从所述客户端设备接收到针对设置值的请求,向所述客户端设备发送包括所述第二时间之后没有更新的并且类型与所述客户端设备的改变后的结构相对应的设置值的设置信息。
2.根据权利要求1所述的信息处理设备,其中,还包括:
第一接收部,用于从所述客户端设备接收设置值的更新的通知;以及
设置部,用于进行设置,以使得在所述第一接收部接收到的通知中所包括的设置值是表示所述客户端设备的结构的变化的设置值的情况下,将包括所述第二时间之后没有更新的并且类型与所述客户端设备的改变后的结构相对应的设置值的设置信息发送至所述客户端设备;以及
第二接收部,用于从所述客户端设备接收同步请求,
其中,在所述第二接收部接收到所述同步请求的情况下,所述发送部向发送了所述第二接收部所接收到的所述同步请求的客户端设备发送基于所述设置部所进行的所述设置的设置信息。
3.根据权利要求2所述的信息处理设备,其中,在所述设置部中没有进行所述设置的情况下,所述发送部向发送了所述第二接收部所接收到的所述同步请求的客户端设备发送所述第二时间之后更新的并且类型与所述客户端设备的改变后的结构相对应的设置值。
4.根据权利要求1所述的信息处理设备,其中,还包括:
第一接收部,用于从所述客户端设备接收设置值的更新的通知;以及
设置部,用于进行设置,以使得在所述第一接收部接收到的通知中所包括的设置值是表示所述客户端设备的结构的变化的设置值的情况下,将与所述客户端设备的结构的变化相关的设置值作为同步对象数据发送至所述客户端设备;以及
第二接收部,用于从所述客户端设备接收同步请求,
其中,在所述第二接收部接收到所述同步请求的情况下,所述发送部向发送了所述第二接收部所接收到的所述同步请求的客户端设备发送基于所述设置部所进行的所述设置的同步对象数据。
5.根据权利要求1所述的信息处理设备,其中,所述获得部获得所述第二时间,其中在所述第二时间,响应于包括与所述客户端设备的用户有关的识别信息的同步请求,针对与所述用户相关联的设置值进行所述前次同步处理。
6.根据权利要求1~5中任一项所述的信息处理设备,其中,所述发送部向所述客户端设备发送从同步对象中排除了与所述客户端设备中无效的结构相关的设置值的设置值。
7.根据权利要求6所述的信息处理设备,其中,所述客户端设备的结构是有效还是无效是基于以下设置值中的至少一个设置值来判断的:表示所述客户端设备中的装置的许可证的有无的设置值、表示所述客户端设备中的装置的功能的有无的设置值、表示所述许可证的状态的设置值、以及表示所述功能的状态的设置值。
8.一种信息处理设备,其被配置为用作针对服务器设备的客户端,所述信息处理设备包括:
通知部,用于向所述服务器设备通知所述信息处理设备的结构发生改变的第一时间;
发送部,用于向所述服务器设备发送表示与所述服务器设备进行设置值的前次同步处理的第二时间的信息;以及
接收部,用于:
在所述第二时间是在所述第一时间之后的情况下,从所述服务器设备接收所述第二时间之后更新的并且类型与所述信息处理设备的改变后的结构相对应的设置值,以及
在所述第二时间是在所述第一时间之前的情况下,从所述服务器设备接收包括所述第二时间之后没有更新的并且类型与所述信息处理设备的改变后的结构相对应的设置值的设置信息。
9.根据权利要求8所述的信息处理设备,其中,还包括设置部,所述设置部用于设置表示所述信息处理设备的结构发生了改变的信息,
其中,在所述设置部设置了所述信息的情况下,所述发送部向所述服务器设备发送包括如下请求的同步请求,其中该请求用于发送回包括所述第二时间之后没有更新的并且类型与所述信息处理设备的改变后的结构相对应的设置值的设置信息。
10.根据权利要求8所述的信息处理设备,其中,还包括设置部,所述设置部用于设置表示所述信息处理设备的结构发生了改变的信息,
其中,在所述设置部设置了所述信息的情况下,所述发送部向所述服务器设备发送不包括所述第二时间的同步请求。
11.根据权利要求10所述的信息处理设备,其中,在所述设置部没有设置所述信息的情况下,所述发送部向所述服务器设备发送包括所述第二时间的同步请求。
12.一种信息处理设备中的数据同步方法,所述信息处理设备包括管理部,所述管理部用于将连接至所述信息处理设备的客户端设备的结构发生改变的第一时间与所述客户端设备相关联地管理所述第一时间,所述数据同步方法包括:
获得步骤,用于获得表示与所述客户端设备进行设置值的前次同步处理的第二时间的信息;以及
发送步骤,用于:
在所述获得步骤中所获得的第二时间是在所述第一时间之后的情况下,响应于从所述客户端设备接收到针对设置值的请求,向所述客户端设备发送所述第二时间之后更新的并且类型与所述客户端设备的改变后的结构相对应的设置值;以及
在所述获得步骤中所获得的第二时间是在所述第一时间之前的情况下,响应于从所述客户端设备接收到针对设置值的请求,向所述客户端设备发送包括所述第二时间之后没有更新的并且类型与所述客户端设备的改变后的结构相对应的设置值的设置信息。
13.一种信息处理设备中的数据同步方法,所述信息处理设备被配置为用作针对服务器设备的客户端,所述数据同步方法包括:
通知步骤,用于向所述服务器设备通知所述信息处理设备的结构发生改变的第一时间;
发送步骤,用于向所述服务器设备发送表示与所述服务器设备进行设置值的前次同步处理的第二时间的信息;以及
接收步骤,用于:
在所述第二时间是在所述第一时间之后的情况下,从所述服务器设备接收所述第二时间之后更新的并且类型与所述信息处理设备的改变后的结构相对应的设置值;以及
在所述第二时间是在所述第一时间之前的情况下,从所述服务器设备接收包括所述第二时间之后没有更新的并且类型与所述信息处理设备的改变后的结构相对应的设置值的设置信息。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015-052061 | 2015-03-16 | ||
JP2015052061 | 2015-03-16 | ||
JP2015-250357 | 2015-12-22 | ||
JP2015250357A JP6611594B2 (ja) | 2015-03-16 | 2015-12-22 | データの同期を行う情報処理装置、データ同期方法およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105989191A true CN105989191A (zh) | 2016-10-05 |
CN105989191B CN105989191B (zh) | 2019-09-27 |
Family
ID=57009675
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610151465.6A Expired - Fee Related CN105989191B (zh) | 2015-03-16 | 2016-03-16 | 进行数据同步的信息处理设备和数据同步方法 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6611594B2 (zh) |
CN (1) | CN105989191B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108021109A (zh) * | 2016-11-02 | 2018-05-11 | 发那科株式会社 | 设定装置以及设定系统 |
CN110308879A (zh) * | 2018-03-27 | 2019-10-08 | 佳能株式会社 | 信息处理设备及其控制方法和存储介质 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7179487B2 (ja) * | 2018-05-10 | 2022-11-29 | キヤノン株式会社 | サーバ装置、制御方法及びプログラム |
CN110580200B (zh) * | 2019-08-06 | 2022-11-11 | 口碑(上海)信息技术有限公司 | 数据同步方法和装置 |
CN110659138B (zh) * | 2019-08-26 | 2024-03-15 | 平安科技(深圳)有限公司 | 基于定时任务的数据同步方法、装置、终端及存储介质 |
JP7385171B2 (ja) * | 2019-09-27 | 2023-11-22 | 京セラドキュメントソリューションズ株式会社 | 情報処理システム、情報処理装置および情報処理プログラム |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050044446A1 (en) * | 2003-08-20 | 2005-02-24 | Fujitsu Limited | Method of and device for data backup, and computer product |
US20080120270A1 (en) * | 2006-11-17 | 2008-05-22 | Llinxx | Database system |
CN102104594A (zh) * | 2009-12-04 | 2011-06-22 | 索尼公司 | 信息处理装置和方法、数据管理服务器及数据同步系统 |
CN102483715A (zh) * | 2009-09-04 | 2012-05-30 | Kii株式会社 | 数据同步系统以及数据同步方法 |
CN103259864A (zh) * | 2008-03-04 | 2013-08-21 | 苹果公司 | 数据同步协议 |
CN103327037A (zh) * | 2012-03-20 | 2013-09-25 | 中兴通讯股份有限公司 | 数据同步方法及装置 |
CN103442042A (zh) * | 2013-08-14 | 2013-12-11 | 福建天晴数码有限公司 | 增量数据同步方法及系统 |
CN103744936A (zh) * | 2013-12-31 | 2014-04-23 | 华为技术有限公司 | 一种数据库中的多版本并发控制方法及数据库系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7657574B2 (en) * | 2005-06-03 | 2010-02-02 | Microsoft Corporation | Persistent storage file change tracking |
JP4942686B2 (ja) * | 2008-03-18 | 2012-05-30 | 株式会社リコー | ネットワーク同期システム及び情報処理装置 |
-
2015
- 2015-12-22 JP JP2015250357A patent/JP6611594B2/ja not_active Expired - Fee Related
-
2016
- 2016-03-16 CN CN201610151465.6A patent/CN105989191B/zh not_active Expired - Fee Related
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050044446A1 (en) * | 2003-08-20 | 2005-02-24 | Fujitsu Limited | Method of and device for data backup, and computer product |
US20080120270A1 (en) * | 2006-11-17 | 2008-05-22 | Llinxx | Database system |
CN103259864A (zh) * | 2008-03-04 | 2013-08-21 | 苹果公司 | 数据同步协议 |
CN102483715A (zh) * | 2009-09-04 | 2012-05-30 | Kii株式会社 | 数据同步系统以及数据同步方法 |
CN102104594A (zh) * | 2009-12-04 | 2011-06-22 | 索尼公司 | 信息处理装置和方法、数据管理服务器及数据同步系统 |
CN103327037A (zh) * | 2012-03-20 | 2013-09-25 | 中兴通讯股份有限公司 | 数据同步方法及装置 |
CN103442042A (zh) * | 2013-08-14 | 2013-12-11 | 福建天晴数码有限公司 | 增量数据同步方法及系统 |
CN103744936A (zh) * | 2013-12-31 | 2014-04-23 | 华为技术有限公司 | 一种数据库中的多版本并发控制方法及数据库系统 |
Non-Patent Citations (1)
Title |
---|
ANONYMOUS: "SyncML - wikipedia, the free encyclopedia", 《HTTPS://EN.WIKIPEDIA.ORG/W/INDEX.PHP?TITLE=SYNCML&OLDID=649460364》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108021109A (zh) * | 2016-11-02 | 2018-05-11 | 发那科株式会社 | 设定装置以及设定系统 |
US10549424B2 (en) | 2016-11-02 | 2020-02-04 | Fanuc Corporation | Setting device and setting system for configuring settings for a plurality of machines |
CN110308879A (zh) * | 2018-03-27 | 2019-10-08 | 佳能株式会社 | 信息处理设备及其控制方法和存储介质 |
CN110308879B (zh) * | 2018-03-27 | 2024-02-23 | 佳能株式会社 | 信息处理设备及其控制方法和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
JP2016173810A (ja) | 2016-09-29 |
CN105989191B (zh) | 2019-09-27 |
JP6611594B2 (ja) | 2019-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105989191A (zh) | 进行数据同步的信息处理设备和数据同步方法 | |
US9779369B2 (en) | Process flow definition creating system, process flow definition creating device, and a method of creating process flow definition | |
CN102984416B (zh) | 设定值管理系统、方法、装置和图像形成装置 | |
US20050286080A1 (en) | Apparatus and method of transmitting document | |
CN102630380A (zh) | 图像处理设备及其控制方法 | |
JP2008192074A (ja) | 識別子管理装置及びその制御方法 | |
JP2010102704A (ja) | ソフトウエア更新リクエストを処理するためのシステム、方法及びコンピュータ読取可能な記録媒体 | |
US8302095B2 (en) | Workflow processing method and apparatus for determining the existence of data in the storage location and changing the setting information and name of storage location | |
JP2015143971A (ja) | ネットワークデバイス、ネットワークデバイスの制御方法およびそのプログラム | |
US11275545B2 (en) | Print server, image forming apparatus, method of controlling printing operation and recording medium | |
JP2016024753A (ja) | 情報処理システム、機器、情報処理方法、及びプログラム | |
JP2018011183A (ja) | 情報処理装置、サーバ装置、システム、情報処理方法及びプログラム | |
JP2009278420A (ja) | 情報処理装置、その制御方法およびデータ管理システム | |
CN106230893A (zh) | 一种基于混合云存储的数据同步方法 | |
JP6643114B2 (ja) | 画像処理装置、その制御方法、及びプログラム | |
JP6771927B2 (ja) | 情報処理装置、画像処理装置、通信システム、通信システムの制御方法、及びプログラム | |
JP2014215758A (ja) | 印刷システム、画像形成装置とその処理方法及びプログラム | |
JP4986234B2 (ja) | 情報処理装置 | |
CN109726028A (zh) | 一种中间存储方法 | |
JP6701941B2 (ja) | 画像データ処理システム、サーバ、画像データ処理方法、およびコンピュータプログラム | |
CN112199970A (zh) | 用于写入存储物的描述信息的方法、装置和智能存储系统 | |
JP5140351B2 (ja) | 情報処理装置 | |
JP2016181144A (ja) | 情報管理システム、情報管理システムの制御方法、及び管理装置 | |
JP5090828B2 (ja) | 情報処理装置 | |
CN106488064B (zh) | 信息处理装置、图像处理装置、通信系统和同步方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190927 |