JP2016081189A - 情報処理装置とデータ同期方法、データ同期システムおよびプログラム - Google Patents

情報処理装置とデータ同期方法、データ同期システムおよびプログラム Download PDF

Info

Publication number
JP2016081189A
JP2016081189A JP2014210169A JP2014210169A JP2016081189A JP 2016081189 A JP2016081189 A JP 2016081189A JP 2014210169 A JP2014210169 A JP 2014210169A JP 2014210169 A JP2014210169 A JP 2014210169A JP 2016081189 A JP2016081189 A JP 2016081189A
Authority
JP
Japan
Prior art keywords
data
client
server
synchronization
target 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
Application number
JP2014210169A
Other languages
English (en)
Other versions
JP2016081189A5 (ja
JP6506527B2 (ja
Inventor
吉田 亨
Toru Yoshida
亨 吉田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2014210169A priority Critical patent/JP6506527B2/ja
Priority to US15/503,558 priority patent/US10205842B2/en
Priority to CN201580055866.5A priority patent/CN106797402B/zh
Priority to PCT/JP2015/004603 priority patent/WO2016059749A1/en
Publication of JP2016081189A publication Critical patent/JP2016081189A/ja
Publication of JP2016081189A5 publication Critical patent/JP2016081189A5/ja
Application granted granted Critical
Publication of JP6506527B2 publication Critical patent/JP6506527B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00912Arrangements for controlling a still picture apparatus or components thereof not otherwise provided for
    • H04N1/00931Synchronising different operations or sub-apparatus, e.g. controlling on-times taking into account different warm-up times
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • H04N1/00244Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server with a server, e.g. an internet server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00962Input arrangements for operating instructions or parameters, e.g. updating internal software
    • H04N1/0097Storage of instructions or parameters, e.g. customised instructions or different parameters for different user IDs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00962Input arrangements for operating instructions or parameters, e.g. updating internal software
    • H04N1/00973Input arrangements for operating instructions or parameters, e.g. updating internal software from a remote device, e.g. receiving via the internet instructions input to a computer terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/21Intermediate information storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0094Multifunctional device, i.e. a device capable of all of reading, reproducing, copying, facsimile transception, file transception

Abstract

【課題】サーバーとクライアントでデータの同期を差分同期で行う場合に、サーバーのデータをバックアップデータでリストアしたとき、クライアントのデータをサーバーのリストア状態に戻すようにデータ同期を行うことができない。
【解決手段】リストア処理実行日時を保持しておき、クライアントからの同期要求時の要求日時がリストア処理実行日時よりも前の場合には、エラーを返して、クライアントに全データの同期をやりなおさせる。
【選択図】図10

Description

本発明は、情報処理装置間でデータの差分同期を行う際の情報処理装置とデータ同期方法およびデータ同期システムに関するものである。
従来、情報処理装置間でデータの同期をする方法として、ネットワーク上のデータ転送量を削減するために、差分情報のみで同期を行う差分同期の方法がある。差分同期を行っている場合、一方の情報処理装置のデータを、過去のデータをリストアして復旧したときに、リストアによって消えてしまったデータを別の情報処理装置のデータを用いて更新する技術が提案されている(特許文献1)。また、サーバーとクライアント間でデータの同期をとる場合において、クライアントのデータは一時的に使用するのみで、常にサーバーのデータをマスターとする同期システムも提案されており、例えば、ネットワークが断絶していてもクライアント側の一時データの差分を保持しておいて同期を行うシステムが提案されている(特許文献2)。
特開2007−115007号公報 特開2013−250759号公報
しかしながら、従来の方法では、マスター(サーバー)側でバックアップデータをリストアした場合であっても、スレーブ(クライアント)側のデータを用いて復旧することを前提としているため、リストア後のマスターにシステム全体を同期させる同期処理は実現できなかった。また、従来技術のような復旧を行わなかったとしても、マスターをリストアしたことによって消えたデータをスレーブが差分同期で検知できず、同期が失われる問題があった。さらに、特許文献2のような構成であっても、クライアント側が一時データを差分として保持しているようなときにサーバー側のデータをリストアすると、クライアントの一時データを削除することができず、その一時データを差分としてサーバーが更新されるためシステム全体を戻すことができなかった。
本発明は上記従来例に鑑みて成されたもので、サーバーでバックアップデータをリストアした場合でも、システム内の同期を維持できる情報処理装置とデータ同期方法およびデータ同期システムを提供することを目的とする。
上記目的を達成するために本発明は以下の構成を有する。すなわち、
データベースを管理するサーバーと少なくとも1台のクライアントとの間で、前記クライアントからの同期要求に応じて対象データの同期を維持するデータ同期システムであって、
前記クライアントと前記サーバーとの最後の同期が、前記データベースのバックアップとリストアとの間には行われていない場合には、前記クライアントは前記サーバーから前記対象データについて、前記最後の同期以降の差分データを取得して該差分を前記クライアントの対象データに適用して対象データを更新し、
前記クライアントと前記サーバーとの最後の同期が、前記データベースのバックアップとリストアとの間に行われている場合には、前記クライアントは前記サーバーから前記対象データの全体を取得して前記クライアントの対象データを更新する。
また他の側面によれば本発明は以下の構成を有する。
データベースを管理する情報処理装置と少なくとも1台のクライアントとの間で対象データの同期を維持するデータ同期システムにおいて、前記情報処理装置が、
前記クライアントからの同期要求を受信する受信手段と、
受信した前記同期要求に基づいて、前記クライアントと前記サーバーとの最後の同期が、前記データベースのバックアップとリストアとの間に行われたか否かを判定する判定手段と、
前記最後の同期が、前記データベースのバックアップとリストアとの間に行われていない場合には、前記クライアントに対して、前記対象データについて前記最後の同期以降の差分データを送信し、前記最後の同期が、前記データベースのバックアップとリストアとの間に行われている場合には、前記クライアントに対してエラーを送信する送信手段とを有し、
前記クライアントは、前記差分データを受信すると当該クライアントの対象データを前記差分データで更新し、前記エラーを受信すると前記サーバーから前記対象データの全体を取得して前記対象データを更新することを特徴とする。
また他の側面によれば本発明は以下の構成を有する。
データベースを管理するサーバーと少なくとも1台の情報処理装置との間で対象データの同期を維持するデータ同期システムにおいて、前記情報処理装置は、
前記サーバーに対して同期要求を送信する送信手段と、
前記サーバーから応答を受信する受信手段とを有し、
前記受信手段により最後の同期処理の後の差分データを受信すると、前記対象データを前記差分データで更新し、前記エラーを受信すると前記サーバーから前記対象データの全体を取得して前記対象データを更新する更新手段とを有することを特徴とする。
本発明によれば、サーバーのリストアを行ってもクライアントとの同期を維持することができる。
システム構成図 デジタル複合機内の構成を示すブロック図 サーバー内の構成を示すブロック図 データ同期サーバー処理プログラムのブロック構成図 データ同期クライアント処理プログラムのブロック構成図 バックアップ処理のフローチャート リストア処理のフローチャート データベースで管理するデータ例を示す図 リストア後のデータベースで管理するデータ例を示す図 サーバー側データ同期処理フローチャート クライアント側データ同期処理フローチャート 実施例3でのサーバー側データ同期処理フローチャート リスト情報データ例を示す図 実施例4でのクライアント側データ同期処理フローチャート 画面例を示す図
[第1実施形態]
<システム構成>
以下、本発明を実施するための形態について図面を用いて説明する。図1は、本発明に係るシステム全体を示すシステム構成図である。このデータ同期システムには、データの差分同期を行う情報処理装置としてデジタル複合機110a、デジタル複合機110b、サーバー120aが、さらにデータのバックアップ先としてサーバー120bがネットワーク100に接続されており、互いに通信可能なシステムである。実施例によって、差分同期システムのサーバーがデジタル複合機110aの場合とサーバー120aの場合とがあるが、サーバーは他の装置であってもよく、いずれかの情報処理装置がサーバーとして動作していればよい。なおデジタル複合機110a、110bを総称してデジタル複合機110と呼び、サーバー120a、120bを総称してサーバー120と呼ぶ。システムにはサーバーもクライアントであるデジタル複合機も少なくとも1台含まれている。
図2は、デジタル複合機110の構成を示すブロック図である。デジタル複合機110は、コントローラユニット200、操作部220、スキャナ230、プリンタ240を含んでいる。コントローラユニット200には、操作部220が接続されるとともに、画像入力デバイスであるスキャナ230や画像出力デバイスであるプリンタ240が接続される。
コントローラユニット200は、具体的には、プロセッサーであるCPU(中央処理ユニット)202を有し、CPU202は、ROM(Read Only Memory)206に格納されているブートプログラムによりOS(オペレーティングシステム)を立ち上げる。コントローラユニット200は、このOS上で、HDD(ハードディスクドライブ)205に格納されているアプリケーションプログラムを実行し、これによって各種処理を実行する。このCPU202の作業領域としてはRAM(ランダムアクセスメモリ)203が用いられる。HDD205は、上記アプリケーションプログラムや各種データを格納する。
CPU202には、システムバス210を介して、ROM206およびRAM203とともに、操作部I/F201、デバイスI/F204、ネットワークI/F207、画像処理を実行する画像処理部208が接続される。
操作部I/F201は、タッチパネルを有する操作部220とのインタフェースである。操作部I/F201は、操作部220に表示する各種データなどの情報を送出したり、ユーザーにより入力された情報をCPU202に送出したりする。デバイスI/F204には、スキャナ230およびプリンタ240が接続され、データや制御信号の入出力が行われる。ネットワークI/F207は、ネットワーク100に接続され、ネットワーク100を介してネットワーク100上の各情報処理装置との間で情報の入出力(すなわち送信および受信)を行う。画像処理部208では、スキャナからの入力画像処理やプリンタへの出力画像処理、画像回転、画像圧縮、解像度変換、色空間変換、階調変換などの処理を行う。
図3は、サーバー120の構成を示すブロック図である。同図において、CPU301は情報処理装置の演算・制御をつかさどる。RAM302は、CPU301の主メモリとして、及び実行プログラムの領域や該プログラムの実行エリアならびにデータエリアとして機能する。ROM303はCPU301の動作処理手順を記憶している。ROM303には情報処理装置の機器制御を行うシステムプログラムである基本ソフト(OS)を記録したプログラムROMと、システムを稼働するために必要な情報等が記録されているデータROMがある。また、ROM303の代わりに、後述のHDD309を用いる場合もある。ネットワークインターフェース(Network)304は、ネットワーク100を介して他の情報処理装置とのデータ送受信等の通信を行う。VRAM(ビデオRAM)305は、情報処理装置のディスプレイ306の画面に表示させるための画像を展開し、その表示の制御を行う。ディスプレイ306は液晶ディスプレイ等の表示装置である。KBC307は外部入力装置308からの入力信号を制御するためのコントローラである。KB308は利用者が行う操作を受け付けるための外部入力装置(KB)のひとつであり、例えばキーボードやマウス等のポインティングデバイスが用いられる。HDD309はハードディスクドライブであり、アプリケーションプログラムや各種データ保存用に用いられる。伝送バス300は上述した各ユニット間を接続するためのバス(アドレスバス、データバス、入出力バス、及び制御バス)である。
<データ同期アプリケーション>
本発明の第1の実施形態では、デジタル複合機110a上でデータ同期サーバーアプリケーション400が動作し、デジタル複合機110aおよびデジタル複合機110b上でデータ同期クライアントアプリケーション500が動作する構成で説明する。なおデータ同期サーバーアプリケーションをデータ同期管理アプリケーションと呼ぶ場合もある。
図4は、デジタル複合機110aで動作するデータ同期サーバー処理プログラム400のブロック構成図である。データ同期サーバーアプリケーション400は、デジタル複合機110bなどからの処理要求を受信し、処理結果を送信する通信処理部401、処理の制御を行う制御部402、通信処理部401で受付けた要求を解析する要求解析部403、データベース410で保持するデータのバックアップ処理を実行するバックアップ処理部404、バックアップ処理部404が作成したバックアップデータを用いてデータベース410で保持するデータのリストア処理を実行するリストア処理部405、処理要求に応じてデータベース410にアクセスして、データの作成/更新/削除/参照を実行するデータアクセス部406、を有する。データベース410で保持するデータは、HDD205やRAM203などに保存される。
データ同期サーバーアプリケーション400およびデータベース410は、RAM203、HDD205、ROM206のいずれかの記憶手段に記憶され、CPU202により実行される。
図5は、デジタル複合機110aおよびデジタル複合機110bで動作するデータ同期クライアント処理プログラム500のブロック構成図である。データ同期クライアントアプリケーション500は、コピーやFAXなどの各種アプリケーション410からの処理要求を受信する処理受付部501、処理の制御を行う制御部502、処理受付部501で受付けた要求をジョブとして管理するジョブ管理部503、ネットワークインターフェース(Network)207を介してデジタル複合機110a上のデータ同期サーバーアプリケーション400と通信を行う通信処理部504、差分同期に関する情報を管理する同期情報管理部505を有する。ジョブ管理部503および同期情報管理部505で管理する情報は、HDD205やRAM203などに保存される。各種アプリケーション510は、操作部220に表示するデータを管理し、操作部220でユーザーから入力されたデータを保持するとともに、データ同期クライアントアプリケーション500の処理受付部501にデータ更新内容を通知する。
データ同期クライアントアプリケーション500および各種アプリケーション510は、RAM203、HDD205、ROM206のいずれかの記憶手段に記憶され、CPU202により実行される。
<同期動作>
デジタル複合機110bで、ユーザー操作やコピー/FAXなどのアプリケーション処理実行によってデータに変更が発生した場合、データ同期クライアントアプリケーション500が変更内容をデジタル複合機110a上のデータ同期サーバーアプリケーション400に送信する。また、データ同期クライアントアプリケーション500は、データ同期サーバーアプリケーション400にデータ更新があるかどうかを定期的、もしくは必要に応じて問い合わせ、更新されたデータがあれば差分データとして取得して、各種アプリケーション510に差分データを反映する。
例えばアドレス帳のFAX番号などのアドレスデータを、データ同期サーバーアプリケーション400が管理しているとする。アドレスデータを同期処理の対象としてデジタル複合機110a、デジタル複合機110bでともに使用する場合、アドレスデータの同期処理は以下のように処理される。デジタル複合機110aで、アドレス帳アプリケーションにより管理されているアドレスデータAをユーザー等が変更した場合、変更したアドレスデータAをデータ同期クライアントアプリケーション500に通知する。データ同期クライアントアプリケーション500は、デジタル複合機110a上のデータ同期サーバーアプリケーション400に変更されたアドレスデータAを送信する。データ同期サーバーアプリケーション400は、受信したアドレスデータAをデータベース410に保存する。これにより変更がデータ同期サーバーアプリケーション400により管理するデータベース410に反映される。この時の日時が最終更新日時として記録される。その後、デジタル複合機110bのデータ同期クライアントアプリケーション500から、デジタル複合機110a上のデータ同期サーバーアプリケーション400に対して更新の問い合わせが実行される。更新の問い合わせは例えば定期的に行われる。問い合わせに応じて、データ同期サーバーアプリケーション400は、先ほどのアドレスデータAを更新データとしてデータ同期クライアントアプリケーション500に送信する。データ同期クライアントアプリケーション500は、アドレスデータAを受信したら、アドレスデータを管理するアドレス帳アプリケーションに受信したアドレスデータAを渡して、デジタル複合機110b内のデータを更新する。すなわち、データ同期クライアントアプリケーション500は、受信した更新データを、当該更新データを管理するアプリケーションに渡してデータを更新させる。同期されるデータとしてアドレスデータを例に説明したが、他のデータでも同様に処理することでデータの差分同期を実現する。また、データを管理するアプリケーション、たとえばアドレス帳管理アプリケーションに、データ同期クライアントアプリケーション500が統合されていてもよい。
このように、本実施形態のデータ同期システムでは、データの更新があるとそれがクライアントからサーバーに通知されて更新がサーバーのデータベースに反映される。さらに、前記クライアントから差分の取得要求(あるいは更新の問い合わせ或いは更新要求とも呼ぶ)があると、それに応じて差分データ(あるいは更新データ)をサーバーがクライアントに応答する。クライアントは差分データを受信して、それをクライアントのデータベースに反映する。これによりサーバーとクライアントのデータベースの同期が維持される。なお、本実施形態のデータベースにおいても、データベースの更新等に際してレコード間の意味的な無矛盾性を維持するための、通常のデータベースと同様の仕組みを有することが望ましいが、本実施形態ではその手順の説明は省略する。
<データ同期サーバーアプリケーションによるバックアップ処理>
データ同期サーバーアプリケーション400が、データベース410の管理データのバックアップ処理を実行する際の処理を、図6のフローチャートを用いて説明する。バックアップ処理の指示は、ユーザー指示などの外部からの指示であっても、スケジュールや状態変化イベントなどのデジタル複合機110内部からの指示であってもよい。
データ同期サーバーアプリケーション400の制御部402は、バックアップ実行の指示を検知したら、データアクセス部406に対してデータベース410へのアクセスを止めるように指示する(ステップS601)。次に制御部402はバックアップ処理部404にバックアップを指示し、バックアップ処理部404はデータベース410にアクセスして、対象のファイルを特定する(ステップS602)。バックアップ処理部404は、対象ファイルのサイズと、バックアップ先の空き容量を比較して、バックアップ可能な空き容量があるかどうか判断する(ステップS603)。ここでバックアップ先がデジタル複合機110aのHDD205の場合には、空き容量はファイルシステムに問い合わせることで把握でき、バックアップ先がネットワーク上のストレージの場合には、ネットワーク100を介して問い合わせることで把握できる。本実施例では、デジタル複合機110aのHDD205上にバックアップする場合を例にして、説明を行う。ステップS603でバックアップ処理部404が空き容量が足りていると判断した場合、バックアップ処理実行時のデジタル複合機110aの現在の日時情報(これをバックアップポイントまたはバックアップ時点とも呼ぶ。)を特定して保持する(ステップS604)。次にステップS605として、バックアップ処理部404は、データベース410の対象ファイルをバックアップ先のディレクトリにコピーする。コピーされたバックアップファイルには、ステップS604で例えば実時間タイマ等から読み込まれ、保持されている日時情報が関連付けられる。対象ファイル全てのコピーが完了したらバックアップ処理部404は処理完了を制御部402に通知する。制御部402は、バックアップ処理完了を検知したら、データアクセス部406にデータベース410へのアクセス許可を通知して(ステップS606)処理終了となる。
ステップS603で空き容量が不足するとバックアップ処理部404が判断した場合、過去のバックアップファイルを削除するかどうかを判断する(ステップS607)。ここの判断は、ユーザー指示であってもよいし、過去のバックアップファイルの作成日時等から削除可能かどうかの判断であってもよい。ステップS607で削除するとバックアップ処理部404が判断した場合、ステップS608でバックアップ処理部404が過去のバックアップファイルを削除して、ステップS603に戻る。ステップS607で削除しないとバックアップ処理部404が判断した場合、バックアップ指示元にバックアップを実行できないことを通知して、バックアップ処理失敗を制御部402に通知する。制御部402は、バックアップ不可通知を検知したら、データアクセス部406にデータベース410へのアクセス許可を通知して(ステップS609)、処理終了となる。
なお、本実施例では、ファイルベースのデータベースの場合を例に説明を行ったが、データベース410にバックアップ機能がある場合には、ステップS602で対象ファイルを特定するのではなく、データベース410にバックアップを指示して、バックアップファイルを作成してもよい。また、データベース410へのアクセス禁止/許可の処理(ステップS601、ステップS606およびステップS609)はデータベース410が実施しても、データ同期サーバーアプリケーション400が実施してもよい。また、フルバックアップではなく、差分バックアップの場合も同じように、ステップS602でバックアップ処理部404がデータベース410に差分バックアップファイルの作成を要求して、ファイルを特定してもよい。
<データ同期サーバーアプリケーションによるリストア処理>
次に、データ同期サーバーアプリケーション400が、データベース410の管理データのリストア処理を実行する際の処理を、図7のフローチャートを用いて説明する。リストア処理の指示は、ユーザー指示などの外部からの指示であっても、データベース内の不整合検知による修復指示などのデータベース410やデータ同期サーバーアプリケーション400などの内部からの指示であってもよい。
データ同期サーバーアプリケーション400の制御部402は、リストア実行の指示を検知したら、データアクセス部406に対してデータベース410へのアクセスを止めるように指示する(ステップS701)。次に制御部402はリストア処理部405にリストア対象のファイルとリストア実行を指示し、リストア処理部405はバックアップデータを特定して、それに関連付けられて保存されているバックアップ実行日時を特定し、保持する(ステップS702)。次に、リストア処理部405は、リストア処理実行日時としてデジタル複合機110aの現在の日時情報(これをリストアポイントまたはリストア時点とも呼ぶ。)を特定して保持する(ステップS703)。ステップS704として、リストア処理部405はデータベース410にアクセスして、データベース410で管理する情報のうち、データ同期クライアントアプリケーション500が動作する全デジタル複合機110の補正時間情報を、図8に示すクライアント装置情報810から取得して、保持しておく。
<データベースの例>
データベース410で管理するデータ例を図8に示す。クライアント装置情報810には、データベース同期サーバーアプリケーション400とデータ同期処理を行っているデータ同期クライアントアプリケーション500が動作する情報処理装置の情報(識別子(装置ID)811,(識別ID)812や名称813、当該情報処理装置への最終アクセス日時814など)が登録されている。クライアント装置情報810には、サーバーとクライアントの日時情報の差分を補正するための補正時間情報815も登録されている。なお、本例ではクライアント装置情報810はデータ同期サーバーアプリケーション400のためのデータであって同期の対象としていないが、クライアントと共有する場合には同期の対象とすることができる。装置設定データ820には、情報処理装置が動作するために使用している各種設定データ(表示言語設定や標準プリント設定など)が、設定示すキー(Key)821および対応する値(Value)822として登録されている。また、装置設定データ820には、対応する装置ID823、当該項目の最終更新日時824、データ更新日時825なども登録されている。最終更新日時824はクライアントにおいて当該データが最後に更新された日時であり、データ更新日時825は、その更新がデータベース410にコミットされた日時である。ユーザー認証用データ830には、情報処理装置を使用するための認証処理で使用されるユーザー識別情報(ID831/パスワード832)、ユーザー名称833やユーザーの権限、所属グループなどの情報が登録されている。また当該項目の最終更新日時834、データ更新一時835なども登録されている。ユーザー設定データ840には、ユーザー毎に登録された設定データ(アドレス帳のアドレスデータなど)が、設定示すキー(Key)841および対応する値(Value)842として登録されている。また、ユーザー設定データ840には、対応する装置ID843、当該項目の最終更新日時844、データ更新一時845なども登録されている。
さて、図7に戻って、補正時間情報の退避が完了したら、リストア処理部405は、バックアップデータのファイルをデータベース410が管理する管理ファイルと差し替えてリストアを行い、データの不整合が無いかチェックする(ステップS705)。ステップS706では、リストア処理部405はデータベース410に、リストアしたデータの最終更新日時をステップS703で保持しておいたリストア実施日時で更新するように指示する。データベース410の処理が完了したら、ステップS707では、ステップS704で保持していた各デジタル複合機110の補正時間情報をリストア後のデータに対してそれぞれ適用するように、リストア処理部405がデータベース410に更新を指示する。補正時間情報の適用により、装置間の時間のずれが補正される。データベース410の処理が完了したら、リストア処理部405は、リストア前のデータベース410が管理していた管理ファイルを削除して、制御部402にリストア完了を通知する。制御部402はリストア完了を検知あるいは受信したら、データアクセス部406にデータベース410へのアクセス許可を通知して(ステップS708)処理終了となる。
バックアップ処理同様、本実施例では、ファイルベースのデータベースの場合を例に説明を行ったが、データベース410にリストア機能がある場合には、ステップS705で対象ファイルを差し替えるのではなく、データベース410に対象ファイルを渡してリストアを指示して、リストア処理を実行してもよい。また、差分バックアップの場合には、フルバックアップ時のデータと差分バックアップのデータからリストアするためのデータをデータベース410等で生成したのち、ステップS705の処理を実行してもよい。また、バックアップ時同様、データベース410へのアクセス禁止/許可の制御をデータベース410で実施してもデータ同期サーバーアプリケーション400で実施してもよい。
図8のデータベース410で管理するデータ例に対して「2014/08/27 13:00:00.112」にバックアップ処理を実行し、リストア処理を「2014/08/28 08:00:00.225」に実行したときに、リストア処理後のデータを図9に示す。ステップS703で特定したリストア処理時間「2014/08/28 08:00:00.225」が、ステップS706で各データの最終更新日時に更新される。ここで、図7のリストア処理はデジタル複合機110aで行われており、クライアント装置情報810から読み取られて保持されているデジタル複合機110aの補正時間815の値はクライアント装置情報810に示される通り0である。そのため、補正前後の最終更新日時は同じ値である。
例えば、バックアップ処理の日時「2014/08/27 13:00:00.112」より後、かつリストア処理を「2014/08/28 08:00:00.225」より前の日時「2014/08/27 14:00:00.456」に、デジタル複合機110bで、ユーザー設定データ「fax_address_1」の値を「023-456-7890」に更新していたとする。そのとき、デジタル複合機110bがネットワークに接続されておらず、データ同期クライアントアプリケーション500とデータ同期サーバーアプリケーション400とが通信できなかった場合、デジタル複合機110bのデータ同期クライアントアプリケーション500は「2014/08/27 14:00:00.456」に更新されたユーザー設定データとして、ジョブ管理部503にデータを保持しておく。リストア実行後の「2014/08/28 10:00:00.123」にデジタル複合機110bがネットワークに接続されて通信できるようになると、デジタル複合機110bのデータ同期クライアントアプリケーション500はデータ同期サーバーアプリケーション400に対して「2014/08/27 14:00:00.456」に更新されたユーザー設定データの更新を要求する。データ同期サーバーアプリケーション400では、受信した更新要求から、データベース410で管理するユーザー設定データ「fax_address_1」を更新するかどうか、データアクセス部406が判断する。ここでリストア後の「fax_address_1」の最終更新日時が「2014/08/28 08:00:00.225」であり、更新を要求されたデータ、すなわち更新対象のデータの更新日時「2014/08/27 14:00:00.456」よりも後に更新されているとデータアクセス部406は判断する。このためデータアクセス部406はデータベース410へのデータ更新要求を行わずに処理成功とする。すなわち、デジタル複合機110bにおいて「2014/08/27 14:00:00.456」において行われた更新はデータベースに反映されず破棄される。このように、リストア処理実施前にクライアントで保持されていた処理内容すなわち更新データが存在したとしても、データ同期サーバーアプリケーション400により管理されるデータベースをリストア処理直後の状態に維持することが可能である。
<データ同期サーバーアプリケーションによる同期要求の処理>
次に、リストア処理を「2014/08/28 08:00:00.225」に実行した後、デジタル複合機110aとデジタル複合機110bとがそれぞれデータの差分同期のためのデータ取得要求(すなわち同期要求)を実施した場合の処理を図10のフローチャートを用いて説明する。ここで、デジタル複合機110aはリストア直前の「2014/08/28 07:59:10.487」に最後の差分データの取得要求(すなわち更新要求)を実行している。この最後の差分データの取得要求の日時を同期要求ポイント又は同期要求時点とも呼ぶ。一方デジタル複合機110bは、バックアップ処理より前の「2014/08/27 10:54.14.369」に最後の差分データの取得要求を行って以来、差分データの取得要求を実行していないとする。なお最後の差分データの取得要求の日時は、最後の同期の日時であり、最後の同期以降は同期が行われていないことを示す。データ同期クライアントアプリケーション500の通信処理部504は、データ同期サーバーアプリケーション400に対して更新の問い合わせ、すなわちデータの差分取得要求を行う際に、データ同期クライアントアプリケーション500の同期情報管理部505が保持しているデータ毎の最後のデータ取得日時(最終取得日時)、すなわち最後に同期処理を行った際の差分データの取得日時を添付して送信する。なおデータの差分取得要求に添付された最終取得日時を、その日時以降に発生した差分を要求するという意味で、要求日時とも呼ぶ。
まず、デジタル複合機110aのデータ同期クライアントアプリケーション500から、最終取得日時である「2014/08/28 07:59:10.487」以降に生じた差分データに対する取得要求を受信した場合の、データ同期サーバーアプリケーション400の処理について説明する。データ同期サーバーアプリケーション400の通信処理部401が、データ同期クライアントアプリケーション500からの要求を受信したら制御部402に要求受信を通知する(ステップS1001)。制御部402は受信した要求を要求解析部403に渡し、要求の解析を依頼する。要求解析部403は、受信した要求から、要求元の装置がデジタル複合機110aであることと、要求内容、たとえば要求を示す情報や要求に添付された要求日時「2014/08/28 07:59:10.487」を特定する(ステップS1002)。制御部402は、要求解析部403から解析結果を取得したら、それが差分データ取得要求であるかどうかを判断(判定)する(S1003)。差分データ取得要求だと制御部402が判断したら、差分要求に添付された要求日時「2014/08/28 07:59:10.487」を保持する(ステップS1004)。ステップS1005では、制御部402は、リストア処理部405からステップS702で特定したバックアップの行われた日時情報と、ステップS703で特定したリストア実施日時とを取得する。そして、要求日時が、バックアップ日時とリストア日時との間に含まれるかどうかを判断する(ステップS1006)。要求日時がバックアップ日時とリストア日時の間になる場合には、制御部402は、要求元に対してデータ不整合エラーを応答するように通院処理部401に指示する。この場合には、クライアントの最後の更新がサーバーのバックアップとリストアとの間に行われており、サーバーのリストアによりクライアントのデータベースとサーバーのデータベースとの間に不整合を生じているためである。この例では要求日時「2014/08/28 07:59:10.487」は、バックアップ日時「2014/08/27 13:00:00.112」とリストア日時「2014/08/28 08:00:00.225」との間になる。したがって要求処理部401は、要求元であるデータ同期クライアントアプリケーション500に対してデータ不整合エラーを応答し(ステップS1007)、処理終了となる。
デジタル複合機110aのデータ同期クライアントアプリケーション500の通信処理部504は、データ同期サーバーアプリケーション400からデータ不整合エラーが返却されてきたことを検知したら、同じデータに関して、差分データではなく、対象のデータファイル全体を要求する全データ取得要求をデータ同期サーバーアプリケーション400に対して送信する。
データ同期サーバーアプリケーション400が全データ取得要求を受信した場合、前述同様処理が実行されて、ステップS1003で、制御部402が、受信した要求は差分データ取得要求ではないと判断する。その場合、制御部402は、データアクセス部406に対して全データ取得要求処理を依頼する。データアクセス部406は、処理実行時のデータ同期サーバーアプリケーション400が動作するデジタル複合機110aの日時を特定して保持しておく(ステップS1008)。データアクセス部406は、データベース410に対してデータ取得要求を行い、要求されたデータを全て取得する(ステップS1009)。データアクセス部406は取得したデータとステップS1008で保持した日時情報を制御部402に応答し、制御部402は通信処理部401に取得したデータを要求元に送信するよう依頼する。通信処理部401は、日時情報とデータを所定のフォーマットに変換して、処理結果として要求元のデータ同期クライアントアプリケーション500に送信し(ステップS1010)、処理終了となる。
データ同期クライアントアプリケーション500は、通信処理部504で応答データを受信したら、通信処理部504が応答データを解析する。通信処理部504は、解析して特定した応答データを対象のアプリケーション510に通知し、アプリケーション510は、保持していたデータを削除して、新たにデータ同期サーバーアプリケーション400から送信された応答データを登録する。また、通信処理部504は、解析して特定した日時情報で同期情報管理部505に最終データ取得日時情報の更新を依頼し、同期情報管理部505は保持していた最終データ取得日時情報を更新する。この日時情報が次回の要求日時となる。以上の手順によりデータ同期サーバーアプリケーション400のデータベース410とクライアントのデータとが同期される。
次に、デジタル複合機110bのデータ同期クライアントアプリケーション500から「2014/08/27 10:54.14.369」以降の差分データに対する取得要求を受信した場合の、データ同期サーバーアプリケーション400の処理について図10に即して説明する。手順は上述した通りであるので、一部簡潔に説明する。データ同期サーバーアプリケーション400の通信処理部401が、データ同期クライアントアプリケーション500からの差分データ取得要求を受信したら制御部402に要求受信を通知し、前述と同様の処理を実行する。差分要求日時「2014/08/27 10:54.14.369」がバックアップ日時よりも前の日時であるため、ステップS1006で、制御部402は、要求日時はバックアップ日時とリストア日時の間にならないと判断し、ステップS1011に進む。ステップS1011では、制御部402は、データアクセス部406に対して、「2014/08/27 10:54.14.369」以降の差分データ取得要求を指示する。データアクセス部406は差分データ取得要求を受けたら、処理実行時のデータ同期サーバーアプリケーション400が動作するデジタル複合機110aの日時を特定して保持しておく(ステップS1011)。データアクセス部406は、データベース410に対して「2014/08/27 10:54.14.369」以降に更新されたデータの取得要求を行い、「2014/08/27 10:54.14.369」以降に生じた差分データを取得する(ステップS1012)。データアクセス部406は取得した差分データとステップS1011で保持した日時情報を制御部402に応答し、制御部402は通信処理部401に取得したデータを要求元に応答するよう依頼する。通信処理部401は、日時情報とデータを所定のフォーマットに変換して、処理結果として要求元のデータ同期クライアントアプリケーション500に送信し(ステップS1013)、処理終了となる。
データ同期クライアントアプリケーション500は、通信処理部504で応答データを受信したら、通信処理部504がデータを解析する。通信処理部504は、解析して特定したデータを対象のアプリケーション510に通知し、アプリケーション510は、保持していたデータを更新する。また、通信処理部504は、解析して特定した日時情報で同期情報管理部505に最終データ取得日時情報の更新を依頼し、同期情報管理部505は保持していた最終データ取得日時情報を更新する。この手順により、差分データを用いて、サーバーのデータベースとクライアントのデータベースとを同期することができる。なお要求日時がリストア日時よりも新しい場合は、リストア後のサーバーのデータベースとクライアントのデータベースとは既に同期済みであると判断できるため、この場合にも差分データのみで同期が可能である。
以上説明したように、サーバーのマスターデータをバックアップデータでリストアした場合、バックアップからリストアまでの期間にのみ存在したデータを保持しているクライアントに対してはエラーを返すことでクライアントのデータを破棄させて、データの不整合を解消できる。さらに、バックアップからリストアまでの期間にのみ存在したデータを保持していないクライアントに対しては、通常の差分同期処理を継続可能であるため、無駄な通信を行う必要がない。
本実施例では、ステップS1007でデータ不整合エラーを応答するとしたが、ステップS1008とステップS1009の処理を実行して、全データと日時情報に加えてデータ不整合エラーの情報を応答しても構わない。その場合、データ同期クライアントアプリケーション500は、全データ取得要求を行うのではなく、受信したデータと日時情報を用いてクライアントの保持するデータを削除して再登録すればよい。そうすることで、通信回数を減らすことが可能である。
なお上述した同期要求が、差分データを要求する要求と、対象データの全体を要求する要求とを含むものとみなすこともできる。
[第2の実施形態]
本発明の第2の実施形態では、データ不整合エラーを受信した際のデータ同期クライアントアプリケーション500の処理が第1の実施形態と異なるため、異なる処理について説明を行う。
データ同期クライアントアプリケーション500がデータ不整合エラーを受信した際の処理を図11のフローチャートを用いて説明する。通信処理部504は、データ不整合エラーを受信したら要求したデータの種別が何であったかの判断を行う(ステップS1101)。ここで、たとえばユーザー認証用データ830のように、デジタル複合機110の機種によらず固定のデータ形式となるデータであると判断した場合、ステップS1102に進む。ステップS1102では、第1の実施形態と同様、通信処理部504が全データの取得を要求する。そして全データを取得したら対象のアプリケーション510にデータを通知し、アプリケーションが保持していた全キャッシュデータを削除して(ステップS1103)、取得したデータを登録して(ステップS1104)、同期処理終了となる。このとき最終データ同期日時も更新される。
ステップS1101で、同じくデジタル複合機110の機種によらず固定のデータ形式となるデータであるが、ユーザーやグループなどの単位でデータの取得要求を行うようなデータ(例えばユーザー設定データ840)の場合には、ステップS1105に進む。通信処理部504は、差分取得要求でデータ不整合エラーとなったユーザー/グループの全データ取得要求をデジタル複合機110a上のデータ同期サーバーアプリケーション400に要求する。通信処理部504は、データ同期サーバーアプリケーション400から要求したユーザー/グループの全データを取得したら受信したデータを解析する(ステップS1105)。通信処理部504は、解析して特定したデータを対象のアプリケーション510に通知し、アプリケーション510は、保持していたデータのうち、該当のユーザー/グループのデータのみを削除して(ステップS1106)、取得したデータを登録する(ステップS1107)。また、通信処理部504は、解析して特定した日時情報で同期情報管理部505に該当ユーザー/グループの最終データ取得日時情報の更新を依頼し、同期情報管理部505はユーザー/グループ単位で保持している最終データ取得日時情報を更新し(ステップS1107)、処理終了となる。
ステップS1101で、デジタル複合機110の機種やバージョンなどによって必要な設定値の種類や個数などに違いがあるデータの場合(例えば装置設定データ820)、すなわち項目の種類や数などのデータ形式が更新によって変化する可能性がある場合には、ステップS1108に進む。通信処理部504は、差分データ取得ではなく全データ取得要求を送信し、該当データの全データを取得する。通信処理部504は、取得したデータを対象のアプリケーション510に通知し、アプリケーション510は取得したデータで保持しているデータを更新する(ステップS1108)。このとき保持していたデータの削除は行わない。次に、通信処理部504は、デジタル複合機110aのデータ同期サーバーアプリケーション400に対して、対象データの全削除を要求する(ステップS1109)。データ同期サーバーアプリケーション400は、全削除要求を受信したら、データベース410で保持している対象データを削除して、結果を応答する。次に、データ同期クライアントアプリケーション500の通信処理部504は、アプリケーション510から保持している全データを取得して、そのデータでデジタル複合機110aのデータ同期サーバーアプリケーション400に全データの作成を要求する(ステップS1110)。データ同期サーバーアプリケーション400は、受け付けたデータをデータベース410に登録して処理結果を応答し、処理終了となる。
以上説明したように、装置設定データ820のような、デジタル複合機110のシステムバージョンが更新されたときにデータのKeyが増加されていくようなものに関しては、バックアップデータをデータベースにリストアすることによって、クライアントにしか増加したKeyが存在しないようなケースが発生する。そのような場合であっても、サーバーのデータを反映した上で、クライアントの保持している全KeyとValueでサーバーのデータを更新することで、データの不整合を解消することができる。さらに、ユーザー/グループ単位で扱うユーザー設定データのようなデータの場合には、全データを取得しなおすのではなく、ユーザー/グループ単位で必要なデータのみを再取得して不整合を解消できる。
[第3の実施形態]
本発明の第3の実施例では、データ同期サーバーアプリケーション400がデータ不整合エラーを応答する判断処理が第1の実施形態とは異なるため、異なる処理について説明を行う。
第1、第2の実施形態では、デジタル複合機110a上でデータ同期サーバーアプリケーション400が動作するとして説明していたが、本実施例では、サーバー120a上でデータ同期サーバーアプリケーション400が動作する。
第1実施形態と同様、図8のデータベース410で管理するデータ例に対して「2014/08/27 13:00:00.112」にバックアップ処理を実行し、リストア処理を「2014/08/28 08:00:00.225」に実行する。そして、デジタル複合機110aとデジタル複合機110bとがそれぞれデータの差分同期のためのデータ取得要求を実施した場合の処理を図12のフローチャートを用いて説明する。ここで、デジタル複合機110aはリストア直前の「2014/08/28 07:59:10.487」に差分データの取得要求を実行していて、デジタル複合機110bは「2014/08/27 10:54.14.369」以降、差分データの取得要求を実行していなかったとする。
まず、デジタル複合機110aのデータ同期クライアントアプリケーション500から「2014/08/28 07:59:10.487」以降の差分データに対する取得要求を受信した場合の、サーバー120a上のデータ同期サーバーアプリケーション400の処理について図12を参照して説明する。データ同期サーバーアプリケーション400の通信処理部401が、データ同期クライアントアプリケーション500からの要求を受信したら制御部402に要求受信を通知する(ステップS1201)。制御部402は受信した要求を要求解析部403に渡し、要求の解析を依頼する。要求解析部403は、受信した要求から、要求元のデジタル複合機がデジタル複合機110aであることと、要求が「2014/08/28 07:59:10.487」以降の差分データ取得要求であることを特定する(ステップS1202)。制御部402は、要求解析部403から解析結果を取得したら、それが差分データ取得要求であるかどうかを判断する(S1203)。差分データ取得要求だと制御部402が判断したら、制御部402はリストア処理部405から未アクセスクライアントリスト情報を取得する(ステップS1204)。リストア処理部405が保持する未アクセスクライアントリスト情報は、リストア処理を実行したときに、データベース410にリストア処理部405がアクセスして、クライアント装置情報のリストを取得して生成する。
リストア処理部405は、リストア処理を行った際に、リストア処理とは不可分的にクライアント装置情報810にアクセスし、その装置IDを取得し、装置IDごとに、それぞれの装置で保持されているデータを関連付けた初期の未アクセスクライアントリストを作成する。ここでいうデータとは、全データ更新時に単位となる例えばデータファイルである。未アクセスクライアントリスト情報のデータ例を図13に示す。未アクセスクライアントリスト情報では、クライアント装置と対象データの組み合わせで管理されている。図13は本システムにおける未アクセスクライアントリスト情報の初期値の例である。すべてのクライアント装置と、該クライアント装置のデータとがリストに含まれている。
ステップS1205では、制御部402は、ステップS1202で特定した要求元のデジタル複合機110aと要求内容の対象データ(例えば「User1」のユーザー設定データだったとする)の組み合わせが、未アクセスクライアントリスト情報に存在するかどうかを判断する。存在すると制御部402が判断した場合には、リストア処理部405に対して「デジタル複合機110a」で「ユーザー設定データ」の情報を未アクセスクライアントリスト情報から削除するように要求する。リストア処理部は、保持している未アクセスクライアントリスト情報を更新して、処理結果を制御部402に返す(ステップS1206)。制御部402は、通信処理部401にデータ不整合エラーを返却するように依頼し、通信処理部401は要求元のデジタル複合機110aに対してデータ不整合エラーを応答して(ステップS1207)、処理終了となる。
デジタル複合機110aのデータ同期クライアントアプリケーション500の通信処理部504は、データ同期サーバーアプリケーション400からデータ不整合エラーが返却されてきたことを検知したら、同じデータに関して、差分データではなく全データ取得要求(「User1」のユーザー設定データ全取得要求)をデータ同期サーバーアプリケーション400に対して送信する。
データ同期サーバーアプリケーション400が全データ取得要求を受信した場合、前述同様処理が実行されて、ステップS1203で、制御部402が差分データ取得要求ではないと判断する。その場合、制御部402は、データアクセス部406に対して全データ取得要求処理を依頼する。データアクセス部406は、処理実行時のデータ同期サーバーアプリケーション400が動作するサーバー120aの日時を特定して保持しておく(ステップS1208)。データアクセス部406は、データベース410に対してデータ取得要求を行い、要求されたデータを全て取得する(ステップS1209)。データアクセス部406は取得したデータとステップS1208で保持した日時情報を制御部402に応答し、制御部402はリストア処理部405に未アクセスクライアントリスト情報から要求元の情報処理装置と要求対象データの組み合わせを削除するよう依頼する(ステップS1210)。ここで、未アクセスクライアントリスト情報に該当データがなければそのまま成功とする。未アクセスクライアントリスト情報が更新できたら、制御部402は通信処理部401に取得したデータを要求元に送信するよう依頼する。通信処理部401は、日時情報とデータを所定のフォーマットに変換して、処理結果として要求元のデータ同期クライアントアプリケーション500に送信し(ステップS1211)、処理終了となる。
データ同期クライアントアプリケーション500は、通信処理部504で応答データを受信したら、通信処理部504がデータを解析する。通信処理部504は、解析して特定したデータを対象のアプリケーション510に通知し、アプリケーション510は、保持していたデータを削除して、新たにデータ同期サーバーアプリケーションから応答されたデータを登録する。ここで、取得したユーザー設定データは「User1」だけであるが、アプリケーション510は、全ユーザー/グループのユーザー設定データを削除する。また、通信処理部504は、解析して特定した日時情報で同期情報管理部505に最終データ取得日時情報の更新を依頼し、同期情報管理部505は保持していた全ユーザー/グループの最終データ取得日時情報を削除して、更新依頼を受けたユーザーの最終データ取得日時情報を更新する。
次に、デジタル複合機110bのデータ同期クライアントアプリケーション500から「2014/08/27 10:54.14.369」以降の差分データに対する取得要求を受信した場合の、データ同期サーバーアプリケーション400の処理について説明する。第1実施形態の場合には、ステップS1006の判断に違いが出たが、本実施形態の場合には、デジタル複合機110aのときと同じ処理となる。例えば、デジタル複合機110bの場合には対象データがユーザー認証用データであったとしたら、未アクセスクライアントリストから「D00002」の「ユーザー認証用データ」の組み合わせがリストから削除される。そして、データ同期クライアントアプリケーション500の通信処理部504が、不整合エラー応答に応じて、ユーザー認証用データを全取得して対象のアプリケーション510に通知し、アプリケーション510は、保持していたデータを更新し、同期情報管理部505が最終データ同期日時を更新する。
以上説明したように、リストア処理実施後の最初の差分取得要求時にはデータ不整合エラーを返すようにすることで、データ同期の不整合を解消することが可能である。
[第4の実施形態]
本発明の第4の実施形態は、データ不整合エラーを受信した際のデータ同期クライアントアプリケーション500の処理と、データ同期サーバーアプリケーション400が応答するデータが異なるため、異なる処理について説明を行う。なお以下の説明でサーバーとは、デジタル複写機110またはサーバー120のいずれであってもよい。
データ不整合エラーを受信した際のデータ同期クライアントアプリケーション500の処理を図14のフローチャートを使用して説明する。データ同期サーバーアプリケーション400がデータ不整合エラーを応答すると判断した場合、本実施形態ではデータ不整合エラーの情報とともに、ステップS1005で特定したバックアップデータの日時情報を合わせて要求元に応答する。データ同期クライアントアプリケーション500がデータ不整合エラーを受信した場合、データ同期サーバーアプリケーション400から応答されたバックアップデータの日時情報を、通信処理部504が応答データから取得する(ステップS1401)。通信処理部504は、データ不整合エラーであることとバックアップデータの日時情報を使用して、デジタル複合機110の操作部220に選択ダイアログ(ユーザーインターフェース)を表示する。表示されるダイアログ例を図15に示す。選択ダイアログ1501には、取得したバックアップデータの日時情報を使用して、サーバーのデータがいつの時点に戻っているかが表示される。さらに、再取得ボタン1502と再登録ボタン1503とが表示される。デジタル複合機110を使用しているユーザーは、デジタル複合機110内のデータを破棄してサーバーのデータを取得する(再取得ボタン1502を選択)か、デジタル複合機110内にあるデータをサーバーに再登録する(再登録ボタン1503を選択)か、選択する。選択結果を通信処理部504が検知したら、選択された内容に応じた処理を実行する(ステップS1403)。再取得ボタン1502を選択された場合、ステップS1405に進み、第1実施形態で説明した処理と同様、サーバーから対象データを全取得して、デジタル複合機110内のデータを破棄し、全取得したデータをデジタル複合機110内に登録しなおして同期処理は終了となる。再登録ボタン1503が選択された場合、ステップS1404に進む。ステップS1404では、通信処理部504が、アプリケーション510から対象データを全て取得して、データ同期サーバーアプリケーション400に対して、データの更新要求を行う。データ同期サーバーアプリケーション400は、受信したデータを用いてデータベース410に保持しているデータを全て更新し、結果を応答する。通信処理部504が更新要求成功を受信したら同期処理は終了となる。
以上説明したように、デジタル複合機110の管理者が管理するデータではなく、デジタル複合機110を使用するユーザーが管理するデータに関しては、管理者がサーバーのデータをリストアしたからといって、強制的にユーザーが登録したデータもバックアップ時に戻すのではなく、ユーザーが選択できるようにできる。
[その他の実施例]
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
110a:デジタル複合機、120a:サーバー、400:データ同期サーバアプリケーション、500:データ同期クライアントアプリケーション、410:データベース510:アプリケーション

Claims (17)

  1. データベースを管理するサーバーと少なくとも1台のクライアントとの間で、前記クライアントからの同期要求に応じて対象データの同期を維持するデータ同期システムであって、
    前記クライアントと前記サーバーとの最後の同期が、前記データベースのバックアップとリストアとの間には行われていない場合には、前記クライアントは前記サーバーから前記対象データについて、前記最後の同期以降の差分データを取得して該差分データを前記クライアントの対象データに適用して対象データを更新し、
    前記クライアントと前記サーバーとの最後の同期が、前記データベースのバックアップとリストアとの間に行われている場合には、前記クライアントは前記サーバーから前記対象データの全体を取得して前記クライアントの対象データを更新する
    ことを特徴とするデータ同期システム。
  2. 前記サーバーは、前記クライアントから受信した、差分データを要求する同期要求に含まれた同期要求ポイントに基づいて前記クライアントと前記サーバーとの最後の同期が行われた時点を判定し、前記クライアントと前記サーバーとの最後の同期が、前記データベースのバックアップとリストアとの間に行われている場合には、前記クライアントに対して、エラー応答を送信し、該エラー応答を受信したクライアントは前記サーバーから対象データの全体を要求して取得することを特徴とする請求項1に記載のデータ同期システム。
  3. 前記サーバーは、前記クライアントから受信した、差分データを要求する同期要求が、前記データベースのリストア後に初めて受信した前記クライアントからの同期要求である場合には、前記クライアントと前記サーバーとの最後の同期が、前記データベースのバックアップとリストアとの間に行われていると判定し、前記クライアントに対して、エラー応答を送信し、該エラー応答を受信したクライアントは前記サーバーから対象データの全体を要求して取得することを特徴とする請求項1に記載のデータ同期システム。
  4. 前記サーバーは、前記データベースがリストアされた際に、前記サーバーとの間でデータの同期を維持しているクライアントのリストを作成し、前記クライアントから前記差分データを要求する同期要求を受信したなら前記リストを参照して、要求元のクライアントが前記リストに含まれている場合には、前記同期要求は、前記データベースのリストア後に前記クライアントから初めて受信したものと判定するとともに、前記リストから当該クライアントを削除することと特徴とすることを特徴とする請求項3に記載のデータ同期システム。
  5. 前記サーバーは、前記クライアントから受信した、対象データの全体を要求する同期要求に対しては、要求に応じて前記対象データの全体を送信することを特徴とする請求項2乃至4のいずれか一項に記載のデータ同期システム。
  6. 前記クライアントは、前記サーバーからエラー応答を受信した場合、前記対象データが、クライアントによらず固定のデータ形式となるデータである場合には、前記対象データの全体を前記サーバーから取得して前記クライアントの対象データを更新し、
    前記対象データが、所定の単位で取得されるデータの場合には、前記対象データのうち同期の対象となる単位を前記サーバーから取得して前記クライアントの対象データを更新し、
    前記対象データが、データ形式が更新によって変化する可能性があるデータの場合には、前記対象データの全体を前記サーバーから取得して前記クライアントの対象データを更新し、さらに、前記クライアントの前記対象データで前記サーバーの前記対象データを置き換えることを特徴とする請求項1乃至5のいずれか一項に記載のデータ同期システム。
  7. 前記クライアントは、さらに、エラー応答を受信した場合に、前記サーバーのデータを再取得するか、前記サーバーにデータを再登録するかを選択するためのダイアログを表示し、
    前記ダイアログにおいて、前記再取得が選択された場合には、前記クライアントの対象データを更新し、前記再登録が選択された場合には、前記クライアントの対象データにより前記サーバーの対象データを置き換えることを特徴とする請求項1乃至6のいずれか一項に記載のデータ同期システム。
  8. データベースを管理するサーバーと少なくとも1台のクライアントとの間で、前記クライアントからの同期要求に応じて対象データの同期を維持するためのデータ同期方法であって、
    前記クライアントと前記サーバーとの最後の同期が、前記データベースのバックアップとリストアとの間には行われていない場合には、前記クライアントは前記サーバーから前記対象データについて、前記最後の同期以降の差分データを取得して該差分データを前記クライアントの対象データに適用して対象データを更新し、
    前記クライアントと前記サーバーとの最後の同期が、前記データベースのバックアップとリストアとの間に行われている場合には、前記クライアントは前記サーバーから前記対象データの全体を取得して前記クライアントの対象データを更新する
    ことを特徴とするデータ同期方法。
  9. データベースを管理する情報処理装置と少なくとも1台のクライアントとの間で対象データの同期を維持するデータ同期システムにおいて、前記情報処理装置が、
    前記クライアントからの同期要求を受信する受信手段と、
    受信した前記同期要求に基づいて、前記クライアントと前記サーバーとの最後の同期が、前記データベースのバックアップとリストアとの間に行われたか否かを判定する判定手段と、
    前記最後の同期が、前記データベースのバックアップとリストアとの間に行われていない場合には、前記クライアントに対して、前記対象データについて前記最後の同期以降の差分データを送信し、前記最後の同期が、前記データベースのバックアップとリストアとの間に行われている場合には、前記クライアントに対してエラー応答を送信する送信手段とを有し、
    前記クライアントは、前記差分データを受信すると当該クライアントの対象データを前記差分データで更新し、前記エラー応答を受信すると前記サーバーから前記対象データの全体を取得して前記対象データを更新することを特徴とする情報処理装置。
  10. 前記判定手段は、前記同期要求に含まれた同期要求ポイントに基づいて前記クライアントと前記サーバーとの最後の同期が行われた時点を判定することを特徴とする請求項9に記載の情報処理装置。
  11. 前記判定手段は、前記同期要求が、前記データベースのリストア後に初めて受信した前記クライアントからの同期要求である場合には、前記クライアントと前記サーバーとの最後の同期が、前記データベースのバックアップとリストアとの間に行われていると判定することを特徴とする請求項9に記載の情報処理装置。
  12. 前記データベースがリストアされた際に、前記サーバーとの間でデータの同期を維持しているクライアントのリストを作成する手段を更に有し、
    前記判定手段は、前記クライアントから差分データを要求する同期要求を受信したなら前記リストを参照して、要求元のクライアントが前記リストに含まれている場合には、前記同期要求は、前記データベースのリストア後に前記クライアントから初めて受信したものと判定するとともに、前記リストから当該クライアントを削除することと特徴とすることを特徴とする請求項11に記載の情報処理装置。
  13. 前記送信手段は、前記前記クライアントから受信した、対象データの全体を要求する同期要求に対しては、要求に応じて前記対象データの全体を送信することを特徴とする請求項10乃至12のいずれか一項に記載の情報処理装置。
  14. データベースを管理するサーバーと少なくとも1台の情報処理装置との間で対象データの同期を維持するデータ同期システムにおいて、前記情報処理装置は、
    前記サーバーに対して同期要求を送信する送信手段と、
    前記サーバーから応答を受信する受信手段とを有し、
    前記受信手段により最後の同期処理の後の差分データを受信すると、前記対象データを前記差分データで更新し、前記エラー応答を受信すると前記サーバーから前記対象データの全体を取得して前記対象データを更新する更新手段と
    を有することを特徴とする情報処理装置。
  15. 前記サーバーからエラー応答を受信した場合、前記対象データが、クライアントによらず固定のデータ形式となるデータである場合には、前記対象データの全体を前記サーバーから取得して前記クライアントの対象データを更新し、
    前記対象データが、所定の単位で取得されるデータの場合には、前記対象データのうち同期の対象となる単位を前記サーバーから取得して前記クライアントの対象データを更新し、
    前記対象データが、データ形式が更新によって変化する可能性があるデータの場合には、前記対象データの全体を前記サーバーから取得して前記クライアントの対象データを更新し、さらに、前記クライアントの前記対象データで前記サーバーの前記対象データを置き換えることを特徴とする請求項14に記載の情報処理装置。
  16. 前記クライアントは、さらに、前記エラー応答を受信した場合に、前記サーバーのデータを再取得するか、前記サーバーにデータを再登録するかを選択するためのダイアログを表示し、
    前記ダイアログにおいて、前記再取得が選択された場合には、前記クライアントの対象データを更新し、前記再登録が選択された場合には、前記クライアントの対象データにより前記サーバーの対象データを置き換えることを特徴とする請求項14又は15に記載の情報処理装置。
  17. 請求項9乃至16のいずれか一項に記載の情報処理装置としてコンピュータを機能させるためのプログラム。
JP2014210169A 2014-10-14 2014-10-14 情報処理装置とデータ同期方法、データ同期システムおよびプログラム Expired - Fee Related JP6506527B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2014210169A JP6506527B2 (ja) 2014-10-14 2014-10-14 情報処理装置とデータ同期方法、データ同期システムおよびプログラム
US15/503,558 US10205842B2 (en) 2014-10-14 2015-09-10 Information processing system in which an information processing apparatus sends updated setting information to a connected device, information processing apparatus, control method of information processing apparatus, and storage medium
CN201580055866.5A CN106797402B (zh) 2014-10-14 2015-09-10 信息系统、信息处理装置及其控制方法、计算机可读介质
PCT/JP2015/004603 WO2016059749A1 (en) 2014-10-14 2015-09-10 Information processing system, information processing apparatus, control method of information processing apparatus, image forming apparatus, control method of image forming apparatus, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014210169A JP6506527B2 (ja) 2014-10-14 2014-10-14 情報処理装置とデータ同期方法、データ同期システムおよびプログラム

Publications (3)

Publication Number Publication Date
JP2016081189A true JP2016081189A (ja) 2016-05-16
JP2016081189A5 JP2016081189A5 (ja) 2017-12-21
JP6506527B2 JP6506527B2 (ja) 2019-04-24

Family

ID=54292875

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014210169A Expired - Fee Related JP6506527B2 (ja) 2014-10-14 2014-10-14 情報処理装置とデータ同期方法、データ同期システムおよびプログラム

Country Status (4)

Country Link
US (1) US10205842B2 (ja)
JP (1) JP6506527B2 (ja)
CN (1) CN106797402B (ja)
WO (1) WO2016059749A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018060414A (ja) * 2016-10-06 2018-04-12 キヤノン株式会社 データ管理システム、データ管理装置、方法、およびプログラム

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6511946B2 (ja) * 2015-05-11 2019-05-15 富士ゼロックス株式会社 情報処理システム、情報処理装置及び情報処理プログラム
CN111105216B (zh) * 2019-12-27 2023-08-25 中水北方勘测设计研究有限责任公司 基于局域网络的电缆统计方法及应用
CN111800476A (zh) * 2020-06-14 2020-10-20 洪江川 基于大数据和云计算的数据处理方法及云端大数据服务器
JP7274161B1 (ja) * 2021-06-14 2023-05-16 株式会社ソフトギア 情報処理装置、データ同期プログラム、データ同期方法、データ同期システム及び端末装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11168555A (ja) * 1997-12-05 1999-06-22 Fujitsu Ltd インテリジェントネットワーク内のデータベースの同期方法と装置
JP2000163344A (ja) * 1998-11-27 2000-06-16 Nec Corp ネットワーク管理システムのデータベース復旧方式

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001067304A (ja) 1999-08-24 2001-03-16 Canon Inc 多機能装置および該装置における装着されたデバイスの識別方法
JP2005063363A (ja) * 2003-08-20 2005-03-10 Fujitsu Ltd データバックアップ装置、データバックアップ方法およびデータバックアッププログラム
JP4668763B2 (ja) 2005-10-20 2011-04-13 株式会社日立製作所 ストレージ装置のリストア方法及びストレージ装置
CN100464334C (zh) * 2007-06-06 2009-02-25 中国工商银行股份有限公司 应用于数据仓库的数据增量备份与恢复的方法
JP5795554B2 (ja) 2012-05-31 2015-10-14 株式会社エヌ・ティ・ティ・データ 差分暗号化によるファイル同期システム、その方法およびプログラム
CN103051732A (zh) * 2013-01-18 2013-04-17 上海云和信息系统有限公司 实现数据自动推送分发功能的云计算系统及自动推送方法
JP6525769B2 (ja) 2015-06-30 2019-06-05 キヤノン株式会社 管理装置、制御方法およびプログラム、並びに、システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11168555A (ja) * 1997-12-05 1999-06-22 Fujitsu Ltd インテリジェントネットワーク内のデータベースの同期方法と装置
JP2000163344A (ja) * 1998-11-27 2000-06-16 Nec Corp ネットワーク管理システムのデータベース復旧方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018060414A (ja) * 2016-10-06 2018-04-12 キヤノン株式会社 データ管理システム、データ管理装置、方法、およびプログラム

Also Published As

Publication number Publication date
CN106797402A (zh) 2017-05-31
US10205842B2 (en) 2019-02-12
US20170244857A1 (en) 2017-08-24
CN106797402B (zh) 2020-03-10
WO2016059749A1 (en) 2016-04-21
JP6506527B2 (ja) 2019-04-24

Similar Documents

Publication Publication Date Title
CN106797402B (zh) 信息系统、信息处理装置及其控制方法、计算机可读介质
JP2009070143A (ja) Nas装置の差分リモートバックアップにおけるデータ復旧方法及び計算機システム
JP2019139591A (ja) システムおよびそれを用いる方法
KR101958245B1 (ko) 정보 처리장치, 정보 처리 시스템, 정보 처리장치의 제어방법 및 프로그램
JP5602419B2 (ja) 画像形成装置、画像形成装置の制御方法及びプログラム
JP2017097769A (ja) 情報処理装置及びその制御方法、システム、プログラム
JP6196389B2 (ja) 分散型ディザスタリカバリファイル同期サーバシステム
JP2020065124A (ja) 通信システム、情報処理装置、およびその制御方法、プログラム
US10911306B2 (en) Information processing apparatus, control method, and storage medium storing program
US10379789B2 (en) Data management system that updates a replication database, data management apparatus, method, and storage medium storing program
JP2016031593A (ja) サーバ装置、情報処理装置、情報処理システム、サーバ装置の制御方法、情報処理装置の制御方法及びプログラム
JP6639363B2 (ja) サーバ装置、情報処理方法及びプログラム
JP6643114B2 (ja) 画像処理装置、その制御方法、及びプログラム
JP6808328B2 (ja) 情報処理装置、バックアップ方法、情報処理装置の制御方法、及びプログラム
JP6482698B2 (ja) ネットワークデバイス、ネットワークデバイスの制御方法、及びプログラム
JP6812249B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP2018073283A (ja) システム、サーバー装置、クライアント装置、情報処理方法及びプログラム
JP7171685B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP2016081161A (ja) 管理装置管理装置の制御方法、及びプログラム
JP6987503B2 (ja) システム、情報処理装置、情報処理方法及びプログラム
JP2021177356A (ja) 情報処理装置、情報処理装置の制御方法およびプログラム
JP2022159845A (ja) 情報処理システム及び方法
JP6296852B2 (ja) ネットワークデバイス、ネットワークデバイスの制御方法、及びプログラム
JP2021060934A (ja) 情報処理装置とその制御方法、設定値管理システムおよびプログラム
JP2017097797A (ja) 通信装置、情報処理方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171016

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171113

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180629

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180713

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180910

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190301

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190329

R151 Written notification of patent or utility model registration

Ref document number: 6506527

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees