JP2018116357A - システム、情報処理装置、情報処理方法及びプログラム - Google Patents
システム、情報処理装置、情報処理方法及びプログラム Download PDFInfo
- 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
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
また、管理サーバーに問題が発生した場合にシステムを維持できなくなることに備えて、特許文献2のように、マスターデータの複製データを管理サーバーとは別の情報処理装置において保存させ、データの二重化を行う方法やシステムが提案されている。
一方、特許文献3には、ネットワークを介してデータの多重化を行う際にデータが破損することにより多重化が行えなかった等の場合に、データを復旧させる方法も提案されている。
例えば、特許文献1のシステムでは、複合機においてデータの更新が有った場合に、同期処理により、マスターデータ全体が上書きされるのではなく、複合機において更新があった一部のデータが更新される。即ち、前回同期した際のデータとの差分の情報が複合機からサーバーに通知され、通知された差分の情報によって、マスターデータの一部が更新される。
このマスターデータについて、特許文献2や特許文献3のシステムのように、マスターデータの複製データを、マスターデータとは別に管理することを考える。その場合、マスターデータが更新される度に複製データも更新されることとなる。この更新は上述のように、前回同期した際のマスターデータと現在のマスターデータとの差分の情報を用いて行われる。
この際、複製データの更新が失敗した場合、マスターデータと、複製データとの間で更新差分を用いた更新状況にずれが生じてしまう。このような場合、マスターデータと複製データとの内容が一致するか否かの確認が困難となり、データの保全性が低下するという問題がある。
図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以外に複数の情報処理装置が含まれている場合、その複数の情報処理装置に記憶されているデータを同期させることとしてもよい。また、本実施形態では、同期システムは、複合機110のそれぞれ内の設定データを同期することとするが、他のデータ(例えば、複合機110の利用履歴データ等)を同期することとしてもよい。
コントローラユニット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を制御する中央演算装置である。
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で後述するフローチャートの処理等が実現される。
複合機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が無効化されることになる。
以下では、複合機110a、複合機110b、複合機110cが同期システムのクライアントとして登録済みであるとする。
また、データ管理アプリケーション300は、例えば、複合機110aの表示部に図4の設定画面を表示し、表示した設定画面を介してユーザーからの入力を受付けることとしてもよい。
図4の設定画面は、入力フィールド401、開始ボタン402、キャンセルボタンを含む。入力フィールド401は、レプリケーションに関するパラメータを入力する入力フィールドである。入力フィールド401には、レプリケーション先(管理DBの複製の管理先)となる複合機110のIPアドレス、レプリケーションの際の認証用のアクセスユーザー名及びパスワード、レプリケーション(データの同期処理)を実行する間隔等が入力される。データ管理アプリケーション300は、開始ボタン402の選択を検知すると、入力フィールド401に入力された情報に基づいて、レプリケーションの実行を開始する。
レプリケーションアプリケーション500は、送受信部501、制御部502、解析部503、データ処理部504を含む。
送受信部501は、NetworkI/F207を介して、複合機110aからの処理の要求を受信したり、処理の結果を外部の装置に送信したりする。制御部502は、送受信部501により受信された処理の要求に応じた処理の制御を行う。解析部503は、送受信部501により受信された処理の要求を解析する。データ処理部504は、送受信部501により受信された処理の要求に応じて、データ管理部510とやり取りしてデータの作成/更新/削除/参照を実行する。データ管理部510が管理するデータは、複合機110cのHDDやRAM等に記憶される。
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の処理に進む。
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の処理に進む。
本実施形態では、データ処理部304は、管理DBそのものの情報を複製し、複製した情報を、レプリケーション用初期データとして制御部302に渡す。
制御部302は、データ処理部304からレプリケーション用初期データを取得し、送受信部301を介して、取得したレプリケーション用初期データを複合機110cに実装されるレプリケーションアプリケーション500に送信する。これにより、制御部302は、複製DBの登録をレプリケーションアプリケーション500に指示する。
レプリケーションアプリケーション500は、レプリケーション用初期データである複製DBを受信したら、以下の処理を行う。即ち、レプリケーションアプリケーションは、データ管理部510を介して、複製DBを、複合機110cのHDD等に記憶する。以降、データ管理部510は、記憶した複製DBを管理することになる。データ管理部510により管理される複製DBは、第2のデータの一例である。
より具体的には、制御部302は、例えば、設定された期間の間、レプリケーションアプリケーション500からの応答を待機する。そして、制御部302は、レプリケーションアプリケーション500からの応答が、登録が成功したことを示す情報である場合、S609の処理に進む。また、制御部302は、レプリケーションアプリケーション500からの応答が、登録が成功したことを示す情報でない場合、又は、設定された期間内に応答がなかった場合、S622の処理に進む。
ここで、制御部302は、例えば、タイムアウトエラー(設定された期間に応答が得られなかった場合)等の場合、再度S607の処理をやり直してもよい。
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で生成されたレプリケーション用初期データの内容からの変更を示す差分データを特定できるようになる。
S621において、制御部302は、複合機110cをレプリケーション先に設定できないことをユーザーに通知する。制御部302は、例えば、操作部220等に、複合機110cをレプリケーション先に設定できないことを示す情報(例えば、文字列、画像等)を表示することで、レプリケーション処理の開始に失敗したことをユーザーに通知する。また、制御部302は、例えば、複合機110cをレプリケーション先に設定できないことを示す情報を設定された送信先に送信することで、レプリケーション処理の開始に失敗したことをユーザーに通知してもよい。
S622において、制御部302は、レプリケーション処理の開始に失敗したことをユーザーに通知する。制御部302は、例えば、操作部220等にレプリケーション処理の開始に失敗したことを示す情報(例えば、文字列、画像等)を表示することで、レプリケーション処理の開始に失敗したことをユーザーに通知する。また、制御部302は、例えば、レプリケーション処理の開始に失敗したことを示す情報を設定された送信先に送信することで、レプリケーション処理の開始に失敗したことをユーザーに通知してもよい。
図7は、複合機110aの処理の一例を示すフローチャートである。図7を用いて、データ管理アプリケーション300が定期的に同期用のデータを送信する際の処理を説明する。
制御部302は、S610でセットされたタイマーイベントが発生したことを検知し、図7の処理を開始する。図7のS601〜S603の処理は、図6のS601〜S603と同様の処理である。ただし、S603で、制御部302は、S602で複合機110cへアクセス可能であることが確認されたと判定した場合、S701の処理に進む。また、制御部302は、S602で複合機110cへアクセス可能であることが確認されなかったと判定した場合、S711の処理に進む。
データ処理部304は、データ管理部310により管理されている管理DBの差分データから、前回のタイマーイベントに応じた同期処理の実行後に生じた管理DBの変更を示す差分データを取得する。そして、データ処理部304は、取得した差分データを、同期処理用の差分データとして、制御部302に渡す。データ管理部310は、差分データとして、DBに対して実行したSQLの実行ログのデータを管理してもよいし、設定された形式のログのデータを管理してもよい。
制御部302は、データ処理部304から同期処理用の差分データを取得し、送受信部301を介して、取得した差分データをレプリケーションアプリケーション500に送信する。これにより、制御部302は、管理DBと、データ管理部510により管理される複製DBとの同期処理を、レプリケーションアプリケーション500に指示する。
また、データ処理部304は、今回のタイマーイベントが初めてのタイマーイベントである場合、データ管理部310により管理されている管理DBの差分データを全て取得し、制御部302に渡す。
S703において、制御部302は、S702で受信したと判定した複合機110cからの応答が同期処理の成功を示す応答であるか否かを判定する。制御部302は、S702で受信したと判定した複合機110cからの応答が同期処理の成功を示す応答であると判定した場合、S704の処理に進む。制御部302は、S702で受信したと判定した複合機110cからの応答が同期処理の成功を示す応答でないと判定した場合、S711の処理に進む。
図7のS611の処理は、図6のS611と同様の処理である。
S711において、制御部302は、データ処理部304に対して、データ処理部304により管理されている差分管理ファイルを初期化するよう指示する。データ処理部304は、差分管理ファイルを初期化するよう指示を受けると、例えば、差分管理ファイルに記憶されている情報を全て削除することで、差分管理ファイルを初期化する。制御部302は、S711の処理を完了すると、S607の処理に進む。
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は、レプリケーション処理の開始に失敗したことをユーザーに通知できる。
そこで、本実施形態では、制御部302は、S603、S702、S703の処理により、データ管理部510により管理される複製DBの更新の失敗を検知することとした。そして、制御部302は、データ管理部510により管理される複製DBの更新の失敗を検知した場合、S711以降の処理に進み、レプリケーション用初期データを複合機110cに送信する。そして、複合機110cは、送信されたレプリケーション用初期データに基づいて、データ管理部510により管理される複製DBを更新することで、データ管理部510により管理される複製DBを、現在の管理DBと同じ内容に更新できる。これにより、同期システムは、データ管理部510により管理される複製DBの更新が失敗した場合でも、データ管理部510により管理される複製DBを、管理DBと同じ内容に更新できる。
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の処理に進む。
制御部502は、S802で記憶したデータが、前回の管理DBとデータ管理部510により管理される複製DBとの同期処理で同期された後の管理DBへの変更を示す差分データであると判定した場合、S805の処理に進む。また、制御部502は、S802で記憶したデータが、前回の管理DBとデータ管理部510により管理される複製DBとの同期処理で同期された後の管理DBへの変更を示す差分データでないと判定した場合、S820の処理に進む。
S805において、制御部502は、データ処理部504に対して、S802で記憶した差分データを用いて、データ管理部510により管理される複製DBの更新を指示する。データ処理部504は、S802で記憶された差分データを解析し、解析結果に基づいて、データ管理部510により管理される複製DBを更新する。
S807において、制御部502は、データ処理部504に対して、現在のデータ管理部510により管理される複製DBの状態が今回のタイマーイベントに応じた同期処理で管理DBと同期された状態であることを通知する。データ処理部504は、管理DBへの変更の履歴の情報を、複合機110aのHDD等に記憶された差分管理ファイルとして管理している。データ処理部504は、S807で制御部502から通知を受けると、データ処理部504により管理されている差分管理ファイルに、現在の複製DBの状態が、今回のタイマーイベントに応じた同期処理で管理DBと同期された状態であることを示す情報を記憶する。制御部502は、S807の処理を完了すると、S808の処理に進む。
S809において、制御部502は、S802で一時ファイルとしてHDD205、RAM203等に記憶したデータを、削除する。
S810において、制御部502は、データ処理部504に対して、S801でかけられたデータ管理部510により管理される複製DBについてのロックの解除を指示する。データ処理部504は、データ管理部510により管理される複製DBについてのロックを解除し、データ管理部510により管理される複製DBへのアクセスの排他を解除する。
データ処理部504は、例えば、S802で記憶したレプリケーション用初期データが管理DBのデータそのものである場合、データ管理部510により管理される複製DBの内容をS802で記憶したレプリケーション用初期データで上書きする。また、データ処理部504は、例えば、S802で記憶したレプリケーション用初期データが管理DBの初期データからの変更のログ情報である場合、その初期データにレプリケーション用初期データが示す変更を加えてもよい。こうすることでも、データ処理部504は、データ管理部510により管理される複製DBを現在の管理DBと同じ内容に初期化できる。
S813において、制御部502は、S811とS812との処理が正しく行われたか否かを判定する。制御部502は、例えば、データ処理部504からS811とS812とで指示された処理が成功したか否かを問い合わせる。制御部502は、S811とS812との処理が正しく行われたと判定した場合、S808の処理に進み、S811とS812との処理が正しく行われていないと判定した場合、S820の処理に進む。
S820において、制御部502は、送受信部501を介して、複合機110aに対して、同期処理が失敗したことを示す応答を送信する。
例えば、レプリケーションアプリケーション500が複合機110aから既にデータ管理部510により管理される複製DBに反映済みの差分データが送られてきた場合、データ管理アプリケーション300へエラーを応答する。このとき、データ管理アプリケーション300は、複合機110cからエラーを示す応答を受信する。そして、データ管理アプリケーション300は、レプリケーション用初期データをレプリケーションアプリケーション500へ送信することで、管理DBとデータ管理部510により管理される複製DBとの内容に差分がない状態にすることができる。
実施形態1では、同期システムは、レプリケーション先における複製DBの更新の失敗を検知し、レプリケーション用初期データをレプリケーション先に送信し、レプリケーション先の複製DBを現在の管理DBと同じ内容に更新することとした。しかし、レプリケーション先における複製DBの更新の失敗の種類によっては、同期システムは、同期処理のリトライを行うことで、レプリケーション先における複製DBを管理DBと整合をとったまま更新できる場合がある。
そこで、本実施形態では、同期システムは、レプリケーション先の複製DBの更新の失敗が生じた場合でも、生じた失敗によっては、失敗した更新処理と同様の更新処理をリトライする処理を行う。このように同期システムは、更新処理のリトライを行うことで整合をとったままレプリケーション先における複製DBを更新できる場合、複製DBの一部を再度送信される差分データで更新することになる。即ち、同期システムは、そのような場合に実施形態1のようにレプリケーション用初期データを用いて、レプリケーション先の複製DBの全てを管理DBの内容で更新しなくて済む。即ち、同期システムは、実施形態1に比べて、不要な処理の負担を軽減することができる。
本実施形態の同期システムのシステム構成は、実施形態1と同様である。また、同期システムの各システム構成要素のハードウェア構成、機能構成も実施形態1と同様である。
図9の処理は、図7の処理と比べて、S911、S912の処理がある点で異なる。また、図9の処理は、図7の処理と比べて、S703で複合機110cからの応答が同期処理の成功を示す応答でないと判定された場合、S911の処理に進む点で異なる。以下では、図9の処理のうち、図7と異なる点について説明する。
制御部302は、例えば、解析部303により確認された応答が示すエラーが、設定されたエラーである場合、再度S701の処理をリトライし、失敗した更新と同様の更新を複合機110cに指示することで復旧可能なエラーであると判定する。設定されたエラーとしては、例えば、一時的なメモリの空き容量不足によるエラーや、複合機110cにおけるユーザーの誤操作によるエラー等がある。また、制御部302は、例えば、解析部303により確認された応答が示すエラーが、設定されたエラーでない場合、再度S701の処理をリトライし、失敗した更新と同様の更新を複合機110cに指示することで復旧可能なエラーでないと判定する。
S912において、制御部302は、設定された閾値以上、S701の処理をリトライし、失敗した更新と同様の更新を複合機110cに指示しているか否かを判定する。制御部302は、設定された閾値以上、S701の処理をリトライし、失敗した更新と同様の更新を複合機110cに指示していると判定した場合、S711の処理に進む。また、制御部302は、S701の処理をリトライし、失敗した更新と同様の更新を複合機110cに指示した回数が設定された閾値未満であると判定した場合、S701の処理に進む。
また、同期システムは、S701の処理をリトライし、失敗した更新と同様の更新を複合機110cに指示することで復旧が可能なエラーが発生した場合でも、設定された閾値以上の回数連続してエラーが発生した場合、以下のような処理を行う。即ち、同期システムは、レプリケーション用初期データを複合機110cに送信する。これにより、同期システムは、例えば、エラー原因の解消に想定外の時間がかかっているような場合であっても、適切なタイミングで、管理DBとデータ管理部510により管理される複製DBとの同期をとることができる。
また、図9の例では、同期システムは、S701の処理のリトライの際に管理DBのロックを解除しないこととしたが、管理DBのロックを一時的に解除することとしてもよい。
実施形態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と同様である。
制御部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の設定画面に入力されたパラメータの見直しやレプリケーション先のデバイスが休止状態でないか等を検討する。
図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の処理に進む。
また、複合機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の更新が失敗したことを、ユーザーに通知する。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
例えば、上述した同期システムの機能構成の一部又は全てをハードウェアとして複合機110のそれぞれに実装してもよい。
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではない。上述した各実施形態を任意に組み合わせてもよい。
300 データ管理アプリケーション
500 レプリケーションアプリケーション
Claims (18)
- 第1のデータを管理する第1の情報処理装置と、前記第1のデータの複製である第2のデータを管理する第2の情報処理装置と、を含むシステムであって、
前記第1の情報処理装置は、
前記第1のデータの第1の更新に応じた前記第2のデータの第2の更新の失敗を検知する第1の検知手段と、
前記第1の検知手段により前記第2の更新の失敗が検知された場合、前記第1のデータの内容を示す情報である内容情報を、前記第2の情報処理装置に送信する送信手段と、
を有し、
前記第2の情報処理装置は、
前記第1の情報処理装置から前記内容情報が受信された場合、受信された前記内容情報に基づいて、前記第2のデータの内容を、前記第1のデータの内容に更新する更新手段を有するシステム。 - 前記送信手段は、前記第1の検知手段により前記第2の更新の失敗が検知され、前記第2の更新の失敗が再度の前記第2の更新の実行により解消し得る失敗である場合、前記第2の更新の内容を示す情報である更新情報を前記第2の情報処理装置に送信し、
前記第1の情報処理装置から前記更新情報が受信された場合、前記更新手段は、受信された前記更新情報に基づいて、前記第2の更新を行い、前記第2のデータの内容を、前記第1のデータの内容に更新する請求項1記載のシステム。 - 前記送信手段は、前記第1の検知手段により前記第2の更新の失敗が検知され、前記第2の更新の失敗が再度の前記第2の更新の実行により解消し得る失敗でない場合、前記内容情報を、前記第2の情報処理装置に送信し、
前記第1の情報処理装置から前記内容情報が受信された場合、前記更新手段は、送信された前記内容情報に基づいて、前記第2のデータの内容を、前記第1のデータの内容に更新する請求項2記載のシステム。 - 前記第1の検知手段により前記第2の更新の失敗が検知され、前記第2の更新の失敗が再度の前記第2の更新の実行により解消し得る失敗であり、連続して前記失敗により前記第2の更新が失敗した回数が設定された閾値未満である場合、前記送信手段は、前記更新情報を前記第2の情報処理装置に送信する請求項2又は3記載のシステム。
- 前記第1の検知手段により前記第2の更新の失敗が検知され、前記第2の更新の失敗が再度の前記第2の更新の実行により解消し得る失敗であり、連続して前記失敗により前記第2の更新が失敗した回数が設定された閾値以上である場合、前記送信手段は、前記内容情報を、前記第2の情報処理装置に送信する請求項2乃至4何れか1項記載のシステム。
- 前記第1の検知手段により前記第2の更新の失敗が検知された場合、前記第2の更新が失敗したことを示す情報を出力する出力手段を更に有する請求項1乃至5何れか1項記載のシステム。
- 前記第1の検知手段により前記第2の更新の失敗が検知された場合、前記出力手段は、前記第2の更新が失敗したことと、前記第2の更新の失敗の原因と、を示す情報を出力する請求項6記載のシステム。
- 前記第1の検知手段により前記第2の更新の失敗が検知された場合、前記出力手段は、前記第2の更新が失敗したことと、前記第2の更新の失敗の原因の解消の示唆となる情報と、を示す情報を出力する請求項6記載のシステム。
- 前記第1の情報処理装置は、
前記検知手段により前記第2の更新の失敗が検知された場合、前記第2の更新の失敗の原因の解消を検知する第2の検知手段を更に有し、
前記検知手段により前記第2の更新の失敗が検知され、前記第2の検知手段により前記第2の更新の失敗の原因の解消が検知された場合、前記送信手段は、前記内容情報を、前記第2の情報処理装置に送信する請求項1乃至8何れか1項記載のシステム。 - 前記第1の検知手段により検知された前記第2の更新の失敗が前記第1の情報処理装置と前記第2の情報処理装置との間の通信経路の異常を原因とする失敗である場合、前記第2の検知手段は、前記第2の更新の失敗の原因である前記通信経路の異常の解消を検知する請求項9記載のシステム。
- 前記第1の情報処理装置は、
前記第2のデータの管理先を設定する設定手段を更に有し、
前記第1の検知手段は、前記第1のデータの第1の更新に応じた前記設定手段により設定された前記第2の情報処理装置に管理されている前記第2のデータの第2の更新の失敗を検知する請求項1乃至10何れか1項記載のシステム。 - 前記第1の検知手段により前記第2の更新の失敗が検知された場合、前記送信手段は、前記内容情報である前記第1のデータを、前記第2の情報処理装置に送信する請求項1乃至11何れか1項記載のシステム。
- 前記第2の更新は、前記第2のデータに対して、前記第1の更新において前記第1のデータに対して行われた更新の内容を示す差分データを反映させることで行われる更新である請求項1乃至12何れか1項記載のシステム。
- 第1のデータを管理する情報処理装置であって、
前記第1のデータの第1の更新に応じた、前記第1のデータの複製である第2のデータの第2の更新の失敗を検知する検知手段と、
前記検知手段により前記第2の更新の失敗が検知された場合、前記第1のデータの内容を示す情報である内容情報を、前記第2のデータの管理先に送信する送信手段と、
を有する情報処理装置。 - 前記情報処理装置は、複合機である請求項14記載の情報処理装置。
- 第1のデータを管理する第1の情報処理装置と、前記第1のデータの複製である第2のデータを管理する第2の情報処理装置と、を含むシステムにおける情報処理方法であって、
前記第1の情報処理装置が、前記第1のデータの第1の更新に応じた前記第2のデータの第2の更新の失敗を検知する検知ステップと、
前記第1の情報処理装置が、前記検知ステップで前記第2の更新の失敗が検知された場合、前記第1のデータの内容を示す情報である内容情報を、前記第2の情報処理装置に送信する送信ステップと、
前記第2の情報処理装置が、前記第1の情報処理装置から前記第1のデータの内容を示す情報が受信された場合、受信された前記内容情報に基づいて、前記第2のデータの内容を、前記第1のデータの内容に更新する更新ステップと、
を含む情報処理方法。 - 第1のデータを管理する情報処理装置が実行する情報処理方法であって、
前記第1のデータの第1の更新に応じた、前記第1のデータの複製である第2のデータの第2の更新の失敗を検知する検知ステップと、
前記検知ステップで前記第2の更新の失敗が検知された場合、前記第1のデータの内容を示す情報である内容情報を、前記第2のデータの管理先に送信する送信ステップと、
を含む情報処理方法。 - 第1のデータを管理するコンピュータに、
前記第1のデータの第1の更新に応じた、前記第1のデータの複製である第2のデータの第2の更新の失敗を検知する検知ステップと、
前記検知ステップで前記第2の更新の失敗が検知された場合、前記第1のデータの内容を示す情報である内容情報を、前記第2のデータの管理先に送信する送信ステップと、
を実行させるためのプログラム。
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)
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 | キヤノン株式会社 | 情報処理装置、制御方法およびプログラム |
-
2017
- 2017-01-16 JP JP2017005190A patent/JP6987503B2/ja active Active
Patent Citations (6)
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 |