JP2018116357A - システム、情報処理装置、情報処理方法及びプログラム - Google Patents

システム、情報処理装置、情報処理方法及びプログラム Download PDF

Info

Publication number
JP2018116357A
JP2018116357A JP2017005190A JP2017005190A JP2018116357A JP 2018116357 A JP2018116357 A JP 2018116357A JP 2017005190 A JP2017005190 A JP 2017005190A JP 2017005190 A JP2017005190 A JP 2017005190A JP 2018116357 A JP2018116357 A JP 2018116357A
Authority
JP
Japan
Prior art keywords
data
update
failure
information processing
information
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
JP2017005190A
Other languages
English (en)
Other versions
JP2018116357A5 (ja
JP6987503B2 (ja
Inventor
祐喜 中森
Yuki Nakamori
祐喜 中森
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 JP2017005190A priority Critical patent/JP6987503B2/ja
Publication of JP2018116357A publication Critical patent/JP2018116357A/ja
Publication of JP2018116357A5 publication Critical patent/JP2018116357A5/ja
Application granted granted Critical
Publication of JP6987503B2 publication Critical patent/JP6987503B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】データの保全性を向上させることを目的とする。【解決手段】第1のデータの第1の更新に応じた第2のデータの第2の更新の失敗を検知し、第2の更新の失敗が検知された場合、第1のデータの内容を示す情報である内容情報を、第2のデータの管理先に送信し、第2のデータの管理先で、送信された内容情報に基づいて、第2のデータの内容を、第1のデータの内容に更新する。【選択図】図7

Description

本発明は、システム、情報処理装置、情報処理方法及びプログラムに関する。
近年、複合機等のネットワークに接続可能な情報処理装置内に記憶されているデータに関して、そのマスターデータをネットワークに接続された管理サーバー等の他の情報処理装置に保存して一元管理することがある。そのデータとそのデータのマスターデータとは、内容が同期されており、管理サーバー上のマスターデータの内容が更新されると、更新後の内容が複合機等に通知されて複合機等の内部のデータの内容も更新される。同様に、複合機等の内部のデータの内容が更新されると、管理サーバー上のマスターデータの内容も更新される。特許文献1に記載のシステムでは、複合機のデータが更新されると、更新内容がマスターデータに反映される。
また、管理サーバーに問題が発生した場合にシステムを維持できなくなることに備えて、特許文献2のように、マスターデータの複製データを管理サーバーとは別の情報処理装置において保存させ、データの二重化を行う方法やシステムが提案されている。
一方、特許文献3には、ネットワークを介してデータの多重化を行う際にデータが破損することにより多重化が行えなかった等の場合に、データを復旧させる方法も提案されている。
特開2015−121989号公報 特許第5691246号公報 特許第5130538号公報
情報処理装置が管理するあるデータの複製データを、他の情報処理装置に管理させる場合、従来の技術では、同期処理に失敗した場合、複製データが元のデータと内容が一致しているかを確認できず、データの保全性を保証できない場合がある。データの保全性とは、データが矛盾なく整合していることである。
例えば、特許文献1のシステムでは、複合機においてデータの更新が有った場合に、同期処理により、マスターデータ全体が上書きされるのではなく、複合機において更新があった一部のデータが更新される。即ち、前回同期した際のデータとの差分の情報が複合機からサーバーに通知され、通知された差分の情報によって、マスターデータの一部が更新される。
このマスターデータについて、特許文献2や特許文献3のシステムのように、マスターデータの複製データを、マスターデータとは別に管理することを考える。その場合、マスターデータが更新される度に複製データも更新されることとなる。この更新は上述のように、前回同期した際のマスターデータと現在のマスターデータとの差分の情報を用いて行われる。
この際、複製データの更新が失敗した場合、マスターデータと、複製データとの間で更新差分を用いた更新状況にずれが生じてしまう。このような場合、マスターデータと複製データとの内容が一致するか否かの確認が困難となり、データの保全性が低下するという問題がある。
本発明のシステムは、第1のデータを管理する第1の情報処理装置と、前記第1のデータの複製である第2のデータを管理する第2の情報処理装置と、を含むシステムであって、前記第1の情報処理装置は、前記第1のデータの第1の更新に応じた前記第2のデータの第2の更新の失敗を検知する第1の検知手段と、前記第1の検知手段により前記第2の更新の失敗が検知された場合、前記第1のデータの内容を示す情報である内容情報を、前記第2の情報処理装置に送信する送信手段と、を有し、前記第2の情報処理装置は、前記第1の情報処理装置から前記内容情報が受信された場合、受信された前記内容情報に基づいて、前記第2のデータの内容を、前記第1のデータの内容に更新する更新手段を有する。
本発明によれば、データの保全性を向上させることができる。
同期システムのシステム構成の一例を示す図である。 複合機のハードウェア構成の一例を示す図である。 複合機の機能構成の一例を示す図である。 設定画面の一例を示す図である。 複合機の機能構成の一例を示す図である。 複合機の処理の一例を示すフローチャートである。 複合機の処理の一例を示すフローチャートである。 複合機の処理の一例を示すフローチャートである。 複合機の処理の一例を示すフローチャートである。 通知画面の一例を示す図である。 複合機の処理の一例を示すフローチャートである。
以下、本発明の実施形態について図面に基づいて説明する。
<実施形態1>
図1は、同期システムのシステム構成の一例を示す図である。同期システムは、複合機110a、複合機110b、複合機110cを含む。各要素は、LANやインターネット等のネットワーク100を介して相互に接続されている。以下では、複合機110a、複合機110b、複合機110cを総称して複合機110とする。複合機110のそれぞれは、ネットワーク接続可能な情報処理装置の一例であり、印刷機能やスキャン機能を有する。
複合機110aは、サーバー機能を有する。複合機110aのサーバー機能は、複合機110の各種設定データを管理している。設定データとは、複合機110の動作に関する種々のデータであり、例えば印刷設定の情報等である。複合機110aのサーバー機能120は、管理している設定データのレプリケーションを、複合機110のうちの何れかに対して実施する。レプリケーションとは、情報処理装置が記憶するあるデータの複製を他の情報処理装置内に生成して、双方のデータを同期させながら管理する処理のことである。本実施形態では、複合機110aは、サーバー機能120を介して管理している各種設定データのレプリケーションを、複合機110cに対して実施することとする。複合機110aは、第1の情報処理装置の一例である。複合機110cは、第2の情報処理装置の一例である。
複合機110aのサーバー機能は、複合機110のそれぞれを、データの同期を行う対象の複合機として登録する。同期システムにおいて、複合機110のそれぞれは、ユーザーによる操作やコピー/FAX等の処理実行等によって内部のデータに更新が発生した場合、その更新内容を複合機110aのサーバー機能へ送信して、設定データの更新を要求する。複合機110aのサーバー機能は、送信された更新内容に応じて、管理する設定データを更新する。複合機110aのサーバー機能は、設定データに更新があるか否かを定期的、又は必要に応じて、複合機110のそれぞれに問い合わせ、更新されたデータがあれば更新内容を取得して、取得した更新内容に応じて管理する設定データを更新する。
本実施形態では、データの同期処理を行うサーバー機能が複合機110aに実装されることとする。しかし、例えば、同期システムにパーソナルコンピュータやサーバー装置等の情報処理装置が含まれる場合、それらの情報処理装置にサーバー機能が実装されることとしてもよい。また、本実施形態では、同期システムは、複合機110のそれぞれに記憶されているデータを同期させることとする。しかし、同期システムは、例えば、同期システムに複合機110以外に複数の情報処理装置が含まれている場合、その複数の情報処理装置に記憶されているデータを同期させることとしてもよい。また、本実施形態では、同期システムは、複合機110のそれぞれ内の設定データを同期することとするが、他のデータ(例えば、複合機110の利用履歴データ等)を同期することとしてもよい。
図2は、複合機110のハードウェア構成の一例を示す図である。複合機110は、コントローラユニット200、操作部220、スキャナ230、プリンタ240を含む。コントローラユニット200は、操作部220と接続されるとともに、画像入力デバイスであるスキャナ230や画像出力デバイスであるプリンタ240とも接続される。
コントローラユニット200は、操作部I/F201、CPU(Central Processing Unit)202、RAM(Random Access Memory)203を含む。また、コントローラユニット200は、デバイスI/F204、HDD(Hard Disk Drive)205、ROM(Read Only Memory)206、NetworkI/F207、画像処理部208を含む。各要素は、システムバス210を介して、相互に接続されている。
操作部I/F201は、タッチパネル等の入力装置で構成される操作部220を介した入力を受付けるインタフェースである。操作部I/F201は、操作部220に表示する各種データ等の情報を操作部220に送信したり、操作部220に対して入力された情報を取得して、CPU202に送信したりする。CPU202は、コントローラユニット200を制御する中央演算装置である。
RAM203は、CPU202のワークエリアやデータの一時的な記憶場所として機能する記憶装置である。デバイスI/F204は、スキャナ230やプリンタ240等のデバイスとの間のデータや制御信号の入出力に利用されるインタフェースである。HDD205は、各種設定情報、各種プログラム等を記憶する記憶装置である。ROM206は、各種設定情報やブートプログラム等を記憶する記憶装置である。
NetworkI/F207は、ネットワーク100に接続され、ネットワーク100を介してネットワーク100上の各装置との間での情報の入出力に利用されるインタフェースである。画像処理部208は、スキャナ230からの入力画像処理、プリンタ240への出力画像処理、画像回転、画像圧縮、解像度変換、色空間変換、階調変換等の処理を行う演算装置である。
CPU202は、ROM206に格納されているブートプログラムを実行することで、OS(Operating System)を立ち上げる。CPU202は、立ち上げたOS上で、HDD205に記憶されている各種プログラムを実行し、各種処理を実現する。
複合機110aのCPUが、複合機110aのHDD又はROMに記憶されたプログラムに基づき処理を実行することで、図3で後述する複合機110aの機能及び図6、7、9、11で後述するフローチャートの処理等が実現される。
複合機110cのCPUが、複合機110cのHDD又はROMに記憶されたプログラムに基づき処理を実行することで、図5で後述する複合機110cの機能及び図8で後述するフローチャートの処理等が実現される。
図3は、複合機110aの機能構成等の一例を示す図である。
複合機110aは、データ管理アプリケーション300、データ管理部310を含む。データ管理アプリケーション300は、複合機110aのサーバー機能を実現する。データ管理部310は、複合機110aのHDD205、RAM203等に記憶されている設定データを管理する。また、複合機110のそれぞれは、データ同期クライアント320を含む。
データ管理アプリケーション300は、送受信部301、制御部302、解析部303、データ処理部304、表示制御部305を含む。送受信部301は、NetworkI/F207を介して、複合機110の何れかからの処理要求を受信したり、要求された処理の結果を示す情報を要求元に送信したりする。制御部302は、送受信部301により受信された処理要求に応じた処理の制御を行う。解析部303は、送受信部301により受信された処理要求を解析し、どのような処理の要求であるかを把握する。データ処理部304は、送受信部301により受信された処理要求に応じて、データ管理部310とやり取りしてデータの作成/更新/削除/参照を実行する。表示制御部305は、複合機110aの操作部に対して種々の情報を表示し、また、外部の装置に対して、種々のユーザーインターフェース画面を提供する。
データ同期クライアント320は、複合機110のそれぞれに実装されており、ネットワーク100を介して、サーバー機能を実現するデータ管理アプリケーション300とデータの送受信を行う。
本実施形態では、データ管理アプリケーション300及びデータ管理部310は、複合機110aに実装されることとした。しかし、データ管理アプリケーション300及びデータ管理部310は、複合機110のそれぞれに実装されることとしてもよい。その場合、複合機110のうちサーバー機能を実現する複合機において、データ管理アプリケーション300及びデータ管理部310が有効化され、他の複合機において、データ管理アプリケーション300及びデータ管理部310が無効化されることになる。
本実施形態では、データ管理アプリケーション300は、複合機110の設定データである「デバイス基本データ」「デバイス設定データ」「パーソナライズデータ」を管理する。「デバイス基本データ」は、同期システムに登録された複合機110の装置識別番号やバージョン等の装置情報に関するデータである。「デバイス設定データ」は、複合機110のネットワーク設定、プリンタ動作、スキャン動作等の設定情報、デバイスの動作情報等、に関するデータである。「パーソナライズデータ」は、複合機110を使用するユーザーが自分用のデータとして登録する表示言語やショートカットボタン等に関するデータである。データ管理アプリケーション300は、これらの設定データを、データ管理部310に管理するよう依頼する。そして、データ管理部310は、例えば、HDD205、RAM203等に実装された設定データを記憶するデータベース(DB)に、これらの設定データを記憶し管理する。データ管理アプリケーション300は、複合機110cにデータ管理部310により管理されているデータベースをレプリケーションする。
以下では、複合機110a、複合機110b、複合機110cが同期システムのクライアントとして登録済みであるとする。
図4は、データ管理部310により管理されるDBを別の複合機110にレプリケーションする際に利用される種々のパラメータを設定するための設定画面の一例を示す図である。以下では、データ管理部310により管理されるDBを、管理DBとする。管理DBは、第1のデータの一例である。また、データ管理アプリケーション300は、例えば、外部の情報処理装置からネットワーク100を介して、設定画面の表示の要求を受付ける。そして、データ管理アプリケーション300は、表示制御部305を介して、要求元の情報処理装置に図4の設定画面の情報を送信し、その情報処理装置の表示部に設定画面を表示させるように制御する。そして、データ管理アプリケーション300は、要求元の情報処理装置の表示部に表示された設定画面にユーザーにより入力された情報を受付ける。
また、データ管理アプリケーション300は、例えば、複合機110aの表示部に図4の設定画面を表示し、表示した設定画面を介してユーザーからの入力を受付けることとしてもよい。
図4の設定画面は、入力フィールド401、開始ボタン402、キャンセルボタンを含む。入力フィールド401は、レプリケーションに関するパラメータを入力する入力フィールドである。入力フィールド401には、レプリケーション先(管理DBの複製の管理先)となる複合機110のIPアドレス、レプリケーションの際の認証用のアクセスユーザー名及びパスワード、レプリケーション(データの同期処理)を実行する間隔等が入力される。データ管理アプリケーション300は、開始ボタン402の選択を検知すると、入力フィールド401に入力された情報に基づいて、レプリケーションの実行を開始する。
図5は、本実施形態におけるレプリケーション先である複合機110cの機能構成等の一例を示す図である。複合機110cは、レプリケーションアプリケーション500、データ管理部510を含む。データ管理部510は、管理DBを複製して生成されたDBを、複合機110cのHDD等に記憶し、管理する。そして、レプリケーションアプリケーション500は、データ管理部510により管理される管理DBを複製して生成されたDBを、管理DBと同期するように制御する。本実施形態では、レプリケーションアプリケーション500、及びデータ管理部510は、複合機110cに実装されることとするが、複合機110a、又は複合機110bに実装されることとしてもよい。また、レプリケーションアプリケーション500、及びデータ管理部510は、ネットワーク100に接続されたパーソナルコンピュータ(PC)、サーバー装置等の情報処理装置に実装されることとしてもよい。
レプリケーションアプリケーション500は、送受信部501、制御部502、解析部503、データ処理部504を含む。
送受信部501は、NetworkI/F207を介して、複合機110aからの処理の要求を受信したり、処理の結果を外部の装置に送信したりする。制御部502は、送受信部501により受信された処理の要求に応じた処理の制御を行う。解析部503は、送受信部501により受信された処理の要求を解析する。データ処理部504は、送受信部501により受信された処理の要求に応じて、データ管理部510とやり取りしてデータの作成/更新/削除/参照を実行する。データ管理部510が管理するデータは、複合機110cのHDDやRAM等に記憶される。
図6は、複合機110aの処理の一例を示すフローチャートである。データ管理アプリケーション300は、図4の設定画面の開始ボタン402の選択を検知した場合、図6のフローチャートの処理を開始する。図6を用いて、レプリケーションが開始された際の処理を説明する。本実施形態では、図4の設定画面の入力フィールド401にレプリケーション先として、複合機110cのIPアドレスが入力されたとする。
S601において、制御部302は、データ管理部310により管理される管理DBへのアクセスが他から行えないように制御する。制御部302は、例えば、データ処理部304にアクセス排他を要求する。そして、データ処理部304は、管理DBのデータが変更されないように、管理DBのデータをロックする。
S602において、制御部302は、図4の設定画面の入力フィールド401に入力されたIPアドレスへアクセス可能であるか否かを確認する。本実施形態では、図4の設定画面の入力フィールド401には、複合機110cのIPアドレスが入力されているので、制御部302は、複合機110cへアクセス可能か否かを確認する。
S603において、制御部302は、S602で複合機110cへアクセス可能であることが確認されたか否かを判定する。制御部302は、S602で複合機110cへアクセス可能であることが確認されたと判定した場合、S604の処理に進む。制御部302は、S602で複合機110cへアクセス可能であることが確認されなかったと判定した場合、S621の処理に進む。
S604において、制御部302は、送受信部301を介して、複合機110cのレプリケーションアプリケーション500に対して、管理DBの複製であるDBの受け入れが可能か否かの問い合わせを送信する。以下では、管理DBの複製であるDBを、複製DBとする。
S605において、制御部302は、S604で送信した問い合わせに対する複合機110cからの応答を受信したか否かを判定する。制御部302は、例えば、設定された期間の間、複合機110cからの応答を待機する。そして、制御部302は、設定された期間の間に複合機110cから応答を受信したら、複合機110cからの応答を受信したと判定する。また、制御部302は、設定された期間の間に複合機110cから応答がなければ、S604で送信した問い合わせに対する複合機110cからの応答を受信していないと判定する。制御部302は、S604で送信した問い合わせに対する複合機110cからの応答を受信したと判定した場合、S606の処理に進む。制御部302は、S604で送信した問い合わせに対する複合機110cからの応答を受信していないと判定した場合、S621の処理に進む。
S606において、制御部302は、S605で受信したと判定した複合機110cからの応答の内容が、複製DBを受け入れ可能であることを示す応答であるか否かを判定する。制御部302は、S605で受信したと判定した複合機110cからの応答の内容が、複製DBを受け入れ可能であることを示す応答であると判定した場合、S607の処理に進む。制御部302は、S605で受信したと判定した複合機110cからの応答の内容が、複製DBを受け入れできないことを示す応答であると判定した場合、S621の処理に進む。
S607において、制御部302は、データ処理部304に対して、管理DBの内容を示す情報の生成を指示する。管理DBの内容を示す情報を、管理DBの内容情報とする。管理DBの内容情報は、例えば、管理DBそのものの情報であってもよいし、初期状態の管理DBにこれまで加えられた全ての変更を示す設定された形式のログ情報等であってもよい。以下では、レプリケーションの開始の際に、レプリケーション先に送信されるデータを、レプリケーション用初期データとする。本実施形態では、制御部302は、データ処理部304に対して、レプリケーション用初期データとして、管理DBの内容情報の生成を指示する。
本実施形態では、データ処理部304は、管理DBそのものの情報を複製し、複製した情報を、レプリケーション用初期データとして制御部302に渡す。
制御部302は、データ処理部304からレプリケーション用初期データを取得し、送受信部301を介して、取得したレプリケーション用初期データを複合機110cに実装されるレプリケーションアプリケーション500に送信する。これにより、制御部302は、複製DBの登録をレプリケーションアプリケーション500に指示する。
レプリケーションアプリケーション500は、レプリケーション用初期データである複製DBを受信したら、以下の処理を行う。即ち、レプリケーションアプリケーションは、データ管理部510を介して、複製DBを、複合機110cのHDD等に記憶する。以降、データ管理部510は、記憶した複製DBを管理することになる。データ管理部510により管理される複製DBは、第2のデータの一例である。
S608において、制御部302は、送受信部301を介して、S607で指示した複製DBの登録が成功したことを示す応答をレプリケーションアプリケーションから受信したか否かを判定する。制御部302は、S607で指示した複製DBの登録が成功したことを示す応答をレプリケーションアプリケーション500から受信したと判定した場合、S609の処理に進む。また、制御部302は、S607で指示した複製DBの登録が成功したことを示す応答をレプリケーションアプリケーション500から受信していないと判定した場合、S622の処理に進む。
より具体的には、制御部302は、例えば、設定された期間の間、レプリケーションアプリケーション500からの応答を待機する。そして、制御部302は、レプリケーションアプリケーション500からの応答が、登録が成功したことを示す情報である場合、S609の処理に進む。また、制御部302は、レプリケーションアプリケーション500からの応答が、登録が成功したことを示す情報でない場合、又は、設定された期間内に応答がなかった場合、S622の処理に進む。
ここで、制御部302は、例えば、タイムアウトエラー(設定された期間に応答が得られなかった場合)等の場合、再度S607の処理をやり直してもよい。
S609において、制御部302は、複合機110cを管理DBのレプリケーション先として登録する。より具体的には、制御部302は、例えば、複合機110cの情報を、レプリケーション先を示す情報として、複合機110aのHDD等に記憶する。
S610において、制御部302は、レプリケーションのために必要な管理DBについての変更の内容を示す差分データの管理を、データ処理部304に指示する。差分データとは、管理DBについての変更の内容を示す情報である。
差分データの管理の指示を受けたデータ処理部304は、データ管理部310により管理される管理DBと、データ管理部510により管理される複製DBとの同期処理を実行する間隔でタイマーイベントをセットする。データ処理部304は、例えば、図4の設定画面の入力フィールドに入力された間隔でタイマーイベントをセットする。また、データ処理部304は、例えば、設定された間隔(例えば1時間等)でタイマーイベントをセットすることとしてもよい。そして、データ処理部304は、データ管理部310に対して、管理DBについての差分データの管理を指示する。以降、タイマーイベントが発生する度に、同期システムは、図7、8で後述する、管理DBとデータ管理部510により管理される複製DBとの同期処理を実行することになる。
データ管理部310は、管理DBの差分データの管理を開始する。これにより、データ管理部310は、S607で生成されたレプリケーション用初期データの内容からの変更を示す差分データを特定できるようになる。
S611において、制御部302は、データ処理部304にS601でかけられた管理DBのロックの解除を要求する。そして、データ処理部304は、管理DBのロックを解除し、管理DBへのアクセス排他を解除する。
S621において、制御部302は、複合機110cをレプリケーション先に設定できないことをユーザーに通知する。制御部302は、例えば、操作部220等に、複合機110cをレプリケーション先に設定できないことを示す情報(例えば、文字列、画像等)を表示することで、レプリケーション処理の開始に失敗したことをユーザーに通知する。また、制御部302は、例えば、複合機110cをレプリケーション先に設定できないことを示す情報を設定された送信先に送信することで、レプリケーション処理の開始に失敗したことをユーザーに通知してもよい。
S622において、制御部302は、レプリケーション処理の開始に失敗したことをユーザーに通知する。制御部302は、例えば、操作部220等にレプリケーション処理の開始に失敗したことを示す情報(例えば、文字列、画像等)を表示することで、レプリケーション処理の開始に失敗したことをユーザーに通知する。また、制御部302は、例えば、レプリケーション処理の開始に失敗したことを示す情報を設定された送信先に送信することで、レプリケーション処理の開始に失敗したことをユーザーに通知してもよい。
次に、S610でセットされたタイマーイベントが発生する度に行われる、管理DBとデータ管理部510により管理される複製DBとの同期処理について、図7、図8を用いて説明する。
図7は、複合機110aの処理の一例を示すフローチャートである。図7を用いて、データ管理アプリケーション300が定期的に同期用のデータを送信する際の処理を説明する。
制御部302は、S610でセットされたタイマーイベントが発生したことを検知し、図7の処理を開始する。図7のS601〜S603の処理は、図6のS601〜S603と同様の処理である。ただし、S603で、制御部302は、S602で複合機110cへアクセス可能であることが確認されたと判定した場合、S701の処理に進む。また、制御部302は、S602で複合機110cへアクセス可能であることが確認されなかったと判定した場合、S711の処理に進む。
S701において、制御部302は、データ処理部304に管理DBへの変更のうち、前回発生したタイマーイベントに応じた同期処理の実行後からの生じた変更を示す差分データの取得を指示する。前回発生したタイマーイベントに応じた同期処理の実行後からの生じた変更を示す差分データは、データ管理部510により管理される複製DBの更新の内容を示す更新情報の一例である。
データ処理部304は、データ管理部310により管理されている管理DBの差分データから、前回のタイマーイベントに応じた同期処理の実行後に生じた管理DBの変更を示す差分データを取得する。そして、データ処理部304は、取得した差分データを、同期処理用の差分データとして、制御部302に渡す。データ管理部310は、差分データとして、DBに対して実行したSQLの実行ログのデータを管理してもよいし、設定された形式のログのデータを管理してもよい。
制御部302は、データ処理部304から同期処理用の差分データを取得し、送受信部301を介して、取得した差分データをレプリケーションアプリケーション500に送信する。これにより、制御部302は、管理DBと、データ管理部510により管理される複製DBとの同期処理を、レプリケーションアプリケーション500に指示する。
また、データ処理部304は、今回のタイマーイベントが初めてのタイマーイベントである場合、データ管理部310により管理されている管理DBの差分データを全て取得し、制御部302に渡す。
S702において、制御部302は、S701で送信した同期処理の指示に対する複合機110cからの応答を受信したか否かを判定する。制御部302は、例えば、設定された期間の間、複合機110cからの応答を待機する。そして、制御部302は、設定された期間の間に複合機110cから応答を受信したら、複合機110cからの応答を受信したと判定する。また、制御部302は、設定された期間の間に複合機110cから応答がなければ、S701で送信した指示に対する複合機110cからの応答を受信していないと判定する。制御部302は、S701で送信した指示に対する複合機110cからの応答を受信したと判定した場合、S703の処理に進む。送受信部301は、S701で送信した指示に対する複合機110cからの応答を受信していないと判定した場合、S711の処理に進む。
S703において、制御部302は、S702で受信したと判定した複合機110cからの応答が同期処理の成功を示す応答であるか否かを判定する。制御部302は、S702で受信したと判定した複合機110cからの応答が同期処理の成功を示す応答であると判定した場合、S704の処理に進む。制御部302は、S702で受信したと判定した複合機110cからの応答が同期処理の成功を示す応答でないと判定した場合、S711の処理に進む。
S704において、制御部302は、データ処理部304に対して、現在の管理DBの状態が今回のタイマーイベントに応じた同期処理でデータ管理部510により管理される複製DBと同期された状態であることを通知する。データ処理部304は、管理DBへの変更の履歴の情報を、複合機110aのHDD等に記憶されたファイルとして管理している。以下では、管理DBへの変更の履歴の情報が記憶され、管理されているファイルを、差分管理ファイルとする。データ処理部304は、S704で制御部302から通知を受けると、以下の処理を行う。即ち、データ処理部304は、データ処理部304により管理されている差分管理ファイルに、現在の管理DBの状態が、今回のタイマーイベントに応じた同期処理でデータ管理部510により管理される複製DBと同期された状態であることを示す情報を記憶する。そして、データ処理部304は、記憶した情報に基づいて、次回のタイマーイベントに応じた同期処理において、前回の同期処理で同期された管理DBの状態を把握し、その状態からの管理DBの変更を示す差分データを取得する。制御部302は、S704の処理を完了すると、S611の処理に進む。
図7のS611の処理は、図6のS611と同様の処理である。
S711において、制御部302は、データ処理部304に対して、データ処理部304により管理されている差分管理ファイルを初期化するよう指示する。データ処理部304は、差分管理ファイルを初期化するよう指示を受けると、例えば、差分管理ファイルに記憶されている情報を全て削除することで、差分管理ファイルを初期化する。制御部302は、S711の処理を完了すると、S607の処理に進む。
図7のS607、S608の処理は、図6のS607、S608と同様の処理である。ただし、S608で、制御部302は、S607で指示した複製DBの登録が成功したことを示す応答をレプリケーションアプリケーション500から受信したと判定した場合、S712の処理に進む。また、制御部302は、S607で指示した複製DBの登録が成功したことを示す応答をレプリケーションアプリケーション500から受信していないと判定した場合、S721の処理に進む。
S712において、制御部302は、データ処理部304に管理DBに行われた変更の内容を示す情報を、差分管理ファイルに記憶する処理を、現時点から開始するように指示する。データ処理部304は、ステップS711で初期化された差分管理ファイルに対して、管理DBに変更の度に、変更の内容を示す情報を記憶する処理を開始する。
S721において、制御部302は、今回のタイマーイベントに応じた管理DBとデータ管理部510により管理される複製DBとの同期処理における複製DBの更新が失敗したことをユーザーに通知する。制御部302は、例えば、操作部220等に今回のタイマーイベントに応じた管理DBとデータ管理部510により管理される複製DBとの同期処理が失敗したことを示す情報(例えば、文字列、画像等)を表示する。これにより、制御部302は、ことをユーザーに通知する。また、制御部302は、例えば、今回のタイマーイベントに応じた管理DBとデータ管理部510により管理される複製DBとの同期処理における複製DBの更新が失敗したことを示す情報を設定された送信先に送信してもよい。こうすることでも、制御部302は、レプリケーション処理の開始に失敗したことをユーザーに通知できる。
図7、図8の同期処理において、データ管理部510により管理される複製DBの更新は、様々な原因により失敗する場合がある。失敗の原因としては、例えば、複合機110aと複合機110cとの間の通信経路に発生した異常により通信ができないこと、複合機110cでメモリの空き容量不足等の何らかのエラーが生じたことがある。また、失敗の原因としては、複合機110aが送信した差分データが適切な差分データでないこと等もある。そして、データ管理部510により管理される複製DBの更新が失敗した場合、管理DBとデータ管理部510により管理される複製DBとが一致することが保証されないこととなる。
そこで、本実施形態では、制御部302は、S603、S702、S703の処理により、データ管理部510により管理される複製DBの更新の失敗を検知することとした。そして、制御部302は、データ管理部510により管理される複製DBの更新の失敗を検知した場合、S711以降の処理に進み、レプリケーション用初期データを複合機110cに送信する。そして、複合機110cは、送信されたレプリケーション用初期データに基づいて、データ管理部510により管理される複製DBを更新することで、データ管理部510により管理される複製DBを、現在の管理DBと同じ内容に更新できる。これにより、同期システムは、データ管理部510により管理される複製DBの更新が失敗した場合でも、データ管理部510により管理される複製DBを、管理DBと同じ内容に更新できる。
図8は、複合機110cの処理の一例を示すフローチャートである。図8を用いて、複合機110cが、複合機110aにより図7のS701又はS607の処理で送信されたデータを受信した際に行う同期処理を説明する。
S801において、制御部502は、データ管理部510により管理される複製DBへのアクセスが他から行えないように、データ処理部504に複製DBへのアクセスを排他するよう指示する。データ処理部504hが、データ管理部510により管理される複製DBのデータをロックし、内容が変更されないようにする。
S802において、制御部502は、送受信部501を介して複合機110aから受信したデータを、一時ファイルとして、HDD205、RAM203等に記憶する。この複合機110aから受信したデータは、図7のS701又はS607の処理で送信されたデータである。一時ファイルとは、ある処理が行われている間等の設定された一時的な期間の間だけ記憶されるファイルである。
S803において、制御部502は、解析部503を介して、S802で一時ファイルとして記憶したデータが、レプリケーション用初期データであるか否かを判定する。制御部502は、例えば、この判定の処理の実行を解析部503に指示し、判定の結果を解析部503から取得する。制御部502は、S802で一時ファイルとして記憶したデータが、レプリケーション用初期データであると判定した場合、S811の処理に進む。また、制御部502は、S802で一時ファイルとして記憶したデータが、レプリケーション用初期データでないと判定した場合、S804の処理に進む。
S804において、制御部502は、データ処理部504を介して、S802で記憶したデータが、前回の管理DBとデータ管理部510により管理される複製DBとの同期処理で同期された後の管理DBへの変更を示す差分データであるか否かを判定する。制御部502は、例えば、この判定の処理の実行をデータ処理部504に指示し、判定の結果をデータ処理部504から取得する。データ処理部504は、例えば、差分データに付与されたバージョン情報に基づいて、データ管理部510により管理される複製DBに対して前回反映された差分データの次の差分データであるか否かを判定する。
制御部502は、S802で記憶したデータが、前回の管理DBとデータ管理部510により管理される複製DBとの同期処理で同期された後の管理DBへの変更を示す差分データであると判定した場合、S805の処理に進む。また、制御部502は、S802で記憶したデータが、前回の管理DBとデータ管理部510により管理される複製DBとの同期処理で同期された後の管理DBへの変更を示す差分データでないと判定した場合、S820の処理に進む。
S805において、制御部502は、データ処理部504に対して、S802で記憶した差分データを用いて、データ管理部510により管理される複製DBの更新を指示する。データ処理部504は、S802で記憶された差分データを解析し、解析結果に基づいて、データ管理部510により管理される複製DBを更新する。
S806において、制御部502は、データ処理部504を介して、S805で指示したデータ管理部510により管理される複製DBの更新が成功したか否かを判定する。制御部502は、例えば、この判定の処理の実行を、データ処理部504に指示し、判定結果をデータ処理部504から取得する。制御部502は、S805で指示したデータ管理部510により管理される複製DBの更新が成功したと判定した場合、S807の処理に進む。また、制御部502は、S805で指示したデータ管理部510により管理される複製DBの更新が失敗したと判定した場合、S820の処理に進む。
S807において、制御部502は、データ処理部504に対して、現在のデータ管理部510により管理される複製DBの状態が今回のタイマーイベントに応じた同期処理で管理DBと同期された状態であることを通知する。データ処理部504は、管理DBへの変更の履歴の情報を、複合機110aのHDD等に記憶された差分管理ファイルとして管理している。データ処理部504は、S807で制御部502から通知を受けると、データ処理部504により管理されている差分管理ファイルに、現在の複製DBの状態が、今回のタイマーイベントに応じた同期処理で管理DBと同期された状態であることを示す情報を記憶する。制御部502は、S807の処理を完了すると、S808の処理に進む。
S808において、制御部502は、送受信部501を介して、S802で記憶した差分データに基づくデータ管理部510により管理される複製DBの更新が成功したことを示す応答を複合機110aに送信する。
S809において、制御部502は、S802で一時ファイルとしてHDD205、RAM203等に記憶したデータを、削除する。
S810において、制御部502は、データ処理部504に対して、S801でかけられたデータ管理部510により管理される複製DBについてのロックの解除を指示する。データ処理部504は、データ管理部510により管理される複製DBについてのロックを解除し、データ管理部510により管理される複製DBへのアクセスの排他を解除する。
S811において、制御部502は、S802で記憶した一時ファイルであるレプリケーション用初期データに基づいて、データ管理部510により管理される複製DBを初期化するようにデータ処理部504に指示する。データ処理部504は、S802で記憶されたレプリケーション用初期データを用いて、データ管理部510により管理される複製DBを初期化する。
データ処理部504は、例えば、S802で記憶したレプリケーション用初期データが管理DBのデータそのものである場合、データ管理部510により管理される複製DBの内容をS802で記憶したレプリケーション用初期データで上書きする。また、データ処理部504は、例えば、S802で記憶したレプリケーション用初期データが管理DBの初期データからの変更のログ情報である場合、その初期データにレプリケーション用初期データが示す変更を加えてもよい。こうすることでも、データ処理部504は、データ管理部510により管理される複製DBを現在の管理DBと同じ内容に初期化できる。
S812において、制御部502は、データ処理部504に対して、複合機110cのHDD等に記憶されている差分管理ファイルを初期化するように指示する。データ処理部504は、例えば、データ処理部504により管理されていた差分管理ファイルに記憶されている情報を削除する等して、差分管理ファイルを初期化する。
S813において、制御部502は、S811とS812との処理が正しく行われたか否かを判定する。制御部502は、例えば、データ処理部504からS811とS812とで指示された処理が成功したか否かを問い合わせる。制御部502は、S811とS812との処理が正しく行われたと判定した場合、S808の処理に進み、S811とS812との処理が正しく行われていないと判定した場合、S820の処理に進む。
S820において、制御部502は、送受信部501を介して、複合機110aに対して、同期処理が失敗したことを示す応答を送信する。
以上、本実施形態では、制御部302は、管理DBとデータ管理部510により管理される複製DBとの同期処理において、データ管理部510により管理される複製DBの更新処理の失敗を検知する。制御部302は、データ管理部510により管理される複製DBの更新処理の失敗を検知すると、管理DBの内容を示すレプリケーション用初期データをレプリケーション先である複合機110cに送信する。そして、制御部502は、データ管理部510により管理される複製DBの内容を、現在の管理DBと同じ内容となるように更新する。これにより、同期システムは、管理DBのレプリケーション先で管理されている複製DBの更新が失敗した場合でも、その複製DBを現在の管理DBの内容に更新することで、その複製DBと管理DBとを一致させることができる。即ち、同期システムは、管理DBとレプリケーション先で管理されている複製DBとを矛盾なく一貫して一致させることができ、管理DBとレプリケーション先で管理されている複製DBとの保全性を向上させることができる。
例えば、レプリケーションアプリケーション500が複合機110aから既にデータ管理部510により管理される複製DBに反映済みの差分データが送られてきた場合、データ管理アプリケーション300へエラーを応答する。このとき、データ管理アプリケーション300は、複合機110cからエラーを示す応答を受信する。そして、データ管理アプリケーション300は、レプリケーション用初期データをレプリケーションアプリケーション500へ送信することで、管理DBとデータ管理部510により管理される複製DBとの内容に差分がない状態にすることができる。
<実施形態2>
実施形態1では、同期システムは、レプリケーション先における複製DBの更新の失敗を検知し、レプリケーション用初期データをレプリケーション先に送信し、レプリケーション先の複製DBを現在の管理DBと同じ内容に更新することとした。しかし、レプリケーション先における複製DBの更新の失敗の種類によっては、同期システムは、同期処理のリトライを行うことで、レプリケーション先における複製DBを管理DBと整合をとったまま更新できる場合がある。
そこで、本実施形態では、同期システムは、レプリケーション先の複製DBの更新の失敗が生じた場合でも、生じた失敗によっては、失敗した更新処理と同様の更新処理をリトライする処理を行う。このように同期システムは、更新処理のリトライを行うことで整合をとったままレプリケーション先における複製DBを更新できる場合、複製DBの一部を再度送信される差分データで更新することになる。即ち、同期システムは、そのような場合に実施形態1のようにレプリケーション用初期データを用いて、レプリケーション先の複製DBの全てを管理DBの内容で更新しなくて済む。即ち、同期システムは、実施形態1に比べて、不要な処理の負担を軽減することができる。
本実施形態の同期システムのシステム構成は、実施形態1と同様である。また、同期システムの各システム構成要素のハードウェア構成、機能構成も実施形態1と同様である。
図9は、複合機110aの処理の一例を示すフローチャートである。図9を用いて、本実施形態のデータ管理アプリケーション300が定期的に同期用のデータを送信する際の処理を説明する。
図9の処理は、図7の処理と比べて、S911、S912の処理がある点で異なる。また、図9の処理は、図7の処理と比べて、S703で複合機110cからの応答が同期処理の成功を示す応答でないと判定された場合、S911の処理に進む点で異なる。以下では、図9の処理のうち、図7と異なる点について説明する。
S911において、制御部302は、S702で受信されたと判定した応答の内容を解析部303に確認することを指示する。解析部303は、受信した応答の内容を確認し、確認結果を、制御部302に渡す。制御部302は、解析部303により確認された応答が示すエラーが再度S701の処理をリトライし、失敗した更新と同様の更新を複合機110cに指示することで復旧可能なエラーであるか否かを判定する。制御部302は、解析部303により確認された応答が示すエラーが再度S701の処理をリトライし、失敗した更新と同様の更新を複合機110cに指示することで復旧可能なエラーであると判定した場合、S912の処理に進む。また、制御部302は、解析部303により確認された応答が示すエラーが再度S701の処理をリトライし、失敗した更新と同様の更新を複合機110cに指示することで復旧可能なエラーでないと判定した場合、S711の処理に進む。
制御部302は、例えば、解析部303により確認された応答が示すエラーが、設定されたエラーである場合、再度S701の処理をリトライし、失敗した更新と同様の更新を複合機110cに指示することで復旧可能なエラーであると判定する。設定されたエラーとしては、例えば、一時的なメモリの空き容量不足によるエラーや、複合機110cにおけるユーザーの誤操作によるエラー等がある。また、制御部302は、例えば、解析部303により確認された応答が示すエラーが、設定されたエラーでない場合、再度S701の処理をリトライし、失敗した更新と同様の更新を複合機110cに指示することで復旧可能なエラーでないと判定する。
S912において、制御部302は、設定された閾値以上、S701の処理をリトライし、失敗した更新と同様の更新を複合機110cに指示しているか否かを判定する。制御部302は、設定された閾値以上、S701の処理をリトライし、失敗した更新と同様の更新を複合機110cに指示していると判定した場合、S711の処理に進む。また、制御部302は、S701の処理をリトライし、失敗した更新と同様の更新を複合機110cに指示した回数が設定された閾値未満であると判定した場合、S701の処理に進む。
以上、本実施形態の処理により、同期システムは、S701の処理をリトライすれば、復旧可能なエラーが発生した場合、レプリケーション用初期データを複合機110cに送信せず、再度差分データを送信する。これにより、同期システムは、実施形態1に比べて、不要な処理の負担を軽減することができる。
また、同期システムは、S701の処理をリトライし、失敗した更新と同様の更新を複合機110cに指示することで復旧が可能なエラーが発生した場合でも、設定された閾値以上の回数連続してエラーが発生した場合、以下のような処理を行う。即ち、同期システムは、レプリケーション用初期データを複合機110cに送信する。これにより、同期システムは、例えば、エラー原因の解消に想定外の時間がかかっているような場合であっても、適切なタイミングで、管理DBとデータ管理部510により管理される複製DBとの同期をとることができる。
また、図9の例では、同期システムは、S701の処理のリトライの際に管理DBのロックを解除しないこととしたが、管理DBのロックを一時的に解除することとしてもよい。
<実施形態3>
実施形態1、2では、同期システムは、レプリケーション先である複合機110cの複製DBの更新の失敗を検知すると、レプリケーション用初期データを複合機110cに送信した。そして、同期システムは、送信したレプリケーション用初期データに基づいて、複合機110cに複製DBの更新させることとした。しかし、例えば、複合機110cの複製DBの更新の失敗の原因が、複合機110aと複合機110cとの間の通信経路の異常等である場合、複合機110aは、その原因が解消するまで、レプリケーション用初期データを複合機110cに送信できない。そのような場合に、複合機110aは、レプリケーション用初期データを複合機110cに送信しようとすると、複合機110aのCPUに対する不要な処理の負担が増加し、更に、通信経路に対して不要なデータの通信の負荷が増加してしまうという問題がある。
そこで、本実施形態では、同期システムは、管理DBとデータ管理部510により管理される複製DBとの同期処理が失敗したことをユーザーに通知する。そして、同期システムは、その失敗の原因が解消した後に、レプリケーション用初期データを複合機110cに送信する処理を行う。これにより、同期システムは、実施形態1、2と比べて、不要な処理による複合機110aのCPUの負担を軽減し、通信経路の帯域を節約することができる。
本実施形態の同期システムのシステム構成は、実施形態1と同様である。また、同期システムの各システム構成要素のハードウェア構成、機能構成も実施形態1と同様である。
図10は、管理DBとデータ管理部510により管理される複製DBとの同期処理においてデータ管理部510により管理される複製DBの更新が失敗したことを通知する通知画面の一例を示す図である。
制御部302は、図7、図9のS721で、例えば、図10に示す通知画面1001を複合機110aの操作部等に表示する。それにより、制御部302は、管理DBとデータ管理部510により管理される複製DBとの同期処理においてデータ管理部510により管理される複製DBの更新が失敗したことをユーザーに通知する。また、制御部302は、通知画面1001に複製DBの更新の失敗が生じた時点の情報を表示する。
また、制御部302は、通知画面1001に、複製DBの更新の失敗の原因を示す情報(例えば、文字列等)を表示してもよい。制御部302は、ユーザーに失敗の原因を通知することで、ユーザーによる現状の把握を容易にし、ユーザーの利便性をより向上させることができる。制御部302は、S820で送信された応答の内容を確認することで、複製DBの更新が失敗の原因を示す情報を取得できる。複製DBの更新の失敗の原因を示す情報としては、例えば、複合機110aと複合機110cとの間の通信経路に異常があることを示す情報、複合機110cにおいて何らかのエラーが発生したことを示す情報等がある。
また、制御部302は、通知画面1001に、複製DBの更新の失敗の原因の解消の示唆となる情報を表示してもよい。例えば、制御部302は、通知画面1001に、複製DBの更新の失敗の原因の解消の示唆となる情報として、レプリケーション先の状態を見直すことを指示する文字列を表示してもよい。制御部302は、ユーザーに対して、複製DBの更新の失敗の原因の解消の示唆となる情報を提示することで、ユーザーを支援できる。
複合機110aのユーザーは、通知画面1001の内容を確認し、図4の設定画面に入力されたパラメータの見直しやレプリケーション先のデバイスが休止状態でないか等を検討する。
複製DBの失敗の原因が解消された後、制御部302は、図11の処理を実行する。
図11は、複合機110aの処理の一例を示すフローチャートである。図11を用いて、同期処理におけるデータ管理部510により管理される複製DBの更新処理が失敗した後に複合機110aが実行する処理を説明する。
図11のS601〜S606、S611の処理は、図6のS601〜S606、S611と同様の処理である。ただし、S603で、制御部302は、S602で複合機110cへアクセス可能であることが確認されなかったと判定した場合、S1111の処理に進む。また、S605で、制御部302は、S604で送信した問い合わせに対する複合機110cからの応答を受信していないと判定した場合、S1111の処理に進む。
また、S606で、制御部302は、S605で受信したと判定した複合機110cからの応答の内容が、複製DBを受け入れ可能であることを示す応答であると判定した場合、S712の処理に進む。図11のS712の処理は、図7のS712と同様の処理である。また、S606で、制御部302は、S605で受信したと判定した複合機110cからの応答の内容が、複製DBを受け入れ可能であることを示す応答でないと判定した場合、S1111の処理に進む。
S1101において、制御部302は、データ管理部510により管理される複製DBの更新の失敗の原因が解消されたか否かを判定する。本実施形態では、複合機110aと複合機110cとの間の通信経路に障害が発生したことにより、データ管理部510により管理される複製DBの更新が失敗したとする。制御部302は、複合機110cとの通信を試みて、通信が成功した場合、複製DBの更新の失敗の原因が解消したと判定し、通信が失敗した場合、複製DBの更新の失敗の原因が解消していないと判定する。
また、複合機110cにおいて一時的なメモリ容量不足等の何らかのエラーが発生したことにより、データ管理部510により管理される複製DBの更新が失敗した場合、制御部302は、以下のようにしてもよい。即ち、制御部302は、複合機110cからエラーの復旧を示す情報を受信した場合、複製DBの更新の失敗の原因が解消したと判定し、複合機110cからエラーの復旧を示す情報を受信していない場合、複製DBの更新の失敗の原因が解消していないと判定する。
制御部302は、データ管理部510により管理される複製DBの更新の失敗の原因が解消されたと判定した場合、S601の処理に進む。制御部302は、データ管理部510により管理される複製DBの更新の失敗の原因が解消されていないと判定した場合、S1101の処理を繰り返す。
S1111において、制御部302は、データ管理部510により管理される複製DBの更新が失敗したことを示す通知画面1001を、複合機110aの操作部等に表示する。これにより、制御部302は、データ管理部510により管理される複製DBの更新が失敗したことを、ユーザーに通知する。
以上、本実施形態の処理では、同期システムは、管理DBとデータ管理部510により管理される複製DBとの同期処理が失敗したことをユーザーに通知する。そして、同期システムは、その失敗の原因が解消した後に、レプリケーション用初期データを複合機110cに送信する処理を行うこととした。これにより、同期システムは、実施形態1、2と比べて、不要な処理による複合機110aのCPUの負担を軽減し、通信経路の帯域を節約することができる。
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
上述した実施形態では、同期システムは、定期的に管理DBに関する差分データを、複合機110cに送信し、送信した差分データを、複合機110cで管理される複製DBに適応させることで、同期処理を行うこととした。しかし、同期システムは、例えば、設定された時点において、管理DBに関する差分データを、複合機110cに送信し、送信した差分データを、複合機110cで管理される複製DBに適応させることで、同期処理を行うこととしてもよい。また、同期システムは、例えば、定期的に、管理DBのデータのうち、変更される可能性のあるデータを、複合機110cに送信し、送信したデータで、複合機110cで管理される複製DBの対応する部分を置き換えることで、同期処理を行うこととしてもよい。
例えば、上述した同期システムの機能構成の一部又は全てをハードウェアとして複合機110のそれぞれに実装してもよい。
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではない。上述した各実施形態を任意に組み合わせてもよい。
110 複合機
300 データ管理アプリケーション
500 レプリケーションアプリケーション

Claims (18)

  1. 第1のデータを管理する第1の情報処理装置と、前記第1のデータの複製である第2のデータを管理する第2の情報処理装置と、を含むシステムであって、
    前記第1の情報処理装置は、
    前記第1のデータの第1の更新に応じた前記第2のデータの第2の更新の失敗を検知する第1の検知手段と、
    前記第1の検知手段により前記第2の更新の失敗が検知された場合、前記第1のデータの内容を示す情報である内容情報を、前記第2の情報処理装置に送信する送信手段と、
    を有し、
    前記第2の情報処理装置は、
    前記第1の情報処理装置から前記内容情報が受信された場合、受信された前記内容情報に基づいて、前記第2のデータの内容を、前記第1のデータの内容に更新する更新手段を有するシステム。
  2. 前記送信手段は、前記第1の検知手段により前記第2の更新の失敗が検知され、前記第2の更新の失敗が再度の前記第2の更新の実行により解消し得る失敗である場合、前記第2の更新の内容を示す情報である更新情報を前記第2の情報処理装置に送信し、
    前記第1の情報処理装置から前記更新情報が受信された場合、前記更新手段は、受信された前記更新情報に基づいて、前記第2の更新を行い、前記第2のデータの内容を、前記第1のデータの内容に更新する請求項1記載のシステム。
  3. 前記送信手段は、前記第1の検知手段により前記第2の更新の失敗が検知され、前記第2の更新の失敗が再度の前記第2の更新の実行により解消し得る失敗でない場合、前記内容情報を、前記第2の情報処理装置に送信し、
    前記第1の情報処理装置から前記内容情報が受信された場合、前記更新手段は、送信された前記内容情報に基づいて、前記第2のデータの内容を、前記第1のデータの内容に更新する請求項2記載のシステム。
  4. 前記第1の検知手段により前記第2の更新の失敗が検知され、前記第2の更新の失敗が再度の前記第2の更新の実行により解消し得る失敗であり、連続して前記失敗により前記第2の更新が失敗した回数が設定された閾値未満である場合、前記送信手段は、前記更新情報を前記第2の情報処理装置に送信する請求項2又は3記載のシステム。
  5. 前記第1の検知手段により前記第2の更新の失敗が検知され、前記第2の更新の失敗が再度の前記第2の更新の実行により解消し得る失敗であり、連続して前記失敗により前記第2の更新が失敗した回数が設定された閾値以上である場合、前記送信手段は、前記内容情報を、前記第2の情報処理装置に送信する請求項2乃至4何れか1項記載のシステム。
  6. 前記第1の検知手段により前記第2の更新の失敗が検知された場合、前記第2の更新が失敗したことを示す情報を出力する出力手段を更に有する請求項1乃至5何れか1項記載のシステム。
  7. 前記第1の検知手段により前記第2の更新の失敗が検知された場合、前記出力手段は、前記第2の更新が失敗したことと、前記第2の更新の失敗の原因と、を示す情報を出力する請求項6記載のシステム。
  8. 前記第1の検知手段により前記第2の更新の失敗が検知された場合、前記出力手段は、前記第2の更新が失敗したことと、前記第2の更新の失敗の原因の解消の示唆となる情報と、を示す情報を出力する請求項6記載のシステム。
  9. 前記第1の情報処理装置は、
    前記検知手段により前記第2の更新の失敗が検知された場合、前記第2の更新の失敗の原因の解消を検知する第2の検知手段を更に有し、
    前記検知手段により前記第2の更新の失敗が検知され、前記第2の検知手段により前記第2の更新の失敗の原因の解消が検知された場合、前記送信手段は、前記内容情報を、前記第2の情報処理装置に送信する請求項1乃至8何れか1項記載のシステム。
  10. 前記第1の検知手段により検知された前記第2の更新の失敗が前記第1の情報処理装置と前記第2の情報処理装置との間の通信経路の異常を原因とする失敗である場合、前記第2の検知手段は、前記第2の更新の失敗の原因である前記通信経路の異常の解消を検知する請求項9記載のシステム。
  11. 前記第1の情報処理装置は、
    前記第2のデータの管理先を設定する設定手段を更に有し、
    前記第1の検知手段は、前記第1のデータの第1の更新に応じた前記設定手段により設定された前記第2の情報処理装置に管理されている前記第2のデータの第2の更新の失敗を検知する請求項1乃至10何れか1項記載のシステム。
  12. 前記第1の検知手段により前記第2の更新の失敗が検知された場合、前記送信手段は、前記内容情報である前記第1のデータを、前記第2の情報処理装置に送信する請求項1乃至11何れか1項記載のシステム。
  13. 前記第2の更新は、前記第2のデータに対して、前記第1の更新において前記第1のデータに対して行われた更新の内容を示す差分データを反映させることで行われる更新である請求項1乃至12何れか1項記載のシステム。
  14. 第1のデータを管理する情報処理装置であって、
    前記第1のデータの第1の更新に応じた、前記第1のデータの複製である第2のデータの第2の更新の失敗を検知する検知手段と、
    前記検知手段により前記第2の更新の失敗が検知された場合、前記第1のデータの内容を示す情報である内容情報を、前記第2のデータの管理先に送信する送信手段と、
    を有する情報処理装置。
  15. 前記情報処理装置は、複合機である請求項14記載の情報処理装置。
  16. 第1のデータを管理する第1の情報処理装置と、前記第1のデータの複製である第2のデータを管理する第2の情報処理装置と、を含むシステムにおける情報処理方法であって、
    前記第1の情報処理装置が、前記第1のデータの第1の更新に応じた前記第2のデータの第2の更新の失敗を検知する検知ステップと、
    前記第1の情報処理装置が、前記検知ステップで前記第2の更新の失敗が検知された場合、前記第1のデータの内容を示す情報である内容情報を、前記第2の情報処理装置に送信する送信ステップと、
    前記第2の情報処理装置が、前記第1の情報処理装置から前記第1のデータの内容を示す情報が受信された場合、受信された前記内容情報に基づいて、前記第2のデータの内容を、前記第1のデータの内容に更新する更新ステップと、
    を含む情報処理方法。
  17. 第1のデータを管理する情報処理装置が実行する情報処理方法であって、
    前記第1のデータの第1の更新に応じた、前記第1のデータの複製である第2のデータの第2の更新の失敗を検知する検知ステップと、
    前記検知ステップで前記第2の更新の失敗が検知された場合、前記第1のデータの内容を示す情報である内容情報を、前記第2のデータの管理先に送信する送信ステップと、
    を含む情報処理方法。
  18. 第1のデータを管理するコンピュータに、
    前記第1のデータの第1の更新に応じた、前記第1のデータの複製である第2のデータの第2の更新の失敗を検知する検知ステップと、
    前記検知ステップで前記第2の更新の失敗が検知された場合、前記第1のデータの内容を示す情報である内容情報を、前記第2のデータの管理先に送信する送信ステップと、
    を実行させるためのプログラム。
JP2017005190A 2017-01-16 2017-01-16 システム、情報処理装置、情報処理方法及びプログラム Active JP6987503B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017005190A JP6987503B2 (ja) 2017-01-16 2017-01-16 システム、情報処理装置、情報処理方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017005190A JP6987503B2 (ja) 2017-01-16 2017-01-16 システム、情報処理装置、情報処理方法及びプログラム

Publications (3)

Publication Number Publication Date
JP2018116357A true JP2018116357A (ja) 2018-07-26
JP2018116357A5 JP2018116357A5 (ja) 2020-01-30
JP6987503B2 JP6987503B2 (ja) 2022-01-05

Family

ID=62985479

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017005190A Active JP6987503B2 (ja) 2017-01-16 2017-01-16 システム、情報処理装置、情報処理方法及びプログラム

Country Status (1)

Country Link
JP (1) JP6987503B2 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000250799A (ja) * 1999-03-02 2000-09-14 Mitsubishi Electric Corp 複製ファイル管理システム
JP2005293323A (ja) * 2004-03-31 2005-10-20 Nec Corp 異種rdbms間での差分配信レコード反映システム
JP2006085324A (ja) * 2004-09-15 2006-03-30 Hitachi Ltd レプリケーションシステム
JP2008065409A (ja) * 2006-09-05 2008-03-21 Fujitsu Ltd ソフトウェア管理プログラム、ソフトウェア管理方法およびソフトウェア管理装置
JP2009070293A (ja) * 2007-09-14 2009-04-02 Ricoh Co Ltd 画像形成装置、情報同期システム、情報設定方法
JP2015215755A (ja) * 2014-05-09 2015-12-03 キヤノン株式会社 情報処理装置、制御方法およびプログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000250799A (ja) * 1999-03-02 2000-09-14 Mitsubishi Electric Corp 複製ファイル管理システム
JP2005293323A (ja) * 2004-03-31 2005-10-20 Nec Corp 異種rdbms間での差分配信レコード反映システム
JP2006085324A (ja) * 2004-09-15 2006-03-30 Hitachi Ltd レプリケーションシステム
JP2008065409A (ja) * 2006-09-05 2008-03-21 Fujitsu Ltd ソフトウェア管理プログラム、ソフトウェア管理方法およびソフトウェア管理装置
JP2009070293A (ja) * 2007-09-14 2009-04-02 Ricoh Co Ltd 画像形成装置、情報同期システム、情報設定方法
JP2015215755A (ja) * 2014-05-09 2015-12-03 キヤノン株式会社 情報処理装置、制御方法およびプログラム

Also Published As

Publication number Publication date
JP6987503B2 (ja) 2022-01-05

Similar Documents

Publication Publication Date Title
JP6576071B2 (ja) 情報処理装置、サーバクライアントシステム、情報処理装置の制御方法及びプログラム
JP6602177B2 (ja) 情報処理装置及びその制御方法、システム、プログラム
JP6415040B2 (ja) 画像処理装置、画像処理方法、及びプログラム
KR101958245B1 (ko) 정보 처리장치, 정보 처리 시스템, 정보 처리장치의 제어방법 및 프로그램
JP5602419B2 (ja) 画像形成装置、画像形成装置の制御方法及びプログラム
JP6355330B2 (ja) ネットワークデバイス、ネットワークデバイスの制御方法およびそのプログラム
JP7218141B2 (ja) 通信システム、および画像形成装置
JP6506527B2 (ja) 情報処理装置とデータ同期方法、データ同期システムおよびプログラム
JP6611594B2 (ja) データの同期を行う情報処理装置、データ同期方法およびプログラム
US10200556B2 (en) Information processing apparatus, image forming apparatus, information processing system, method for controlling information processing apparatus, method for controlling image forming apparatus, and storage medium storing program
JP6905321B2 (ja) データ管理システム、データ管理装置、装置、データ管理方法、およびプログラム
JP6987503B2 (ja) システム、情報処理装置、情報処理方法及びプログラム
JP6639363B2 (ja) サーバ装置、情報処理方法及びプログラム
JP2019197416A (ja) サーバ装置、情報処理方法及びプログラム
JP2016032119A (ja) 情報処理装置、管理システム、情報処理装置の制御方法、管理システムの制御方法、及びプログラム
JP6812249B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP7171685B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP6635157B2 (ja) 画像形成装置とその処理方法、プログラム
JP2017135593A (ja) 画像処理装置、その制御方法、及びプログラム
JP2019185257A (ja) サーバー装置、情報処理方法及びプログラム
JP2018148415A (ja) サーバ装置、クライアント装置、情報処理方法及びプログラム
JP2020052777A (ja) ネットワークデバイス、方法、及びプログラム
JP6605077B2 (ja) 情報処理装置、情報処理装置の制御方法およびそのプログラム
JP2018073283A (ja) システム、サーバー装置、クライアント装置、情報処理方法及びプログラム
JP2018195882A (ja) クライアント装置、情報処理方法及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191213

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200821

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200901

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201006

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201110

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210107

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210323

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: 20211102

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211201

R151 Written notification of patent or utility model registration

Ref document number: 6987503

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151