IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士ゼロックス株式会社の特許一覧

<>
  • 特開-情報処理装置及びプログラム 図1
  • 特開-情報処理装置及びプログラム 図2
  • 特開-情報処理装置及びプログラム 図3
  • 特開-情報処理装置及びプログラム 図4
  • 特開-情報処理装置及びプログラム 図5
  • 特開-情報処理装置及びプログラム 図6
  • 特開-情報処理装置及びプログラム 図7
  • 特開-情報処理装置及びプログラム 図8
  • 特開-情報処理装置及びプログラム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024037307
(43)【公開日】2024-03-19
(54)【発明の名称】情報処理装置及びプログラム
(51)【国際特許分類】
   G06F 16/178 20190101AFI20240312BHJP
【FI】
G06F16/178
【審査請求】未請求
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2022142045
(22)【出願日】2022-09-07
(71)【出願人】
【識別番号】000005496
【氏名又は名称】富士フイルムビジネスイノベーション株式会社
(74)【代理人】
【識別番号】110001210
【氏名又は名称】弁理士法人YKI国際特許事務所
(72)【発明者】
【氏名】大原 千枝
(57)【要約】
【課題】関連性のあるデータの全てで同期が取れていない状態で当該関連性のあるデータが利用されないようにする。
【解決手段】各複合機10,30は、内部においてデータの更新要求があると、関連性のあるデータ毎に設定されているグループ番号に、当該データを対応付けして更新履歴情報を作成して記憶部13,33に登録するデータ管理部11,31と、同期処理を実施する同期処理部12,32と、を有する。同期処理部12,32は、各更新履歴情報を参照してグループ毎にデータの同期処理を実施し、当該グループの同期処理が正常終了すると、当該グループの更新履歴情報を削除する。
【選択図】図1
【特許請求の範囲】
【請求項1】
他の情報処理装置との間でデータの同期を取る情報処理装置において、
プロセッサを備え、
前記プロセッサは、
装置内部で更新されたデータのうち、関連性のあるデータで構成されるグループの特定情報を自装置側更新履歴情報に登録し、
前記他の情報処理装置の内部において更新されたデータのうち、関連性のあるデータで構成されるグループの特定情報を含む他装置側更新履歴情報を受信すると、前記他装置側更新履歴情報と前記自装置側更新履歴情報を照合することにより、前記グループの特定情報により同期対象と特定されるグループ毎に、当該グループを構成するデータの同期を取る同期処理を実施し、
当該グループを構成する全てのデータの同期が取れた場合において、当該グループの特定情報が前記自装置側更新履歴情報に含まれている場合には、当該グループの特定情報を前記自装置側更新履歴情報から削除する、
ことを特徴とする情報処理装置。
【請求項2】
前記プロセッサは、前記自装置側更新履歴情報及び前記他装置側更新履歴情報の双方に同期対象と特定されるグループが存在する場合、前記同期処理として、当該グループを構成するデータを交換して同期を取ることを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記プロセッサは、同じデータ項目に対して設定内容の異なるデータが前記自装置側更新履歴情報及び前記他装置側更新履歴情報の双方に含まれている場合、所定の規則に従って当該データの同期が取れるように調整することを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記プロセッサは、前記自装置側更新履歴情報に含まれているものの前記他装置側更新履歴情報に含まれないグループが存在する場合、前記同期処理として、当該グループを構成するデータを前記他の情報処理装置へ送信して同期を取るよう指示することを特徴とする請求項1に記載の情報処理装置。
【請求項5】
前記プロセッサは、同期対象と特定されるグループを構成する全てのデータの同期が正常に取れた旨の通知を前記他の情報処理装置から受け取ってから、当該グループの特定情報を前記自装置側更新履歴情報から削除することを特徴とする請求項2又は4に記載の情報処理装置。
【請求項6】
前記プロセッサは、前記他装置側更新履歴情報に含まれているものの前記自装置側更新履歴情報に含まれないグループが存在する場合、前記同期処理として、当該グループを構成するデータを前記他の情報処理装置から受信して同期を取ることを特徴とする請求項1に記載の情報処理装置。
【請求項7】
前記プロセッサは、同期対象と特定されるグループを構成する全てのデータの同期が正常に取れた旨の通知を前記他の情報処理装置へ送信することを特徴とする請求項2又は4に記載の情報処理装置。
【請求項8】
前記プロセッサは、同期対象と特定されるグループの同期処理中に当該グループに構成されるべきデータが装置内部において更新された場合、所定の条件に従って現在の同期処理中に当該データの同期を取るよう処理するか否かを決定することを特徴とする請求項1に記載の情報処理装置。
【請求項9】
他の情報処理装置との間でデータの同期を取る情報処理装置において、
プロセッサを備え、
前記プロセッサは、
装置内部で更新されたデータのうち、関連性のあるデータで構成されるグループの特定情報を更新履歴情報に登録し、
データの同期処理開始時に前記更新履歴情報を前記他の情報処理装置へ送信し、
前記更新履歴情報の送信に応じて前記他の情報処理装置から指示されたグループ毎に、当該グループを構成するデータの同期を取る同期処理を実施する、
ことを特徴とする情報処理装置。
【請求項10】
前記プロセッサは、同期処理の対象となるグループの特定情報が前記更新履歴情報に登録されている場合、同期処理が正常終了してから当該グループの特定情報を前記更新履歴情報から削除することを特徴とする請求項9に記載の情報処理装置。
【請求項11】
前記プロセッサは、同期処理が正常終了した場合、正常終了した旨を前記他の情報処理装置へ送信することを特徴とする請求項9に記載の情報処理装置。
【請求項12】
前記他の情報処理装置は、クラウド上に形成されることを特徴とする請求項1又は9に記載の情報処理装置。
【請求項13】
他のコンピュータとの間でデータの同期を取るコンピュータに、
前記コンピュータの内部で更新されたデータのうち、関連性のあるデータで構成されるグループの特定情報を自コンピュータ側更新履歴情報に登録する機能、
前記他のコンピュータの内部において更新されたデータのうち、関連性のあるデータで構成されるグループの特定情報を含む他コンピュータ側更新履歴情報を受信すると、前記他コンピュータ側更新履歴情報と前記自コンピュータ側更新履歴情報を照合することにより、前記グループの特定情報により同期対象と特定されるグループ毎に、当該グループを構成するデータの同期を取る同期処理を実施する機能、
当該グループを構成する全てのデータの同期が取れた場合において、当該グループの特定情報が前記自コンピュータ側更新履歴情報に含まれている場合には、当該グループの特定情報を前記自コンピュータ側更新履歴情報から削除する機能、
を実現させるためのプログラム。
【請求項14】
他のコンピュータとの間でデータの同期を取るコンピュータに、
前記コンピュータの内部で更新されたデータのうち、関連性のあるデータで構成されるグループの特定情報を更新履歴情報に登録する機能、
データの同期処理開始時に前記更新履歴情報を前記他のコンピュータへ送信する機能、
前記更新履歴情報の送信に応じて前記他のコンピュータから指示されたグループ毎に、当該グループを構成するデータの同期を取る同期処理を実施する機能、
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置及びプログラムに関する。
【背景技術】
【0002】
昨今、実機である複合機と複合機に対応するクラウド上の仮想デバイスを連携させて、クラウドサービスを提供する技術が知られている。ユーザは、複合機に直接アクセスしなくても、クラウド上の仮想デバイスにアクセスすれば、複合機が提供する画像処理等のサービスを利用することが可能となる。
【0003】
仮想デバイスが複合機と同じサービスを提供するために、複合機と仮想デバイスは、逐次同期を取り、同じデータ若しくはデータが対応付けられた状態を維持する。複合機は、電源オフや節電モードにより節電される場合があるが、節電状態のときには仮想デバイスと同期を取ることはできない。また、同期処理は、動作中においても任意に実施できるものではなく、運用上、例えば定時処理として実施される。従って、複合機と仮想デバイスはそれぞれ、同期処理ができない状態のときに更新されたデータのリストを作成しておき、同期が取れるようになったタイミングでリストに登録されているデータの同期処理を実施する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2012-252452号公報
【特許文献2】特許第6266588号明細書
【発明の概要】
【発明が解決しようとする課題】
【0005】
同期の対象となるデータの中には、他のデータと関連性のあるデータが存在する場合がある。この場合、関連性のある一方のデータの同期を取るのであれば、他方のデータと合わせて同期を取るのが好ましい場合がある。仮に、関連性のある一方のデータのみ同期が取れた状態、換言すると一方のデータの同期は取れているものの他方のデータの同期は取れていない状態でいずれか一方のデータが利用されると、データの内容に整合性がとれていないため不測の事態が発生する場合が想定できるからである。
【0006】
本発明は、関連性のあるデータの全てで同期が取れていない状態で当該関連性のあるデータが利用されないようにすることを目的とする。
【課題を解決するための手段】
【0007】
本発明に係る情報処理装置は、他の情報処理装置との間でデータの同期を取る情報処理装置において、プロセッサを備え、前記プロセッサは、装置内部で更新されたデータのうち、関連性のあるデータで構成されるグループの特定情報を自装置側更新履歴情報に登録し、前記他の情報処理装置の内部において更新されたデータのうち、関連性のあるデータで構成されるグループの特定情報を含む他装置側更新履歴情報を受信すると、前記他装置側更新履歴情報と前記自装置側更新履歴情報を照合することにより、前記グループの特定情報により同期対象と特定されるグループ毎に、当該グループを構成するデータの同期を取る同期処理を実施し、当該グループを構成する全てのデータの同期が取れた場合において、当該グループの特定情報が前記自装置側更新履歴情報に含まれている場合には、当該グループの特定情報を前記自装置側更新履歴情報から削除する、ことを特徴とする。
【0008】
また、前記プロセッサは、前記自装置側更新履歴情報及び前記他装置側更新履歴情報の双方に同期対象と特定されるグループが存在する場合、前記同期処理として、当該グループを構成するデータを交換して同期を取ることを特徴とする。
【0009】
また、前記プロセッサは、同じデータ項目に対して設定内容の異なるデータが前記自装置側更新履歴情報及び前記他装置側更新履歴情報の双方に含まれている場合、所定の規則に従って当該データの同期が取れるように調整することを特徴とする。
【0010】
また、前記プロセッサは、前記自装置側更新履歴情報に含まれているものの前記他装置側更新履歴情報に含まれないグループが存在する場合、前記同期処理として、当該グループを構成するデータを前記他の情報処理装置へ送信して同期を取るよう指示することを特徴とする。
【0011】
また、前記プロセッサは、同期対象と特定されるグループを構成する全てのデータの同期が正常に取れた旨の通知を前記他の情報処理装置から受け取ってから、当該グループの特定情報を前記自装置側更新履歴情報から削除することを特徴とする。
【0012】
また、前記プロセッサは、前記他装置側更新履歴情報に含まれているものの前記自装置側更新履歴情報に含まれないグループが存在する場合、前記同期処理として、当該グループを構成するデータを前記他の情報処理装置から受信して同期を取ることを特徴とする。
【0013】
また、前記プロセッサは、同期対象と特定されるグループを構成する全てのデータの同期が正常に取れた旨の通知を前記他の情報処理装置へ送信することを特徴とする。
【0014】
また、前記プロセッサは、同期対象と特定されるグループの同期処理中に当該グループに構成されるべきデータが装置内部において更新された場合、所定の条件に従って現在の同期処理中に当該データの同期を取るよう処理するか否かを決定することを特徴とする。
【0015】
本発明に係る情報処理装置は、他の情報処理装置との間でデータの同期を取る情報処理装置において、プロセッサを備え、前記プロセッサは、装置内部で更新されたデータのうち、関連性のあるデータで構成されるグループの特定情報を更新履歴情報に登録し、データの同期処理開始時に前記更新履歴情報を前記他の情報処理装置へ送信し、前記更新履歴情報の送信に応じて前記他の情報処理装置から指示されたグループ毎に、当該グループを構成するデータの同期を取る同期処理を実施する、ことを特徴とする。
【0016】
また、前記プロセッサは、同期処理の対象となるグループの特定情報が前記更新履歴情報に登録されている場合、同期処理が正常終了してから当該グループの特定情報を前記更新履歴情報から削除することを特徴とする。
【0017】
また、前記プロセッサは、同期処理が正常終了した場合、正常終了した旨を前記他の情報処理装置へ送信することを特徴とする。
【0018】
また、前記他の情報処理装置は、クラウド上に形成されることを特徴とする。
【0019】
本発明に係るプログラムは、他のコンピュータとの間でデータの同期を取るコンピュータに、前記コンピュータの内部で更新されたデータのうち、関連性のあるデータで構成されるグループの特定情報を自コンピュータ側更新履歴情報に登録する機能、前記他のコンピュータの内部において更新されたデータのうち、関連性のあるデータで構成されるグループの特定情報を含む他コンピュータ側更新履歴情報を受信すると、前記他コンピュータ側更新履歴情報と前記自コンピュータ側更新履歴情報を照合することにより、前記グループの特定情報により同期対象と特定されるグループ毎に、当該グループを構成するデータの同期を取る同期処理を実施する機能、当該グループを構成する全てのデータの同期が取れた場合において、当該グループの特定情報が前記自コンピュータ側更新履歴情報に含まれている場合には、当該グループの特定情報を前記自コンピュータ側更新履歴情報から削除する機能、を実現させる。
【0020】
本発明に係るプログラムは、他のコンピュータとの間でデータの同期を取るコンピュータに、前記コンピュータの内部で更新されたデータのうち、関連性のあるデータで構成されるグループの特定情報を更新履歴情報に登録する機能、データの同期処理開始時に前記更新履歴情報を前記他のコンピュータへ送信する機能、前記更新履歴情報の送信に応じて前記他のコンピュータから指示されたグループ毎に、当該グループを構成するデータの同期を取る同期処理を実施する機能、を実現させる。
【発明の効果】
【0021】
請求項1に記載の発明によれば、関連性のあるデータの全てで同期が取れていない状態で当該関連性のあるデータが利用されないようにすることができる。
【0022】
請求項2に記載の発明によれば、一方で更新されたデータを他方に反映させることでデータの同期を取ることができる。
【0023】
請求項3に記載の発明によれば、発生しているコンフリクトを調整してデータの同期を取ることができる。
【0024】
請求項4に記載の発明によれば、自装置側において更新されたデータを他装置に反映させることで同期を取ることができる。
【0025】
請求項5に記載の発明によれば、同期対象と特定されるグループの同期処理中に不具合が生じた場合にも当該グループに含まれるデータをより確実に同期させることができる。
【0026】
請求項6に記載の発明によれば、他装置側において更新されたデータを自装置に反映させることで同期を取ることができる。
【0027】
請求項7に記載の発明によれば、同期対象と特定されるグループの同期処理中に不具合が生じた場合にも当該グループに含まれるデータをより確実に同期させることができる。
【0028】
請求項8に記載の発明によれば、所定の条件に従ったタイミングで同期処理中に更新されたデータの同期を取ることができる。
【0029】
請求項9に記載の発明によれば、関連性のあるデータの全てで同期が取れていない状態で当該関連性のあるデータが利用されないようにすることができる。
【0030】
請求項10に記載の発明によれば、同期対象と特定されるグループの同期処理中に不具合が生じた場合にも当該グループに含まれるデータをより確実に同期させることができる。
【0031】
請求項11に記載の発明によれば、同期処理が正常終了したことを他の情報処理装置に知らせることができる。
【0032】
請求項12に記載の発明によれば、外部に存在する他の情報処理装置と同期を取ることができる。
【0033】
請求項13に記載の発明によれば、関連性のあるデータの全てで同期が取れていない状態で当該関連性のあるデータが利用されないようにすることができる。
【0034】
請求項14に記載の発明によれば、関連性のあるデータの全てで同期が取れていない状態で当該関連性のあるデータが利用されないようにすることができる。
【図面の簡単な説明】
【0035】
図1】本実施の形態におけるサービスシステムの全体構成及びブロック構成を示す図である。
図2】本実施の形態におけるグループ情報のデータ構成の一例を示す図である。
図3】本実施の形態の実デバイス側に保持される更新履歴情報のデータの設定例を示す図である。
図4】本実施の形態の仮想デバイス側に保持される更新履歴情報のデータの設定例を示す図である。
図5】本実施の形態における同期処理を示すシーケンス図である。
図6】本実施の形態における仮想デバイス側で実施されるデータ同期処理を示すフローチャートである。
図7】本実施の形態における第1同期処理を示すフローチャートである。
図8】本実施の形態における第2同期処理を示すフローチャートである。
図9】本実施の形態における第3同期処理を示すフローチャートである。
【発明を実施するための形態】
【0036】
以下、図面に基づいて、本発明の好適な実施の形態について説明する。
【0037】
図1は、本実施の形態におけるサービスシステムの全体構成及びブロック構成を示す図である。図1には、オンプレミス環境に設置される複合機10と、クラウド上に形成される複合機30とが、インターネット等のネットワーク2に接続されているシステム構成が示されている。複合機10と複合機30は、ネットワーク2を介して双方向に通信することが可能であり、データの同期を取る組となる複合機である。
【0038】
複合機10は、オンプレミス環境で従事する従業員等(以下、「ユーザ」)に利用される。複合機10は、オンプレミス環境に物理的に設置される実機であることから、以降の説明では「実デバイス10」とも称することにする。
【0039】
複合機10は、印刷機能、コピー機能、スキャナ機能等各種機能を搭載した画像形成装置の一形態であり、コンピュータを内蔵した装置である。複合機10は、CPU、ROM、RAM、画像データや親展ボックス等を記憶する記憶手段としてのハードディスクドライブ、ユーザインタフェースとしての操作パネル、ネットワーク2に接続するためのネットワークインタフェース、またプリントエンジン及びスキャナを備える。もちろん、必要に応じて、ユーザが携帯する無線機器と無線通信を行うアクセスポイント、ユーザが携帯するICカードを読み取るカードリーダ、フィニッシャ等の付属機器を更に備えてもよい。
【0040】
複合機30は、1又は複数のコンピュータにより実現される仮想的な画像形成装置の一形態である。複合機30は、クラウド上に仮想的に形成される複合機であることから、以降の説明では「仮想デバイス30」とも称することにする。
【0041】
実デバイス10と仮想デバイス30が同等のサービスをユーザに提供するために、実デバイス10と仮想デバイス30の間でデータの同期を取っている。「データの同期」というのは、基本的には同じデータを相互に保持することである。また、仮想デバイス30に存在するソフトウェアの一部(「サブセット」と呼ばれる)が複合機10に存在する場合もある。このように、「データの同期」という語は、それぞれが保持するデータが完全同一であると限定的に解釈するものではない。本実施の形態では、複合機10,30が連携して、それぞれがデータを利用して提供すべきサービスを提供できる状態にすることを「データの同期」という。
【0042】
また、「データ」には、アプリケーションやアプリケーションで使用するデータ、複合機10,30に対する各種設定値などが含まれる。つまり、本実施の形態では、複合機10,30が動作する上で参照する電子的なデータを「データ」と総称する。なお、データがアプリケーションの場合、バージョンアップや機能の追加などにより同期を取る必要が発生する。
【0043】
実デバイス10は、データ管理部11、同期処理部12及び記憶部13を有する。なお、本実施の形態の説明に用いない構成要素は、図から省略している。データ管理部11は、実デバイス10で取り扱うデータの管理を行う。特に、データ管理部11は、同期を取るべきデータが更新されようとすると、グループ情報を参照して更新履歴情報に登録する。同期処理部12は、仮想デバイス30との間で同期処理を実施して、データの同期を取る。記憶部13には、データ、グループ情報及び更新履歴情報が記憶される。データは、実デバイス10で取り扱われるデータであり、更新対象となるデータを含む。
【0044】
図2は、本実施の形態におけるグループ情報のデータ構成の一例を示す図である。詳細は後述するように、本実施の形態では、グループ単位にデータの同期を取るよう同期処理を実施するが、グループ情報には、同期対象のデータをグループ分けするための情報が設定される。グループ情報は、各グループの特定情報としてのグループ番号(「グループNo.」)に、当該グループに分類分けされるデータの特徴を説明する情報(「グループ説明」)が対応付けして設定される。つまり、各グループには、同じ特徴を有するデータ、すなわち関連性のあるデータが集められ、関連性のあるデータそれぞれに同じグループ番号が付与される。なお、図2に示すグループの分類基準は、一例であり、これに限る必要はない。
【0045】
図3は、本実施の形態における実デバイス10に登録される更新履歴情報のデータの設定例を示す図である。更新履歴情報は、実デバイス10の内部において更新されたデータ、換言すると同期を取るべきデータに関する履歴情報であり、同期対象となるデータに関する情報である。更新履歴情報は、グループNo.と更新日時と更新内容とが対応付けして構成される。グループNo.には、同期の対象となるデータが属するグループのグループ番号が設定される。更新日時には、更新された日時が設定される。更新内容には、更新後のデータの内容が設定される。
【0046】
ところで、本実施の形態では、更新履歴情報に登録されるデータ、すなわち同期対象となるデータは、同期処理が実施されてはじめてデータが更新されることにしている。すなわち、システムやユーザによって「更新されたデータ」というのは、厳密には、更新要求がされたデータであり、データの更新が要求されると、要求された更新の内容は、更新履歴情報に登録されることに留まる。データ自体は、更新履歴情報への登録時点では、まだ更新されず、上記の通りデータの同期処理が実施されて実際に更新されることになる。「更新」には、データの追加、変更、削除が含まれる。
【0047】
実デバイス10における各構成要素11~12は、実デバイス10を形成するコンピュータと、コンピュータに搭載されたCPUで動作するプログラムとの協調動作により実現される。また、記憶部13は、実デバイス10に搭載されたHDDにて実現される。あるいは、RAM又は外部にある記憶手段をネットワーク経由で利用してもよい。
【0048】
仮想デバイス30は、データ管理部31、同期処理部32及び記憶部33を有する。なお、本実施の形態の説明に用いない構成要素は、図から省略している。仮想デバイス30の構成要素は、基本的には実デバイス10と同じでよい。ただ、本実施の形態においては、仮想デバイス30が同期処理を主導的に実施する場合で説明するが、そのため、同期処理における具体的な処理の内容が、実デバイス10と仮想デバイス30とで異なってくる。なお、実デバイス10が同期処理を主導的に実施するようにしてもよい。記憶部33に記憶されるグループ情報は、実デバイス10と完全同一である。つまり、同じ特徴を有するデータのグループに対しては、同じグループ番号を設定する必要がある。更新履歴情報は、仮想デバイス30の内部において更新要求されたデータ、換言すると同期を取るべきデータに関する履歴情報であり、同期対象となるデータに関する情報である。保持されるデータの構成は、実デバイス10における更新履歴情報と同じである。
【0049】
仮想デバイス30における各構成要素31~32は、仮想デバイス30を形成するコンピュータと、コンピュータに搭載されたCPUで動作するプログラムとの協調動作により実現される。また、記憶部33は、仮想デバイス30に搭載されたHDDにて実現される。あるいは、RAM又は外部にある記憶手段をネットワーク経由で利用してもよい。
【0050】
また、本実施の形態で用いるプログラムは、通信手段により提供することはもちろん、USBメモリ等のコンピュータ読み取り可能な記録媒体に格納して提供することも可能である。通信手段や記録媒体から提供されたプログラムはコンピュータにインストールされ、コンピュータのCPUがプログラムを順次実行することで各種処理が実現される。
【0051】
次に、本実施の形態において特徴的な同期処理について、図5に示すシーケンス図を用いて説明する。
【0052】
前述したように、各複合機10,30はそれぞれ、同等のサービスを提供する。そのために、複合機10,30間でデータの同期を取るために実施される同期処理は、実デバイス10が仮想デバイス30に所定のタイミングで問い合わせることによって開始される。但し、実デバイス10が電源オフの状態や節電モードによる節電状態のときは、通信不通の状態であり、データの同期を取ることはできない。また、運用上、データの同期を取れない時間がある。なお、図5に示すシーケンスの始めは、節電状態であることから通信不通状態であり、このため同期を取れない場合を示している。
【0053】
仮想デバイス30におけるデータ管理部31は、データの同期を取れない間にデータの更新要求を受け付けると(ステップ301)、更新要求されたデータ(以下、「更新データ」)の種類を判別し、グループ情報を参照することによって、更新データの属するグループを特定する(ステップ302)。そして、データ管理部31は、特定したグループに更新要求された日時を更新日時とし、また更新データの内容を更新内容として更新履歴情報を作成して、記憶部33に登録する(ステップ303)。同期が取れない間、データ管理部31は、データの更新要求に応じて更新履歴情報を作成することで、図4に例示するように更新履歴情報を蓄積していく。
【0054】
一方、実デバイス10においても、仮想デバイス30と同様に、データの同期を取れない間にデータの更新要求を受け付けると、更新履歴情報を作成することで、図3に例示するように更新履歴情報を蓄積していく(ステップ101~103)。
【0055】
なお、同期を取れない場合は、実デバイス10の節電状態の場合以外にも、ネットワーク2が不通状態であったり、仮想デバイス30が形成されているクラウドがシステムダインあるいはメンテナンス等の場合もある。
【0056】
ここで、例えば実デバイス10が節電状態から復帰して複合機10,30間で通信が可能となった後に実施される処理について、以下に説明する。本実施の形態では、前述したように仮想デバイス30が同期処理を主導的に制御する場合で説明する。
【0057】
節電状態から復帰し、通信可能な状態になると、同期処理部12は、節電状態から復帰したことを仮想デバイス30に通知する。そして、同期処理部12は、仮想デバイス30における同期処理部32と連携動作して、仮想デバイス30との間で節電状態から復帰後の同期処理を開始する。具体的には、仮想デバイス30における同期処理部32は、実デバイス10が節電状態から復帰したことを検知すると、同期対象のデータの有無を問い合わせる。
【0058】
実デバイス10における同期処理部12は、仮想デバイス30からの問合せに応じて、更新履歴情報を参照し、登録されている更新データが存在すれば、その更新データに対応するグループ番号のリストを仮想デバイス30へ送信する(ステップ104)。このようにして、同期処理部32は、実デバイス10における更新データのグループ番号を取得する(ステップ304)。
【0059】
続いて、同期処理部32は、実デバイス10から取得したグループ番号と、仮想デバイス30におけるグループ番号、すなわち記憶部33に登録されている更新履歴情報に含まれるグループ番号とを参照して、同期を取るグループの処理順を決定する(ステップ305)。図3,4に示す更新履歴情報の設定例によると、双方を合わせてグループ番号1,2,3のグループが更新履歴情報に登録されている。本実施の形態では、グループ毎に順番に同期を取るよう処理するので、ここでは、グループ番号1,2,3の処理順を決定する必要がある。
【0060】
処理順の決定方法として予め規則を設定しておけばよい。例えば、グループ番号の若い順に同期処理を実施する。本実施の形態では、どのグループに、どのグループ番号を割り付けてもよい。ただ、例えば、セキュリティや課金等に関するデータは、サービスシステムを動作させる上で重要なデータであると考えられるので、このような重要性の高いグループほど若い、すなわち小さい番号を割り振るようにすれば、重要性の高いデータから順に同期を取ることが可能となる。
【0061】
また、図示しないジョブ履歴情報や各種ログ情報を参照することで、利用頻度の高いデータから優先的に同期を取るようにしてもよい。
【0062】
あるいは、実デバイス10から更新履歴情報に含まれるグループ番号だけでなく更新履歴情報全体を取得する必要があるが、時系列順に同期を取るようにしてもよい。具体的には、各グループにおいて更新日時が最も古い更新データを比較して古い更新データを含むグループ順に同期処理を実施する。
【0063】
あるいは、各グループにおいて、更新データの登録数の多い順に同期処理を実行してもよい。なお、利用頻度や登録数は、同値となる可能性もありうるので、上記例示した処理順の決定方法を適宜組み合わせて適用してもよい。
【0064】
以上説明したように、同期処理部32は、同期処理の順番を決定するが、ここでは、グループ番号1,2,3の順番に同期を取ると決定したものとして説明を続ける。
【0065】
処理するグループの順番が決定すると、続いて、同期処理部32は、同期処理部12と連携動作して、決定した処理順に従ってグループ毎に同期処理を実行する(ステップ105,306)。以下、同期処理を主導的に実施する同期処理部32におけるデータ同期処理(ステップ306)の詳細について図6に示すフローチャートを用いて説明する。
【0066】
同期処理部32は、上記の通り処理対象のグループを順番に処理していくので、処理順に従い処理対象とするグループを特定する(ステップ3061)。続いて、同期処理部32は、実デバイス10から取得したグループ番号と記憶部33に登録されている更新履歴情報のグループ番号とを付き合わせる。そして、特定したグループが複合機10,30の双方に登録されている場合(ステップ3062でY)、第1同期処理を実施する(ステップ3063)。特定したグループが複合機10,30の双方に登録されていない場合において(ステップ3062でN)、自機のみ、すなわち仮想デバイス30の更新履歴情報のみに登録されている場合(ステップ3604でY)、第2同期処理を実施する(ステップ3065)。一方、特定したグループが実デバイス10の更新履歴情報のみに登録されている場合(ステップ3604でN)、第3同期処理を実施する(ステップ3066)。
【0067】
図3,4に示す更新履歴情報の設定例によると、グループ1は、双方に登録されていることから第1同期処理の対象となる。また、グループ2は、仮想デバイス30のみに登録されていることから第2同期処理の対象となる。そして、グループ3は、実デバイス10のみに登録されていることから第3同期処理の対象となる。以下、第1乃至第3の各同期処理について説明する。なお、実デバイス10における各同期処理は、図5におけるステップ105に含まれる。仮想デバイス30における各同期処理は、図5におけるステップ306に含まれる。まず、第1同期処理について、図3,4に示す更新履歴情報の設定例を参照しながら図7に示すフローチャートを用いて説明する。
【0068】
同期処理部32は、処理対象とするグループ1に該当する更新履歴情報の送信を実デバイス10に要求する(ステップ311)。
【0069】
実デバイス10における同期処理部12は、節電状態から復帰したことを仮想デバイス30に通知した後、仮想デバイス30からの受信待ち状態でいる。そして、同期処理部12は、仮想デバイス30からグループ1の更新履歴情報の送信要求を受信すると(ステップ111)、受信した送信要求に応じて、記憶部13からグループ1の更新履歴情報を取り出して仮想デバイス30へ送信する(ステップ112)。送信要求に応じて更新履歴情報を送信した場合、同期処理部12は、仮想デバイス30からの受信待ち状態になる。
【0070】
仮想デバイス30の同期処理部32は、実デバイス10から送信されてきた更新履歴情報を受信すると(ステップ312)、受信したグループ1の更新履歴情報と記憶部33に記憶しているグループ1の更新履歴情報の内容とを照合し、コンフリクトの発生の有無を確認する。図3,4に示す設定例によると、ユーザ識別情報「ID5」に対し、実デバイス10では“ユーザA”を、仮想デバイス30では“ユーザB”を、それぞれ登録しようとしている。このように、ユーザ識別情報の「ID5」という同じデータ項目に対して、“ユーザA”及び“ユーザB”という設定内容の異なるデータ(「パラメータ」ともいう)が実デバイス10の更新履歴情報及び仮想デバイス30の更新履歴情報の双方に含まれている場合、換言すると異なるパラメータが実デバイス10と仮想デバイス30とで設定されると、不具合が発生することが容易に推測できる。このように、コンフリクトが発生する場合(ステップ313でY)、同期処理部32は、所定の規則に従って矛盾が発生することなくデータの同期が取れるように調整する(ステップ314)。
【0071】
所定の規則としては、例えば、時間的に先に設定した方を優先する。図3,4に示す設定例によると、ユーザAの追加の方が先なので、実デバイス10における更新履歴情報を採用する。この場合、同期処理部32は、“ユーザB”に対してまだ使用されていないユーザ識別情報、例えば「ID6」を自動的に割り当てる。自動的な割り当てが困難なデータ項目であれば、管理者等に問い合わせるようにしてもよい。また、時間的に古い更新データを破棄する。この場合、上記例によると、ユーザBの追加は、実施されない。あるいは、時間ではなく、個人情報を参照できる場合、所属部署や職種、役職等を参照していずれのユーザを優先的に取り扱うかを決定してもよい。
【0072】
一方、実デバイス10のグループ1の2つ目の更新履歴情報、つまりユーザAのカラー印刷禁止設定をオフからオンに変更するという更新データは、コンフリクトは発生しないので(ステップ313でN)、前述した調整は不要である。
【0073】
なお、上記説明では、同じユーザ識別情報「ID5」に着目し、コンフリクトの発生に伴う更新データの調整について説明したが、例えば、一方の更新データを調整することによって、他の更新データ等に影響が出ないかなども確認する必要がある。
【0074】
続いて、同期処理部32は、必要により調整したグループ1の更新履歴情報に基づき、仮想デバイス30においてデータを更新する(ステップ315)。続いて、同期処理部32は、更新対象とするデータを実デバイス10へ送信する(ステップ316)。
【0075】
実デバイス10における同期処理部12は、仮想デバイス30から送信されてきたデータを受信すると(ステップ113)、受信したグループ1に含まれるデータの更新指示と判断して、受信したデータで実デバイス10におけるデータを更新する(ステップ114)。このように、実デバイス10と仮想デバイス30は、同じグループ1の更新履歴情報を交換して、それぞれの更新データの同期を取る。
【0076】
同期処理部32は、ステップ316において仮想デバイス30が送信する「更新対象とするデータ」に実デバイス10と仮想デバイス30それぞれの更新履歴情報をまとめて含めているが、同期処理部32は、実デバイス10の記憶部13に登録されているグループ1の更新履歴情報を送信しないようにしてもよい。ただ、更新データが調整している可能性がある。例えば、ユーザ識別情報「ID5」が、記憶部13に登録されている更新データ“ユーザA”ではなく他方、すなわち仮想デバイス30に登録されている更新データ“ユーザB”が選択されている場合もある。このような調整が行われている場合を想定して、同期処理部32は、実デバイス10において反映させるべきグループ1に該当する更新データの全てをまとめて実デバイス10に送信するよう処理するのが好適である。
【0077】
上記説明では、データ管理部11,31は、データの同期を取れない間にデータの更新要求を受け付けると、更新履歴情報を作成して更新履歴情報を蓄積していくように処理し(ステップ101~103,301~303)、記憶部13,33に記憶されている更新対象のデータ自体は更新しない。仮に、データ管理部11、31がシステム又はユーザからの更新要求に応じて記憶部13,33に記憶されている実際のデータを更新してしまうと、ステップ314においてデータの調整が発生した場合、更新したデータを調整前の更新データに戻したり、調整後のデータで再度更新したりするなどの処理が発生し、場合によっては不測な事態が発生してしまう可能性が生じてくる。
【0078】
そこで、本実施の形態では、データの同期を取れない間に要求されたデータの更新に対しては、更新履歴情報に登録することに留め、データ自体は、本実施の形態において特徴的な同期処理において更新するようにした。
【0079】
同期処理部12は、上記の通り実デバイス10で同一グループ、ここではグループ1に含まれる全ての更新データの更新を行う。その後、同期処理部12は、処理対象のグループ1における更新データの更新の結果を仮想デバイス30に通知する(ステップ115)。更新データの更新が正常に終了している場合(ステップ116でY)、同期処理部12は、記憶部13に記憶されている更新履歴情報のうち処理対象のグループ1の更新履歴情報を削除する(ステップ117)。
【0080】
一方、更新データの更新が正常に終了しない場合(ステップ116でN)、同期処理部12は、グループ1の更新データの更新処理において異常が発生したことを管理者等に通知する(ステップ118)。そして、異常が発生した場合、同期処理部12は、異常が発生したグループ1の異常履歴情報を削除しない。これにより、グループ1に含まれる更新データの同期処理は、次回の同期処理以降に再試行されることができる。
【0081】
仮想デバイス30における同期処理部32は、更新対象のデータの送信後、実デバイス10から、送信した更新データの更新処理の実行結果の通知の受信待ち状態でいる。そして、更新処理の実行結果の通知を受信すると(ステップ317)、その実行結果が正常終了の場合(ステップ318でY)、同期処理部32は、記憶部33に記憶されている更新履歴情報のうち処理対象のグループ1の更新履歴情報を削除する(ステップ319)。このように、本実施の形態では、実デバイス10と仮想デバイス30の双方で更新データの更新が正常に終了したことを確認してから、グループ1の更新履歴情報を削除する。
【0082】
一方、実デバイス10側で更新処理が正常に終了していない場合(ステップ318でN)、同期処理部32は、実デバイス10側において更新データの更新が異常終了したことで、グループ1の同期処理で異常が発生したことを管理者等に通知する(ステップ320)。そして、異常が発生した場合、同期処理部32は、異常が発生したグループ1の更新履歴情報を削除しない。これにより、グループ1の更新履歴情報は、実デバイス10と仮想デバイス30の双方で削除されずに保持された状態となり、グループ1に含まれる更新データの同期処理は、次回以降の同期処理で再試行されることができるようになる。
【0083】
本実施の形態によれば、以上説明したように仮想デバイス30の主導の下、実デバイス10と仮想デバイス30の双方に更新履歴情報が登録されているグループの同期処理を行うことができる。
【0084】
なお、上記説明では、ステップ315において、仮想デバイス30側で更新データの更新を先に行い、その後、ステップ104において、実デバイス10で更新データの更新を行うようにした。ただ、ステップ315におけるデータ更新は、実デバイス10におけるデータ更新が正常に終了したことを確認してから(ステップ318でY)、その直後、すなわちステップ319の直前で実行してもよい。
【0085】
また、上記説明では、仮想デバイス30側におけるデータ更新(ステップ315)は、正常に終了することを前提として説明した。ただ、仮想デバイス30側においても実デバイス10側と同様に、データ更新の終了状態を確認するようにしてもよい。また、必要により、確認の結果を実デバイス10に通知するようにしてもよい。以降に説明する第2及び第3の各同期処理においても同様である。
【0086】
続いて、第2同期処理について、図3,4に示す更新履歴情報の設定例を参照しながら図8に示すフローチャートを用いて説明する。
【0087】
第2同期処理は、仮想デバイス30のみにグループの更新履歴情報が登録されている場合である。図3,4に示す更新履歴情報の設定例によると、グループ2が該当するように、記憶部33に登録されている更新履歴情報には、グループ2の更新履歴情報が含まれているものの、記憶部13に登録されている更新履歴情報には、グループ2の更新履歴情報が含まれていない。
【0088】
第2同期処理の場合、同期処理部32は、グループ2の更新履歴情報を実デバイス10へ送信することによって同期を取るよう指示する(ステップ321)。
【0089】
実デバイス10における同期処理部12は、節電状態から復帰したことを仮想デバイス30に通知した後、仮想デバイス30からの受信待ち状態でいる。そして、同期処理部12は、仮想デバイス30から更新履歴情報を受信すると(ステップ121)、受信した更新履歴情報に含まれるグループ2に対する更新指示と判断して、更新履歴情報に含まれる更新データで実デバイス10におけるデータを更新する(ステップ122)。このように、同期処理部12は、実デバイス10において、グループ2に含まれる全ての更新データの更新を行う。そして、同期処理部12は、グループ2における更新データの更新処理の実行結果を仮想デバイス30に通知する(ステップ123)。更新データの更新処理が正常に終了している場合(ステップ124でY)、記憶部13には、グループ2の更新履歴情報は登録されていないので、処理を終了する。
【0090】
一方、更新データの更新が正常に終了しない場合(ステップ124でN)、同期処理部12は、グループ2のデータ同期処理において異常が発生したことを管理者等に通知する(ステップ125)。
【0091】
仮想デバイス30における同期処理部32は、更新履歴情報の送信後、実デバイス10から、更新処理の実行結果の通知待ち状態でいる。そして、更新処理の実行結果の通知を受信すると(ステップ322)、その実行結果が正常終了の場合(ステップ323でY)、同期処理部32は、記憶部33に記憶されている更新履歴情報のうち処理対象のグループ2の更新履歴情報に基づき更新データの更新を行う(ステップ324)。続いて、同期処理部32は、記憶部33に記憶されている更新履歴情報のうち処理対象のグループ2の更新履歴情報を削除する(ステップ325)。このように、本実施の形態では、実デバイス10と仮想デバイス30の双方で更新データの更新が正常に終了したことを確認してから、グループ2の更新履歴情報を削除する。
【0092】
一方、実デバイス10側で更新処理が正常に終了していない場合(ステップ323でN)、同期処理部32は、実デバイス10側において更新データの更新が異常終了したことで、グループ2の同期処理で異常が発生したことを管理者等に通知する(ステップ326)。そして、異常が発生した場合、同期処理部32は、異常が発生したグループ2の更新履歴情報を削除しない。これにより、グループ2に含まれる更新データの同期処理は、次回以降の同期処理で再試行されることができるようになる。
【0093】
本実施の形態によれば、以上のように仮想デバイス30の主導の下、仮想デバイス30側のみに更新履歴情報が登録されているグループの同期処理を行うことができる。
【0094】
続いて、第3同期処理について、図3,4に示す更新履歴情報の設定例を参照しながら図9に示すフローチャートを用いて説明する。
【0095】
第3同期処理は、実デバイス10のみにグループの更新履歴情報が登録されている場合である。図3,4に示す更新履歴情報の設定例によると、グループ3が該当するように、記憶部13に登録されている更新履歴情報には、グループ3の更新履歴情報が含まれているものの、記憶部33に登録されている更新履歴情報には、グループ3の更新履歴情報が含まれていない。
【0096】
第3同期処理の場合、同期処理部32は、グループ3の更新履歴情報の送信を実デバイス10に要求する(ステップ331)。
【0097】
実デバイス10における同期処理部12は、節電状態から復帰したことを仮想デバイス30に通知した後、仮想デバイス30からの受信待ち状態でいる。そして、同期処理部12は、仮想デバイス30からグループ3の更新履歴情報の送信要求を受信すると(ステップ131)、受信した送信要求に応じて、記憶部13からグループ3の更新履歴情報を取り出して仮想デバイス30へ送信する(ステップ132)。更新履歴情報を送信要求に応じて更新履歴情報を送信した場合、同期処理部12は、仮想デバイス30からの受信待ち状態になる。
【0098】
仮想デバイス30の同期処理部32は、実デバイス10から送信されてきた更新履歴情報を受信すると(ステップ332)、受信した更新履歴情報に含まれている更新データによるデータの更新の是非、換言するとデータの同期の可否を判定する(ステップ333)。例えば、メールサーバと認証方式には、動作する組合せがある。例えば、メールサーバが「smtp.office365.com」の場合、認証方式は「OAuth」に限定される。また、メールサーバが「smtp.gmail.com」の場合、認証方式として「OAuth」を利用できない。つまり、メールサーバと認証方式が整合性のない組合せとならないように、データの同期の可否を事前に確認する必要がある。
【0099】
同期処理部32は、更新データに関して同期の可否を判定し、その判定結果を実デバイス10に通知する(ステップ334)。その後、同期処理部32は、実デバイス10からデータ更新の実行結果の受信待ち状態となる。
【0100】
受信待ち状態であった仮想デバイス30における同期処理部12は、仮想デバイス30から送られてくる判定結果を受信する(ステップ133)。判定結果が同期可の場合(ステップ134でY)、同期処理部12は、データの更新指示と判断して、記憶部13に登録されているグループ3の更新履歴情報に含まれる更新データで実デバイス10におけるデータを更新する(ステップ135)。そして、同期処理部12は、記憶部13に記憶されている更新履歴情報のうち処理対象のグループ3の更新履歴情報を削除する(ステップ136)。その後、同期処理部12は、処理対象のグループ3における更新データの更新処理の実行結果を仮想デバイス30に通知する(ステップ137)。
【0101】
同期処理部12は、処理対象のグループ3における更新データの更新処理が正常終了している場合(ステップ138でY)、処理を終了する。一方、データ更新が正常に終了していない場合(ステップ138でN)、同期処理部12は、グループ3のデータ同期処理において異常が発生したことを管理者等に通知する(ステップ139)。
【0102】
一方、仮想デバイス30から受信した判定結果が同期不可の場合(ステップ134でN)、同期処理部12は、同期処理が実行できないことを管理者等に通知する(ステップ140)。なお、同期不可の場合、仮想デバイス30は、同期不可と判定した理由を判定結果と共に実デバイス10に通知することによって、その理由を実デバイス10の管理者等に知らせるようにしてもよい。
【0103】
ステップ333において同期が可能と判定した場合において(ステップ335でY)、受信待ち状態であった同期処理部32は、データ更新の結果の通知を受信すると(ステップ336)、その更新結果が正常終了の場合(ステップ337でY)、ステップ332で受信していたグループ3の更新履歴情報に含まれている更新データでデータを更新する(ステップ338)。なお、ステップ333においてデータの同期が可能と判定しているので、データの更新は正常終了するとみなす。
【0104】
また、実デバイス10において、データ更新が正常に終了していない場合(ステップ337でN)、同期処理部32は、実デバイス10側において更新データの更新が異常終了したことで、グループ3の同期処理で異常が発生したことを管理者等に通知する(ステップ339)。
【0105】
一方、ステップ333において同期が不可と判定した場合(ステップ335でN)、同期処理部32は、グループ3に含まれる更新データの同期処理が実行できないことを管理者等に通知する(ステップ340)。
【0106】
本実施の形態によれば、以上のように仮想デバイス30の主導の下、実デバイス10側のみに更新履歴情報が登録されているグループの同期処理を行うことができる。
【0107】
なお、上記説明では、節電状態から復帰したときに実施する同期処理を例にして説明したが、複合機10,30の動作中においても同様に同期処理を実施させることができる。動作中に実施される同期処理は、一般に定時処理や定周期処理として実施される場合が少なくない。動作中に実施される同期処理は、データの整合性を担保する上でも、少なくとも更新対象となるデータへのアクセスは禁止するのが好ましい。
【0108】
ところで、データへのアクセス禁止時間を制限するため、運用上、同期処理を継続して実施可能な時間長(以下、「同期可能時間」という)に制限が設けられる場合が想定できる。例えば、同期可能時間が2分と設定されている場合、同期処理は、2分で強制終了されるかもしれない。このような条件の下で同期処理を実行する場合、グループに含まれる更新履歴情報の数量が多いと、同期処理が同期可能時間内で終了しない場合も考えられる。
【0109】
例えば、同期可能時間が2分と設定されている場合において、グループ1,2,3における同期にそれぞれ要する予想時間が30秒、1分、3分だったとする。この場合、1回の同期処理において全てのグループ1,2,3の同期を終了させることはできない。この場合、本実施の形態では、次のように同期を制御する。
【0110】
例えば、同期可能時間の中で同期を終了させることのできるグループを抽出して、そのグループ(上記例でいうとグループ1,2)の同期を実施し、2分を超えるグループ3は、今回の同期処理では同期を実施しない。同期可能時間を超えるグループ(つまり、グループ3)の存在を検出すると、同期処理部32は、グループ3の同期を取れるように、同期可能時間をグループ3における同期に要する予想時間(3分)に延長する。そして、グループ3の同期のみを次回の同期処理で実行し、その後、同期可能時間を元の2分に戻す。あるいは、同期可能時間を3分以上に延長して、他のグループと共に同期を取るようにしてもよい。いずれの場合も同期可能時間を延長した同期処理を実施した後は、複合機10,30のユーザに迷惑をかけないという時間に制限を設けた運用上の目的からして、同期可能時間を元の2分に戻すようにするのが望ましい。また、同期可能時間を延長した同期処理は、複合機10,30の利用が少なくなる、例えば夜間などに行うのが好適である。次回の同期処理で実施するか、あるいは夜間まで待って同期処理を実行するかは、例えば同期可能時間を超えるグループに含まれる更新データの優先度を参照して決めてもよい。
【0111】
また、同期可能時間に同期が終了するグループ(上記例でいうとグループ1,2)だけ同期処理を実行する場合でも、通信不良等による遅延が発生して、結果として同期可能時間に終了できない場合が想定できる。この場合、同期可能時間に終了しなかったグループに関しては、次回の同期処理に回して同期を取るようにしてもよい。
【0112】
また、あるグループに含まれる更新履歴情報の数が所定数量などの閾値以上となった場合、同一グループに属する更新データを複数のサブグループに分割して、サブグループ毎に同期処理を実行するようにしてもよい。サブグループにおける同期処理は、同期可能時間内で終了するように同期処理を制御する。この場合、上記のように同期可能時間を延長する必要がない。ただ、前述したメールサーバと認証方式の関係のように、異なるタイミングでの同期処理は回避したい、つまり相対的に関連性の強い更新データに関しては、同じサブグループに含めるようにする。また、複数のサブグループにおいては、グループの場合と同様に、重要度等によって実施される優先順位を決めるのが好ましい。
【0113】
また、同期処理の実施中に、データが更に更新される可能性がある。つまり、同期処理中に更新履歴情報が作成されることで、作成された更新履歴情報を、該当するグループの更新履歴情報に含める必要が生じてくる。例えば、上記のようにグループ1,2,3の順番で同期処理を実施する場合において、現在、グループ1の同期処理が実施中であるとする。この場合において、処理中のグループ1に該当するデータの更新要求があった場合、所定の条件に従って現在の同期処理中に当該データの同期を取るよう処理するか否かを決定する。例えば、所定の条件として、最後の順番のグループ3の後に追加するという条件があれば、グループ3の後にグループ1を追加して、今回の一連の同期処理に含めて処理するようにしてもよい。あるいは、図5に示すステップ305を実行して、グループ2,3及び新たに追加されるグループ1で処理順を再決定してもよい。あるいは、グループ1を次回以降の同期処理に回すようにしてもよい。
【0114】
また、現在、グループ1の同期処理が実施中の場合において、まだ処理されていないグループ2又はグループ3に該当するデータの更新要求があった場合、グループ2,3の更新履歴情報に含めればよい。あるいは、次回以降の同期処理に回すようにしてもよい。
【0115】
上記実施の形態において、プロセッサとは広義的なプロセッサを指し、汎用的なプロセッサ(例えばCPU:Central Processing Unit等)や、専用のプロセッサ(例えばGPU:Graphics Processing Unit、ASIC:Application Specific Integrated Circuit、FPGA:Field Programmable Gate Array、プログラマブル論理デバイス等)を含むものである。
【0116】
また上記実施の形態におけるプロセッサの動作は、1つのプロセッサによって成すのみでなく、物理的に離れた位置に存在する複数のプロセッサが協働して成すものであってもよい。また、プロセッサの各動作の順序は上記各実施の形態において記載した順序のみに限定されるものではなく、適宜変更してもよい。
【0117】
(付記)
(((1)))
他の情報処理装置との間でデータの同期を取る情報処理装置において、
プロセッサを備え、
前記プロセッサは、
装置内部で更新されたデータのうち、関連性のあるデータで構成されるグループの特定情報を自装置側更新履歴情報に登録し、
前記他の情報処理装置の内部において更新されたデータのうち、関連性のあるデータで構成されるグループの特定情報を含む他装置側更新履歴情報を受信すると、前記他装置側更新履歴情報と前記自装置側更新履歴情報を照合することにより、前記グループの特定情報により同期対象と特定されるグループ毎に、当該グループを構成するデータの同期を取る同期処理を実施し、
当該グループを構成する全てのデータの同期が取れた場合において、当該グループの特定情報が前記自装置側更新履歴情報に含まれている場合には、当該グループの特定情報を前記自装置側更新履歴情報から削除する、
ことを特徴とする情報処理装置。
(((2)))
前記プロセッサは、前記自装置側更新履歴情報及び前記他装置側更新履歴情報の双方に同期対象と特定されるグループが存在する場合、前記同期処理として、当該グループを構成するデータを交換して同期を取ることを特徴とする(((1)))に記載の情報処理装置。
(((3)))
前記プロセッサは、同じデータ項目に対して設定内容の異なるデータが前記自装置側更新履歴情報及び前記他装置側更新履歴情報の双方に含まれている場合、所定の規則に従って当該データの同期が取れるように調整することを特徴とする(((2)))に記載の情報処理装置。
(((4)))
前記プロセッサは、前記自装置側更新履歴情報に含まれているものの前記他装置側更新履歴情報に含まれないグループが存在する場合、前記同期処理として、当該グループを構成するデータを前記他の情報処理装置へ送信して同期を取るよう指示することを特徴とする(((1)))に記載の情報処理装置。
(((5)))
前記プロセッサは、同期対象と特定されるグループを構成する全てのデータの同期が正常に取れた旨の通知を前記他の情報処理装置から受け取ってから、当該グループの特定情報を前記自装置側更新履歴情報から削除することを特徴とする(((2)))又は(((4)))に記載の情報処理装置。
(((6)))
前記プロセッサは、前記他装置側更新履歴情報に含まれているものの前記自装置側更新履歴情報に含まれないグループが存在する場合、前記同期処理として、当該グループを構成するデータを前記他の情報処理装置から受信して同期を取ることを特徴とする(((1)))に記載の情報処理装置。
(((7)))
前記プロセッサは、同期対象と特定されるグループを構成する全てのデータの同期が正常に取れた旨の通知を前記他の情報処理装置へ送信することを特徴とする(((2)))又は(((4)))に記載の情報処理装置。
(((8)))
前記プロセッサは、同期対象と特定されるグループの同期処理中に当該グループに構成されるべきデータが装置内部において更新された場合、所定の条件に従って現在の同期処理中に当該データの同期を取るよう処理するか否かを決定することを特徴とする(((1)))に記載の情報処理装置。
(((9)))
他の情報処理装置との間でデータの同期を取る情報処理装置において、
プロセッサを備え、
前記プロセッサは、
装置内部で更新されたデータのうち、関連性のあるデータで構成されるグループの特定情報を更新履歴情報に登録し、
データの同期処理開始時に前記更新履歴情報を前記他の情報処理装置へ送信し、
前記更新履歴情報の送信に応じて前記他の情報処理装置から指示されたグループ毎に、当該グループを構成するデータの同期を取る同期処理を実施する、
ことを特徴とする情報処理装置。
(((10)))
前記プロセッサは、同期処理の対象となるグループの特定情報が前記更新履歴情報に登録されている場合、同期処理が正常終了してから当該グループの特定情報を前記更新履歴情報から削除することを特徴とする(((9)))に記載の情報処理装置。
(((11)))
前記プロセッサは、同期処理が正常終了した場合、正常終了した旨を前記他の情報処理装置へ送信することを特徴とする(((9)))に記載の情報処理装置。
(((12)))
前記他の情報処理装置は、クラウド上に形成されることを特徴とする(((1)))又は(((9)))に記載の情報処理装置。
(((13)))
他のコンピュータとの間でデータの同期を取るコンピュータに、
前記コンピュータの内部で更新されたデータのうち、関連性のあるデータで構成されるグループの特定情報を自コンピュータ側更新履歴情報に登録する機能、
前記他のコンピュータの内部において更新されたデータのうち、関連性のあるデータで構成されるグループの特定情報を含む他コンピュータ側更新履歴情報を受信すると、前記他コンピュータ側更新履歴情報と前記自コンピュータ側更新履歴情報を照合することにより、前記グループの特定情報により同期対象と特定されるグループ毎に、当該グループを構成するデータの同期を取る同期処理を実施する機能、
当該グループを構成する全てのデータの同期が取れた場合において、当該グループの特定情報が前記自コンピュータ側更新履歴情報に含まれている場合には、当該グループの特定情報を前記自コンピュータ側更新履歴情報から削除する機能、
を実現させるためのプログラム。
(((14)))
他のコンピュータとの間でデータの同期を取るコンピュータに、
前記コンピュータの内部で更新されたデータのうち、関連性のあるデータで構成されるグループの特定情報を更新履歴情報に登録する機能、
データの同期処理開始時に前記更新履歴情報を前記他のコンピュータへ送信する機能、
前記更新履歴情報の送信に応じて前記他のコンピュータから指示されたグループ毎に、当該グループを構成するデータの同期を取る同期処理を実施する機能、
を実現させるためのプログラム。
【0118】
(((1)))に記載の発明によれば、関連性のあるデータの全てで同期が取れていない状態で当該関連性のあるデータが利用されないようにすることができる。
(((2)))に記載の発明によれば、一方で更新されたデータを他方に反映させることでデータの同期を取ることができる。
(((3)))に記載の発明によれば、発生しているコンフリクトを調整してデータの同期を取ることができる。
(((4)))に記載の発明によれば、自装置側において更新されたデータを他装置に反映させることで同期を取ることができる。
(((5)))に記載の発明によれば、同期対象と特定されるグループの同期処理中に不具合が生じた場合にも当該グループに含まれるデータをより確実に同期させることができる。
(((6)))に記載の発明によれば、他装置側において更新されたデータを自装置に反映させることで同期を取ることができる。
(((7)))に記載の発明によれば、同期対象と特定されるグループの同期処理中に不具合が生じた場合にも当該グループに含まれるデータをより確実に同期させることができる。
(((8)))に記載の発明によれば、所定の条件に従ったタイミングで同期処理中に更新されたデータの同期を取ることができる。
(((9)))に記載の発明によれば、関連性のあるデータの全てで同期が取れていない状態で当該関連性のあるデータが利用されないようにすることができる。
(((10)))に記載の発明によれば、同期対象と特定されるグループの同期処理中に不具合が生じた場合にも当該グループに含まれるデータをより確実に同期させることができる。
(((11)))に記載の発明によれば、同期処理が正常終了したことを他の情報処理装置に知らせることができる。
(((12)))に記載の発明によれば、外部に存在する他の情報処理装置と同期を取ることができる。
(((13)))に記載の発明によれば、関連性のあるデータの全てで同期が取れていない状態で当該関連性のあるデータが利用されないようにすることができる。
(((14)))に記載の発明によれば、関連性のあるデータの全てで同期が取れていない状態で当該関連性のあるデータが利用されないようにすることができる。
【符号の説明】
【0119】
2 ネットワーク、10 複合機(実デバイス)、11,31 データ管理部、12,32 同期処理部、13,33 記憶部、30 複合機(仮想デバイス)。
図1
図2
図3
図4
図5
図6
図7
図8
図9