JP2018195882A - クライアント装置、情報処理方法及びプログラム - Google Patents
クライアント装置、情報処理方法及びプログラム Download PDFInfo
- Publication number
- JP2018195882A JP2018195882A JP2017095836A JP2017095836A JP2018195882A JP 2018195882 A JP2018195882 A JP 2018195882A JP 2017095836 A JP2017095836 A JP 2017095836A JP 2017095836 A JP2017095836 A JP 2017095836A JP 2018195882 A JP2018195882 A JP 2018195882A
- Authority
- JP
- Japan
- Prior art keywords
- data
- user
- synchronization
- list
- control unit
- 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.)
- Pending
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Facsimiles In General (AREA)
Abstract
【課題】同期停止後、同期していた最新のデータを利用することを目的とする。【解決手段】サーバー装置とのデータの同期処理の停止指示が受け付けられた場合、同期対象のデータをサーバー装置より取得し、取得したデータを反映させる反映手段と、反映手段によるデータの反映後、サーバー装置に同期処理を停止する要求を送信する送信手段と、を有する。【選択図】図9
Description
本発明は、クライアント装置、情報処理方法及びプログラムに関する。
従来、情報処理装置間でデータを同期する場合に、サーバーとの通信状態にかかわらずにユーザーから変更された設定値を利用可能にし、設定値の変更のために生成されたジョブに従いサーバーに対して同期処理を行う方法が提案されている(特許文献1参照)。クライアントは、サーバーから最新のデータを取得するための方法として、定期ポーリングにより更新データを取得する方法がある。他にもクライアントが動作する情報処理装置がデジタル複合機である場合には利用可能なHDDやメモリ等の資源が限られているため常に全データを取得せずに、ユーザーのログインを契機にユーザーデータを取得する方法がある。
しかし何れにおいてもある時点でクライアントに存在するデータがサーバー上の最新のデータであることが保障されていない。例えば定期ポーリングによるデータ取得を行っている場合には、前回のポーリングから現時点の間に他のクライアントがデータの更新をサーバーに対して行っていた場合にはそのデータが反映されない可能性がある。またユーザーのログインを契機にデータの取得を行っている場合には、前回のログイン以降に他の情報処理装置からデータの構成がサーバーに対して行われている場合にはデータが最新の状態ではなくなっている可能性がある。
以上のような状態で、1台のクライアントの同期を停止し、データの同期を行っていた同期環境から切り離して利用しようとした場合、クライアントに存在するデータが最新に更新されていない状態となってしまう可能性がある。そのため同期環境から切り離した後にユーザーがクライアントを利用すると以前設定したはずのデータや設定が古い状態に戻ったように見えてしまう可能性がある。
以上のような状態で、1台のクライアントの同期を停止し、データの同期を行っていた同期環境から切り離して利用しようとした場合、クライアントに存在するデータが最新に更新されていない状態となってしまう可能性がある。そのため同期環境から切り離した後にユーザーがクライアントを利用すると以前設定したはずのデータや設定が古い状態に戻ったように見えてしまう可能性がある。
本発明のクライアント装置は、サーバー装置とのデータの同期処理の停止指示が受け付けられた場合、同期対象のデータを前記サーバー装置より取得し、取得したデータを反映させる反映手段と、前記反映手段による前記データの反映後、前記サーバー装置に前記同期処理を停止する要求を送信する送信手段と、を有する。
本発明によれば、同期停止後、同期していた最新のデータを利用することができる。
以下、本発明の実施形態について図面に基づいて説明する。
図1は、データ同期システムのシステム構成の一例を示す図である。データ同期システムでは、データの同期を行う情報処理装置としてデジタル複合機(MFP)110a、デジタル複合機110b、サーバー120、PC130がネットワーク100を介して互いに通信可能に接続されている。サーバー120は、コンピュータ等であってもよいし、MFP等であってもよい。デジタル複合機は、画像形成装置の一例である。
図2は、デジタル複合機110内のハードウェア構成の一例を示す図である。デジタル複合機110は、コントローラユニット200、操作部220、スキャナ230、プリンタ240を含んでいる。コントローラユニット200には、操作部220が接続されると共に、画像入力デバイスであるスキャナ230や画像出力デバイスであるプリンタ240が接続される。
コントローラユニット200は、より具体的には、CPU(Central Processing Unit)202を有する。CPU202は、ROM(Read Only Memory)206に格納されているブートプログラムによりOS(Operating System)を立ち上げる。コントローラユニット200は、このOS上で、HDD(Hard Disk Drive)205に格納されているアプリケーションプログラムを実行し、これによって各種処理を実行する。このCPU202の作業領域としてはRAM(Random Access Memory)203が用いられる。HDD205は、アプリケーションプログラムや各種データを格納する。
CPU202には、システムバス210を介して、ROM206及びRAM203と共に、操作部I/F201、デバイスI/F204、Network I/F207、画像処理208が接続される。
操作部I/F201は、タッチパネルを有する操作部220とのインタフェースである。操作部I/F201は、操作部220に表示する各種データ等の情報を送出したり、ユーザーにより入力された情報をCPU202に送出したりする。デバイスI/F204には、スキャナ230及びプリンタ240が接続され、データや制御信号の入出力が行われる。Network I/F207は、ネットワーク100に接続され、ネットワーク100を介してネットワーク100上の各情報処理装置との間で情報の入出力を行う。画像処理208では、スキャナからの入力画像処理やプリンタへの出力画像処理、画像回転、画像圧縮、解像度変換、色空間変換、階調変換等の処理が行われる。
コントローラユニット200は、より具体的には、CPU(Central Processing Unit)202を有する。CPU202は、ROM(Read Only Memory)206に格納されているブートプログラムによりOS(Operating System)を立ち上げる。コントローラユニット200は、このOS上で、HDD(Hard Disk Drive)205に格納されているアプリケーションプログラムを実行し、これによって各種処理を実行する。このCPU202の作業領域としてはRAM(Random Access Memory)203が用いられる。HDD205は、アプリケーションプログラムや各種データを格納する。
CPU202には、システムバス210を介して、ROM206及びRAM203と共に、操作部I/F201、デバイスI/F204、Network I/F207、画像処理208が接続される。
操作部I/F201は、タッチパネルを有する操作部220とのインタフェースである。操作部I/F201は、操作部220に表示する各種データ等の情報を送出したり、ユーザーにより入力された情報をCPU202に送出したりする。デバイスI/F204には、スキャナ230及びプリンタ240が接続され、データや制御信号の入出力が行われる。Network I/F207は、ネットワーク100に接続され、ネットワーク100を介してネットワーク100上の各情報処理装置との間で情報の入出力を行う。画像処理208では、スキャナからの入力画像処理やプリンタへの出力画像処理、画像回転、画像圧縮、解像度変換、色空間変換、階調変換等の処理が行われる。
図3は、サーバー120内のハードウェア構成の一例を示す図である。サーバー120は、CPU301、RAM302、ROM303、Network I/F304、VRAM305、KBC307、HDD309を含んでおり、それぞれバス300を介して接続されている。また、Display306はVRAM305を介してバス300に接続されている。KB308はKBC307を介したバス300に接続されている。
CPU301は、サーバー120の演算・制御を司る。RAM302は、CPU301の主メモリとして、及び、実行プログラムの領域、プログラムの実行エリア並びにデータエリアとして機能する。ROM303にはサーバー120の機器制御を行う基本ソフト(OS)のプログラムを記録したプログラムROMと、システムを稼働するために必要な情報等が記録されているデータROMと、がある。また、ROM303の代わりに、後述のHDD309が用いられる場合もある。Network I/F304は、ネットワーク100を介して外部装置とのデータ送受信等の通信を行う。VRAM(VideoVRAM)305は、サーバー120のDisplay306の画面に表示させるための画像を展開し、Display306の表示の制御を行う。Display306は、ディスプレイ等の表示装置である。KBC307は、KB308からの入力信号を制御するためのコントローラである。KB308は、利用者が行う操作を受け付けるための外部入力装置であり、例えばキーボードやマウス等のポインティングデバイスが用いられる。HDD309は、ハードディスクドライブ(HDD)であり、アプリケーションプログラムや各種データの保存に用いられる。バス300は、上述した各ユニット間を接続するための伝送バス(アドレスバス、データバス、入出力バス、及び制御バス)である。
CPU301は、サーバー120の演算・制御を司る。RAM302は、CPU301の主メモリとして、及び、実行プログラムの領域、プログラムの実行エリア並びにデータエリアとして機能する。ROM303にはサーバー120の機器制御を行う基本ソフト(OS)のプログラムを記録したプログラムROMと、システムを稼働するために必要な情報等が記録されているデータROMと、がある。また、ROM303の代わりに、後述のHDD309が用いられる場合もある。Network I/F304は、ネットワーク100を介して外部装置とのデータ送受信等の通信を行う。VRAM(VideoVRAM)305は、サーバー120のDisplay306の画面に表示させるための画像を展開し、Display306の表示の制御を行う。Display306は、ディスプレイ等の表示装置である。KBC307は、KB308からの入力信号を制御するためのコントローラである。KB308は、利用者が行う操作を受け付けるための外部入力装置であり、例えばキーボードやマウス等のポインティングデバイスが用いられる。HDD309は、ハードディスクドライブ(HDD)であり、アプリケーションプログラムや各種データの保存に用いられる。バス300は、上述した各ユニット間を接続するための伝送バス(アドレスバス、データバス、入出力バス、及び制御バス)である。
本実施形態では、サーバー120上でデータ同期サーバーアプリケーション(以下、サーバーアプリという)400が動作するものとする。また、デジタル複合機110a及びデジタル複合機110b上でデータ同期クライアントアプリケーション(以下、クライアントアプリ)500が動作するものとする。但し、このことは本実施の形態を制限するものではない。例えば、デジタル複合機110aでサーバーアプリ400が動作するようにしてもよい。
サーバー120のCPU301がサーバー120のHDD309又はROM303に記憶されているサーバーアプリ400のプログラムに基づき処理を実行することによってサーバーアプリ400の機能がサーバー120で実現される。デジタル複合機110aのCPU202がデジタル複合機110aのHDD205又はROM206に記憶されているクライアントアプリ500のプログラムに基づき処理を実行することによってクライアントアプリ500の機能がデジタル複合機110aで実現される。同様にデジタル複合機110bのCPU202がデジタル複合機110bのHDD205又はROM206に記憶されているクライアントアプリ500のプログラムに基づき処理を実行することによってクライアントアプリ500の機能がデジタル複合機110bで実現される。各種アプリケーション510、データ同期管理アプリケーション520も同様である。即ちデジタル複合機110aのHDD205又はROM206に記憶されている各々のアプリケーションのプログラムをデジタル複合機110aのCPU202が実行することによって各々のアプリケーションの機能がデジタル複合機110aにおいて実現される。またデジタル複合機110bのHDD205又はROM206に記憶されている各々のアプリケーションのプログラムをデジタル複合機110bのCPU202が実行することによって各々のアプリケーションの機能がデジタル複合機110bにおいて実現される。以下に示す図6、図8〜図10、図12、図13のフローチャートの処理はデジタル複合機110a、デジタル複合機110bのクライアントアプリ500の処理である。即ちフローチャートの処理は、デジタル複合機110a、デジタル複合機110bのCPU202がデジタル複合機110a、デジタル複合機110bのHDD205又はROM206に記憶されているクライアントアプリ500のプログラムに基づき処理を実行することによって実現される。
サーバー120のCPU301がサーバー120のHDD309又はROM303に記憶されているサーバーアプリ400のプログラムに基づき処理を実行することによってサーバーアプリ400の機能がサーバー120で実現される。デジタル複合機110aのCPU202がデジタル複合機110aのHDD205又はROM206に記憶されているクライアントアプリ500のプログラムに基づき処理を実行することによってクライアントアプリ500の機能がデジタル複合機110aで実現される。同様にデジタル複合機110bのCPU202がデジタル複合機110bのHDD205又はROM206に記憶されているクライアントアプリ500のプログラムに基づき処理を実行することによってクライアントアプリ500の機能がデジタル複合機110bで実現される。各種アプリケーション510、データ同期管理アプリケーション520も同様である。即ちデジタル複合機110aのHDD205又はROM206に記憶されている各々のアプリケーションのプログラムをデジタル複合機110aのCPU202が実行することによって各々のアプリケーションの機能がデジタル複合機110aにおいて実現される。またデジタル複合機110bのHDD205又はROM206に記憶されている各々のアプリケーションのプログラムをデジタル複合機110bのCPU202が実行することによって各々のアプリケーションの機能がデジタル複合機110bにおいて実現される。以下に示す図6、図8〜図10、図12、図13のフローチャートの処理はデジタル複合機110a、デジタル複合機110bのクライアントアプリ500の処理である。即ちフローチャートの処理は、デジタル複合機110a、デジタル複合機110bのCPU202がデジタル複合機110a、デジタル複合機110bのHDD205又はROM206に記憶されているクライアントアプリ500のプログラムに基づき処理を実行することによって実現される。
図4は、サーバーアプリ400等の一例を示す図である。サーバーアプリ400は、通信処理部401、制御部402、要求解析部403、データアクセス部404を含む。通信処理部401は、デジタル複合機110a、110b等からの処理要求を受信し、処理結果を送信する。制御部402は、処理の制御を行う。要求解析部403は、通信処理部401で受付けた処理要求を解析する。データアクセス部404は、処理要求に応じてデータベース410にアクセスして、データの作成/更新/削除/参照を実行する。データベース410で保持するデータは、HDD205又はRAM203等に保存される。
図5は、クライアントアプリ500等の一例を示す図である。クライアントアプリ500は、処理受付部501、制御部502、ジョブ管理部503、通信処理部504を含む。処理受付部501は、コピーやFAX等の各種アプリケーション510からの処理要求を受信する。制御部502は、処理の制御を行う。ジョブ管理部503は、処理受付部501で受付けた処理要求をジョブとして管理する。通信処理部504は、Network I/F207を介してサーバー120上のサーバーアプリ400と通信を行う。ジョブ管理部503で管理する情報は、HDD205又はRAM203等に保存される。各種アプリケーション510は、操作部220に表示するデータを管理し、操作部220でユーザーから入力されたデータを保持すると共に、処理受付部501にデータ更新内容を通知する。
データ同期管理アプリケーション520は、データ同期の開始や終了を行うためのユーザーインターフェースをデジタル複合機110aの管理者に提供するための管理アプリケーションである。データ同期管理アプリケーション520は、操作部220で操作された情報を処理受付部501へ送信したり、制御部502から指示された内容に基づき表示する表示内容を決定し操作部220へデータ同期管理画面を表示したりする。
データ同期管理アプリケーション520は、データ同期の開始や終了を行うためのユーザーインターフェースをデジタル複合機110aの管理者に提供するための管理アプリケーションである。データ同期管理アプリケーション520は、操作部220で操作された情報を処理受付部501へ送信したり、制御部502から指示された内容に基づき表示する表示内容を決定し操作部220へデータ同期管理画面を表示したりする。
デジタル複合機110bで、ユーザー操作やコピー/FAX等のアプリケーション処理実行によってデータに変更が発生した場合、クライアントアプリ500が変更内容をサーバーアプリ400に送信する。また、クライアントアプリ500は、サーバーアプリ400にデータ更新があるかどうかを定期的、又はユーザーがログインしたタイミング等に必要に応じて問い合わせる。更新されたデータがあれば、クライアントアプリ500は、差分データとして取得して、各種アプリケーション510に差分データを反映する。
例えばアドレス帳のFAX番号等のアドレスデータを、サーバーアプリ400が管理しているとする。アドレスデータをデジタル複合機110a、デジタル複合機110bで共に使用する場合、アドレスデータの同期処理は以下のように処理される。各種アプリケーション510に含まれるアドレス帳アプリケーション等は、デジタル複合機110aでアドレスデータAを変更した場合、変更したアドレスデータAをクライアントアプリ500に通知する。クライアントアプリ500は、サーバー120上のサーバーアプリ400に変更されたアドレスデータAを送信する。サーバーアプリ400は、受信したアドレスデータAをデータベース410に保存する。その後、デジタル複合機110bのクライアントアプリ500は、サーバー120上のサーバーアプリ400に対して更新の問い合わせを行う。サーバーアプリ400は、先ほどのアドレスデータAを更新データとしてクライアントアプリ500に送信する。クライアントアプリ500は、アドレスデータAを受信したら、アドレスデータを管理するアドレス帳アプリケーションに受信したアドレスデータAを渡して、デジタル複合機110b内のデータを更新する。
同期されるデータとしてアドレスデータを例に説明したが、他のデータでも同様に処理されることでデータの差分同期が実現される。
例えばアドレス帳のFAX番号等のアドレスデータを、サーバーアプリ400が管理しているとする。アドレスデータをデジタル複合機110a、デジタル複合機110bで共に使用する場合、アドレスデータの同期処理は以下のように処理される。各種アプリケーション510に含まれるアドレス帳アプリケーション等は、デジタル複合機110aでアドレスデータAを変更した場合、変更したアドレスデータAをクライアントアプリ500に通知する。クライアントアプリ500は、サーバー120上のサーバーアプリ400に変更されたアドレスデータAを送信する。サーバーアプリ400は、受信したアドレスデータAをデータベース410に保存する。その後、デジタル複合機110bのクライアントアプリ500は、サーバー120上のサーバーアプリ400に対して更新の問い合わせを行う。サーバーアプリ400は、先ほどのアドレスデータAを更新データとしてクライアントアプリ500に送信する。クライアントアプリ500は、アドレスデータAを受信したら、アドレスデータを管理するアドレス帳アプリケーションに受信したアドレスデータAを渡して、デジタル複合機110b内のデータを更新する。
同期されるデータとしてアドレスデータを例に説明したが、他のデータでも同様に処理されることでデータの差分同期が実現される。
次に図6、図7を用いてデジタル複合機110a、110b上で動作するクライアントアプリ500が、サーバー120上で動作するサーバーアプリ400との同期を開始するための処理について説明する。
図6は、デジタル複合機110aで制御部502により実行されるデータ同期開始処理の一例を示すフローチャートである。また図7は、デジタル複合機110aの操作部220、又はデジタル複合機110aに対してネットワーク100を介して接続されたPC130等の情報機器のWebブラウザ上へ表示されたデータ同期の管理画面の一例を示す図である。
S601において、制御部502は、処理受付部501より、デジタル複合機110aの管理者やユーザーの操作に基づくデータ同期管理画面701の表示要求を検知する。そして制御部502は、データ同期管理アプリケーション520へ、操作部220に対するデータ同期管理画面701の表示を依頼する。
S602において、制御部502は、データ同期管理画面701上の、開始702、又は停止703がユーザーにより選択され、実行ボタン704が選択されたことを示す同期開始イベントを、処理受付部501より受信する。
S603において、同期開始イベントを受信した制御部502は、ジョブ管理部503に対して同期開始処理に必要な同期開始ジョブの生成を依頼する。
S604において、制御部502は、通信処理部504に対して同期開始ジョブに従い、サーバー120上で動作するサーバーアプリ400への同期開始要求を送信する。
図6は、デジタル複合機110aで制御部502により実行されるデータ同期開始処理の一例を示すフローチャートである。また図7は、デジタル複合機110aの操作部220、又はデジタル複合機110aに対してネットワーク100を介して接続されたPC130等の情報機器のWebブラウザ上へ表示されたデータ同期の管理画面の一例を示す図である。
S601において、制御部502は、処理受付部501より、デジタル複合機110aの管理者やユーザーの操作に基づくデータ同期管理画面701の表示要求を検知する。そして制御部502は、データ同期管理アプリケーション520へ、操作部220に対するデータ同期管理画面701の表示を依頼する。
S602において、制御部502は、データ同期管理画面701上の、開始702、又は停止703がユーザーにより選択され、実行ボタン704が選択されたことを示す同期開始イベントを、処理受付部501より受信する。
S603において、同期開始イベントを受信した制御部502は、ジョブ管理部503に対して同期開始処理に必要な同期開始ジョブの生成を依頼する。
S604において、制御部502は、通信処理部504に対して同期開始ジョブに従い、サーバー120上で動作するサーバーアプリ400への同期開始要求を送信する。
同期開始要求にはデジタル複合機110aの機種のシリアル番号、ソフトウェアバージョン等の情報と共に機器の現在時刻が含まれる。このことにより、それ以降の同期処理における機器の特定と差分同期における順序保障とに必要となる機器情報をサーバー120に登録することができる。サーバーアプリ400への機器情報の登録が成功すると、制御部502は、次にデバイスの設定値や、ユーザー毎に管理する個人設定情報やグループ毎に管理されるアドレス帳等の設定情報等の同期対象のデータをサーバー120に送信する。ここではサーバー120のデータベース410に存在しないユーザーやグループのデータのみをサーバー120へ送信する必要がある。そのためデータの送信前に、制御部502は、サーバー120上のデータベース410へ登録済みのユーザーやグループのリスト情報の取得を実施し、サーバー120上に存在しないユーザーやグループのみのデータをサーバー120へ送信する。
次に必要に応じて、制御部502は、サーバー120から最新のデータの取得を実施する。例えば定期ポーリングにより同期しているデータに関しては、制御部502は、この時点で最新のデータをサーバー120から取得しておく。一方、デジタル複合機110a上のHDD205は一般的なパソコンに比べ容量が小さい。そのためデジタル複合機110a上で管理できるデータ数はサーバー120で管理できるデータ数よりも少ない場合がある。そのような場合には、制御部502は、利用時等、必要になったタイミングでサーバー120からデータを取得するとしてもよい。この場合、制御部502は、サーバー120へデータの送信が完了した後に一旦、デジタル複合機110aに存在するデータを消去し、ユーザーがログインした際等に、必要に応じてサーバー120からデータを取得する。
以上の処理によりデジタル複合機110a上で動作するクライアントアプリ500と、サーバー120上で動作するサーバーアプリ400とで差分同期を行うための準備が整ったこととなる。
次に必要に応じて、制御部502は、サーバー120から最新のデータの取得を実施する。例えば定期ポーリングにより同期しているデータに関しては、制御部502は、この時点で最新のデータをサーバー120から取得しておく。一方、デジタル複合機110a上のHDD205は一般的なパソコンに比べ容量が小さい。そのためデジタル複合機110a上で管理できるデータ数はサーバー120で管理できるデータ数よりも少ない場合がある。そのような場合には、制御部502は、利用時等、必要になったタイミングでサーバー120からデータを取得するとしてもよい。この場合、制御部502は、サーバー120へデータの送信が完了した後に一旦、デジタル複合機110aに存在するデータを消去し、ユーザーがログインした際等に、必要に応じてサーバー120からデータを取得する。
以上の処理によりデジタル複合機110a上で動作するクライアントアプリ500と、サーバー120上で動作するサーバーアプリ400とで差分同期を行うための準備が整ったこととなる。
<実施形態1>
次に実施形態1におけるデジタル複合機110a上で動作するクライアントアプリ500が、サーバー120上で動作するサーバーアプリ400との同期処理を停止する際の処理について説明する。
表Aは実施形態1において同期を停止する直前のサーバー120で管理されているユーザーリストと各ユーザーが個人設定情報として持つ個人アドレス帳とを表した表である。表Bは実施形態1において同期を停止するデジタル複合機110aで管理されているユーザーリストとユーザーが個人設定情報として持つ個人アドレス帳とを表した表である。ユーザーリストの表には登録されているユーザーのユーザーIDとユーザー名とが保存され、個人アドレス帳には各ユーザーIDが持つ個人アドレス帳の番号と、そのアドレス帳に登録されている宛先の氏名と宛先と最終更新時刻とが登録されている。
次に実施形態1におけるデジタル複合機110a上で動作するクライアントアプリ500が、サーバー120上で動作するサーバーアプリ400との同期処理を停止する際の処理について説明する。
表Aは実施形態1において同期を停止する直前のサーバー120で管理されているユーザーリストと各ユーザーが個人設定情報として持つ個人アドレス帳とを表した表である。表Bは実施形態1において同期を停止するデジタル複合機110aで管理されているユーザーリストとユーザーが個人設定情報として持つ個人アドレス帳とを表した表である。ユーザーリストの表には登録されているユーザーのユーザーIDとユーザー名とが保存され、個人アドレス帳には各ユーザーIDが持つ個人アドレス帳の番号と、そのアドレス帳に登録されている宛先の氏名と宛先と最終更新時刻とが登録されている。
ここで表Aと表Bとの個人アドレス帳を比較した場合には、表BのユーザーIDが02、03の宛先に差異があることが確認できる。また最終更新時刻からもサーバー120上で管理されている宛先よりも、デジタル複合機110aで管理されている値が古いことが分かる。例えばデジタル複合機110aにユーザーがログインしたタイミングでサーバー120から最新の個人アドレス帳を取得するとしている場合には、UserB、UserCのログインがあるまではデジタル複合機110aの個人アドレス帳は古いままとなる。そのような場合には表A、表Bで示されたように差異が発生した状態となってしまう。
本実施形態では表A、表Bの状態の不整合を解消した後に停止処理を実行する方法の一例について図8、図9、図10を用いて説明する。
図8は、図6で示した同期開始処理が完了した後の、同期状態においてクライアント同期アプリケーション500の制御部502により実行される処理の一例を示すフローチャートである。
S801において、制御部502は、ユーザーがデータ同期管理画面701から開始702又は停止703を選択し、実行ボタン704が選択されたことを示すイベントを処理受付部501より受信する。S801で受信するイベントとしては、例えば、デジタル複合機のシャットダウン、スリープに関する状態の変化を示すイベント、個人アドレス帳等の設定値が変更されたことを示す同期処理要求のイベント等がある。また、S801で受信するイベントとしては、サーバーとの同期処理状態を変更する同期停止に関するイベント等も含む。
S802において、制御部502は、S801で受信したイベントが同期状態変更イベントか否かを判定する。制御部502は、同期状態変更イベントであると判定した場合(S802においてYes)、S803へ進み、同期状態変更イベントでないと判定した場合(S802においてNo)、S804へ進む。同期状態変更イベントは、サーバー120とのデータの同期処理の停止指示の一例である。
S803の処理の詳細については図9を用いて後述する。制御部502は、S803の処理が終了するとS808へ進む。
S808において、制御部502は、S801で受信したイベントがデジタル複合機110aのシャットダウンイベントか否かを判定する。受信したイベントがデジタル複合機110aのシャットダウンイベントでない場合、制御部502は、イベント受信ループを続けると判定し(S808においてNo)、再びイベント受信ループの先頭に戻る。そして再び、制御部502は、処理受付部501よりイベントを受信するのを待つこととなる。受信したイベントがデジタル複合機110aのシャットダウンイベントである場合、制御部502は、イベント受信ループを終了すると判定し(S808においてYes)、図8に示すフローチャートの処理を終了する。
図8は、図6で示した同期開始処理が完了した後の、同期状態においてクライアント同期アプリケーション500の制御部502により実行される処理の一例を示すフローチャートである。
S801において、制御部502は、ユーザーがデータ同期管理画面701から開始702又は停止703を選択し、実行ボタン704が選択されたことを示すイベントを処理受付部501より受信する。S801で受信するイベントとしては、例えば、デジタル複合機のシャットダウン、スリープに関する状態の変化を示すイベント、個人アドレス帳等の設定値が変更されたことを示す同期処理要求のイベント等がある。また、S801で受信するイベントとしては、サーバーとの同期処理状態を変更する同期停止に関するイベント等も含む。
S802において、制御部502は、S801で受信したイベントが同期状態変更イベントか否かを判定する。制御部502は、同期状態変更イベントであると判定した場合(S802においてYes)、S803へ進み、同期状態変更イベントでないと判定した場合(S802においてNo)、S804へ進む。同期状態変更イベントは、サーバー120とのデータの同期処理の停止指示の一例である。
S803の処理の詳細については図9を用いて後述する。制御部502は、S803の処理が終了するとS808へ進む。
S808において、制御部502は、S801で受信したイベントがデジタル複合機110aのシャットダウンイベントか否かを判定する。受信したイベントがデジタル複合機110aのシャットダウンイベントでない場合、制御部502は、イベント受信ループを続けると判定し(S808においてNo)、再びイベント受信ループの先頭に戻る。そして再び、制御部502は、処理受付部501よりイベントを受信するのを待つこととなる。受信したイベントがデジタル複合機110aのシャットダウンイベントである場合、制御部502は、イベント受信ループを終了すると判定し(S808においてYes)、図8に示すフローチャートの処理を終了する。
S804において、制御部502は、受信したイベントが同期ジョブ要求か否かを判定する。制御部502は、同期ジョブ要求であると判定した場合(S804においてYes)、S805へ進み、同期ジョブ要求でないと判定した場合(S804においてNo)、S806へ進む。
S805において、制御部502は、同期ジョブの実行処理が実行する。より具体的に説明すると、制御部502は、通信処理部504を介しサーバー120で動作するサーバーアプリ400へ同期要求を送信する。
S806において、制御部502は、受信したイベントが装置状態変更要求か否かを判定する。制御部502は、例えば、受信したイベントがデジタル複合機110aのスリープの要求やシャットダウンの要求であれば装置状態変更要求と判定する。制御部502は、受信したイベントが装置状態変更要求であると判定した場合(S806においてYes)、S807に進み、受信したイベントが装置状態変更要求でないと判定した場合(S806においてNo)、S808に進む。
S807において、制御部502は、装置状態変更要求に応じて必要なクライアントアプリ500の処理を実行する。シャットダウンの要求であれば、制御部502は、イベント受信を終了するための内部状態を有効化し、S808へ進む。そして、S808で、制御部502は、イベント受信ループを抜けることとなる。
S805において、制御部502は、同期ジョブの実行処理が実行する。より具体的に説明すると、制御部502は、通信処理部504を介しサーバー120で動作するサーバーアプリ400へ同期要求を送信する。
S806において、制御部502は、受信したイベントが装置状態変更要求か否かを判定する。制御部502は、例えば、受信したイベントがデジタル複合機110aのスリープの要求やシャットダウンの要求であれば装置状態変更要求と判定する。制御部502は、受信したイベントが装置状態変更要求であると判定した場合(S806においてYes)、S807に進み、受信したイベントが装置状態変更要求でないと判定した場合(S806においてNo)、S808に進む。
S807において、制御部502は、装置状態変更要求に応じて必要なクライアントアプリ500の処理を実行する。シャットダウンの要求であれば、制御部502は、イベント受信を終了するための内部状態を有効化し、S808へ進む。そして、S808で、制御部502は、イベント受信ループを抜けることとなる。
次に図9を用いて図8のS803の同期状態変更処理の詳細について説明する。
S901において、制御部502は、クライアントアプリ500からサーバーアプリ400へのデータ同期処理が完了しているか否かを判定する。制御部502は、クライアントアプリ500からサーバーアプリ400へのデータ同期処理が完了していると判定した場合(S901においてYes)、S903に進む。また、制御部502は、クライアントアプリ500からサーバーアプリ400へのデータ同期処理が完了していないと判定した場合(S901においてNo)、S902に進む。例えば、デジタル複合機110a上で同期の停止を指示したユーザーとは異なるユーザーがデータを変更していたが、まだサーバーへの反映が完了していない場合、制御部502は、データ同期処理が完了していないと判定する。
S902において、制御部502は、同期処理の完了を待つ。同期が完了したら制御部502は、S903に進む。
S903において、制御部502は、データ取得処理を実行する。データ取得処理の詳細は、後述する図10を用いて説明する。制御部502は、データ取得処理が終了すると、S904に進む。
S904において、制御部502は、同期停止要求を通信処理部504へ依頼する。通信処理部504は、サーバーアプリ400に対して同期停止要求を送信する。同期停止要求を受信したサーバーアプリ400は、データベース410に登録されている、S604で登録されたデジタル複合機110aのデバイスを特定するための機器情報を削除しデジタル複合機110aとの同期処理を停止する。S904の処理は、データの反映後、サーバー120に同期処理を停止する要求を送信する処理の一例である。
S901において、制御部502は、クライアントアプリ500からサーバーアプリ400へのデータ同期処理が完了しているか否かを判定する。制御部502は、クライアントアプリ500からサーバーアプリ400へのデータ同期処理が完了していると判定した場合(S901においてYes)、S903に進む。また、制御部502は、クライアントアプリ500からサーバーアプリ400へのデータ同期処理が完了していないと判定した場合(S901においてNo)、S902に進む。例えば、デジタル複合機110a上で同期の停止を指示したユーザーとは異なるユーザーがデータを変更していたが、まだサーバーへの反映が完了していない場合、制御部502は、データ同期処理が完了していないと判定する。
S902において、制御部502は、同期処理の完了を待つ。同期が完了したら制御部502は、S903に進む。
S903において、制御部502は、データ取得処理を実行する。データ取得処理の詳細は、後述する図10を用いて説明する。制御部502は、データ取得処理が終了すると、S904に進む。
S904において、制御部502は、同期停止要求を通信処理部504へ依頼する。通信処理部504は、サーバーアプリ400に対して同期停止要求を送信する。同期停止要求を受信したサーバーアプリ400は、データベース410に登録されている、S604で登録されたデジタル複合機110aのデバイスを特定するための機器情報を削除しデジタル複合機110aとの同期処理を停止する。S904の処理は、データの反映後、サーバー120に同期処理を停止する要求を送信する処理の一例である。
次にS903のデータ取得処理の詳細について図10を用いて説明する。本実施形態では、データの一例としてユーザーデータを用いて説明しているがユーザーデータに限定するものではなく、他にはグループデータや装置の設定値、その他の設定値であってもよい。
図10のフローチャートでは、制御部502は、表Bのユーザーリストに基づき全ユーザー分のデータ取得処理をデータ取得処理ループにて実施する。制御部502は、全ユーザーのデータ取得処理が完了すると、データ取得処理ループを抜けデータ取得処理を終了する。ユーザーリストは、一覧の一例である。一覧は、登録されているユーザーのユーザーリストであってもよいし、登録されている一人以上のユーザーを含むグループのグループリストであってもよい。制御部502が、表Bのユーザーリストを取得する処理は、デジタル複合機110aに記憶されている一覧を取得する第1の取得処理の一例である。
S1001において、制御部502は、通信処理部504に対して、サーバー120上で動作するサーバーアプリ400に対する取得要求を送信する処理を依頼する。
S1002において、制御部502は、通信処理部504から取得した通信結果に基づいて、サーバー120との通信エラーが発生したか否かを判定する。制御部502は、通信エラーが発生したと判定した場合(S1002においてYes)、S1011に進み、通信エラーが発生していないと判定した場合(S1002においてNo)、S1003に進む。
S1003において、制御部502は、リトライ回数を初期化する。リトライ回数は後述するS1011でリトライ回数の上限に達したかを判定するために利用される値である。例えば、リトライ回数は、RAM203等に保持される。
S1004において、制御部502は、通信処理部504から取得した取得要求に対応するデータをアプリケーション510へ渡しデータを反映させる。S1004の処理は、同期対象のデータをサーバー120より取得し、取得したデータを反映させる反映処理の一例である。反映処理には、サーバー120より取得した同期対象のデータで、取得した同期対象のデータに対応するデジタル複合機110aの同期対象のデータを更新する更新処理が含まれる。また、反映処理には、取得した同期対象のデータに対応するデジタル複合機110aの同期対象のデータが存在しない場合、取得した同期対象のデータを登録する処理が含まれる。
図10のフローチャートでは、制御部502は、表Bのユーザーリストに基づき全ユーザー分のデータ取得処理をデータ取得処理ループにて実施する。制御部502は、全ユーザーのデータ取得処理が完了すると、データ取得処理ループを抜けデータ取得処理を終了する。ユーザーリストは、一覧の一例である。一覧は、登録されているユーザーのユーザーリストであってもよいし、登録されている一人以上のユーザーを含むグループのグループリストであってもよい。制御部502が、表Bのユーザーリストを取得する処理は、デジタル複合機110aに記憶されている一覧を取得する第1の取得処理の一例である。
S1001において、制御部502は、通信処理部504に対して、サーバー120上で動作するサーバーアプリ400に対する取得要求を送信する処理を依頼する。
S1002において、制御部502は、通信処理部504から取得した通信結果に基づいて、サーバー120との通信エラーが発生したか否かを判定する。制御部502は、通信エラーが発生したと判定した場合(S1002においてYes)、S1011に進み、通信エラーが発生していないと判定した場合(S1002においてNo)、S1003に進む。
S1003において、制御部502は、リトライ回数を初期化する。リトライ回数は後述するS1011でリトライ回数の上限に達したかを判定するために利用される値である。例えば、リトライ回数は、RAM203等に保持される。
S1004において、制御部502は、通信処理部504から取得した取得要求に対応するデータをアプリケーション510へ渡しデータを反映させる。S1004の処理は、同期対象のデータをサーバー120より取得し、取得したデータを反映させる反映処理の一例である。反映処理には、サーバー120より取得した同期対象のデータで、取得した同期対象のデータに対応するデジタル複合機110aの同期対象のデータを更新する更新処理が含まれる。また、反映処理には、取得した同期対象のデータに対応するデジタル複合機110aの同期対象のデータが存在しない場合、取得した同期対象のデータを登録する処理が含まれる。
S1005において、制御部502は、S1004にてデータを反映した際の反映結果をアプリケーション510より取得し、容量の制限を超えたか否かを判定する。これは、デジタル複合機110aは一般的なパソコンに比べ利用可能なHDD205の容量に制限があり、容量の制限を超えてしまう可能性があるからである。容量の制限を超えてしまった場合には表Bのユーザーリストに存在する全ユーザー分のデータの取得を行うことができないこととなる。制御部502は、容量の制限を超えたと判定すると(S1005においてYes)、S1006に進み、容量の制限を超えていないと判定すると(S1005においてNo)、データ取得処理のループを抜ける。
S1006において、制御部502は、図11(A)で示す容量制限エラー画面1100を操作部220又は、デジタル複合機110aへ接続されたPC等の情報処理装置のWebブラウザへ表示する。
制御部502は、容量制限エラー画面1100に、デジタル複合機110aに保存可能な容量を超えてしまったことや、容量の制限に達したため更新されなかったユーザー名を表示するようにしてもよい。容量の制限に達したため更新されなかったユーザー名は、容量を超えたためデータの反映が完了していないユーザーの情報の一例である。更に制御部502は、更新するユーザーを選択した後に再度データ更新を行うか、それともデータを更新せずに同期を停止するかを選択するためのラジオボタン1101、1102を選択可能に表示してもよい。S1006の処理は、データの反映の際にデジタル複合機110aに保存可能な容量を超えた場合、容量を超えたことを示す画面を表示する第2の表示処理の一例である。
S1007において、制御部502は、処理受付部501から、ユーザーが容量制限エラー画面1100にて選択したラジオボタン1101、1102の情報を取得する。制御部502は、取得した情報に基づき、「ユーザーを選択しデータを更新」が選択されたか否かを判定する。制御部502は、ラジオボタン1101が選択された場合、「ユーザーを選択しデータを更新」が選択されたと判定する。制御部502は、「ユーザーを選択しデータを更新」が選択されたと判定すると(S1007においてYes)、S1008に進む。また、制御部502は、「ユーザーを選択しデータを更新」が選択されていないと判定すると(S1007においてNo)、データ取得処理のループを抜ける。
S1006において、制御部502は、図11(A)で示す容量制限エラー画面1100を操作部220又は、デジタル複合機110aへ接続されたPC等の情報処理装置のWebブラウザへ表示する。
制御部502は、容量制限エラー画面1100に、デジタル複合機110aに保存可能な容量を超えてしまったことや、容量の制限に達したため更新されなかったユーザー名を表示するようにしてもよい。容量の制限に達したため更新されなかったユーザー名は、容量を超えたためデータの反映が完了していないユーザーの情報の一例である。更に制御部502は、更新するユーザーを選択した後に再度データ更新を行うか、それともデータを更新せずに同期を停止するかを選択するためのラジオボタン1101、1102を選択可能に表示してもよい。S1006の処理は、データの反映の際にデジタル複合機110aに保存可能な容量を超えた場合、容量を超えたことを示す画面を表示する第2の表示処理の一例である。
S1007において、制御部502は、処理受付部501から、ユーザーが容量制限エラー画面1100にて選択したラジオボタン1101、1102の情報を取得する。制御部502は、取得した情報に基づき、「ユーザーを選択しデータを更新」が選択されたか否かを判定する。制御部502は、ラジオボタン1101が選択された場合、「ユーザーを選択しデータを更新」が選択されたと判定する。制御部502は、「ユーザーを選択しデータを更新」が選択されたと判定すると(S1007においてYes)、S1008に進む。また、制御部502は、「ユーザーを選択しデータを更新」が選択されていないと判定すると(S1007においてNo)、データ取得処理のループを抜ける。
S1008において、制御部502は、図11(B)で示すユーザーデータ選択画面1110を操作部220又は、デジタル複合機110aへ接続されたPC等の情報処理装置のWebブラウザへ表示する。S1008の処理は、データを反映するユーザーを選択する第2の選択画面を表示する第3の表示処理の一例である。
図11(B)のユーザーデータ選択画面1110にはデジタル複合機110aに存在するユーザーのユーザーリストが表示される。また、ユーザーデータ選択画面1110には各ユーザーの左端にあるチェックボックス1111が含まれる。操作者は、チェックボックス1111をクリックし、更新するユーザーを選択する。ユーザーデータ選択画面1110には全ユーザーを選択する選択ボタン1112や選択を解除する解除ボタン1113、ユーザーを並び替える並び替えボタン1114を設けてもよい。また並び替えボタン1114が選択された際には、制御部502は、並び替えの方法としてユーザー名順、最終ログイン日時順等に並び替えるための表示制御を行うようにしてもよい。又は、制御部502は、現在、デジタル複合機110aに存在するユーザー毎のデータ容量を表示しユーザー選択の際の判断条件に利用できるようにしてもよい。
S1009において、制御部502は、処理受付部501から、更新ボタン1115がユーザーにより選択されたことを示す通知を待つ。制御部502は、通知を受信するとS1010へ進む。
S1010において、制御部502は、現在、デジタル複合機110aに存在し、ユーザーデータ選択画面1110にてチェックボックス1111がチェックされていないユーザーのユーザーデータに対して削除処理を実施する。制御部502は、削除処理の実行後、再度、データ取得処理ループの最初から処理をやり直す。
図11(B)のユーザーデータ選択画面1110にはデジタル複合機110aに存在するユーザーのユーザーリストが表示される。また、ユーザーデータ選択画面1110には各ユーザーの左端にあるチェックボックス1111が含まれる。操作者は、チェックボックス1111をクリックし、更新するユーザーを選択する。ユーザーデータ選択画面1110には全ユーザーを選択する選択ボタン1112や選択を解除する解除ボタン1113、ユーザーを並び替える並び替えボタン1114を設けてもよい。また並び替えボタン1114が選択された際には、制御部502は、並び替えの方法としてユーザー名順、最終ログイン日時順等に並び替えるための表示制御を行うようにしてもよい。又は、制御部502は、現在、デジタル複合機110aに存在するユーザー毎のデータ容量を表示しユーザー選択の際の判断条件に利用できるようにしてもよい。
S1009において、制御部502は、処理受付部501から、更新ボタン1115がユーザーにより選択されたことを示す通知を待つ。制御部502は、通知を受信するとS1010へ進む。
S1010において、制御部502は、現在、デジタル複合機110aに存在し、ユーザーデータ選択画面1110にてチェックボックス1111がチェックされていないユーザーのユーザーデータに対して削除処理を実施する。制御部502は、削除処理の実行後、再度、データ取得処理ループの最初から処理をやり直す。
次にS1002の処理において通信エラーが発生したと判定した場合の処理について説明する。
S1011において、制御部502は、リトライ回数があらかじめ設定されたリトライ上限回数以下であるか否かを判定する。制御部502は、リトライ回数があらかじめ設定されたリトライ回数上限以下であれば(S1011においてNo)、S1012へ進み、リトライ回数があらかじめ設定されたリトライ回数上限以下でなければ(S1011においてYes)、S1013へ進む。
S1012において、制御部502は、リトライ回数を増やした後に再度、S1001へ進む。そして、制御部502は、データ取得要求を送信する処理を実行する。
S1013において、制御部502は、図11(C)の通信エラー画面1120を操作部220又は、デジタル複合機110aへ接続されたPC130等の情報処理装置のWebブラウザへ表示する。そして、制御部502は、ユーザーが選択したラジオボタン1121、1122の情報を取得する。
S1014において、制御部502は、取得した情報に基づき、「リトライせずに同期を停止」が選択されたか否かを判定する。制御部502は、ラジオボタン1121が選択された場合、「リトライせずに同期を停止」が選択されたと判定する。制御部502は、「リトライせずに同期を停止」が選択されたと判定すると(S1014においてYes)、図10に示すデータ取得処理を終了する。制御部502は、「リトライせずに同期を停止」が選択されていないと判定すると(S1014においてNo)、S1015に進む。
S1015において、制御部502は、リトライ回数を初期化し、再びS1001へ戻る。そして、制御部502は、データ取得要求を送信する処理を実行する。
S1011において、制御部502は、リトライ回数があらかじめ設定されたリトライ上限回数以下であるか否かを判定する。制御部502は、リトライ回数があらかじめ設定されたリトライ回数上限以下であれば(S1011においてNo)、S1012へ進み、リトライ回数があらかじめ設定されたリトライ回数上限以下でなければ(S1011においてYes)、S1013へ進む。
S1012において、制御部502は、リトライ回数を増やした後に再度、S1001へ進む。そして、制御部502は、データ取得要求を送信する処理を実行する。
S1013において、制御部502は、図11(C)の通信エラー画面1120を操作部220又は、デジタル複合機110aへ接続されたPC130等の情報処理装置のWebブラウザへ表示する。そして、制御部502は、ユーザーが選択したラジオボタン1121、1122の情報を取得する。
S1014において、制御部502は、取得した情報に基づき、「リトライせずに同期を停止」が選択されたか否かを判定する。制御部502は、ラジオボタン1121が選択された場合、「リトライせずに同期を停止」が選択されたと判定する。制御部502は、「リトライせずに同期を停止」が選択されたと判定すると(S1014においてYes)、図10に示すデータ取得処理を終了する。制御部502は、「リトライせずに同期を停止」が選択されていないと判定すると(S1014においてNo)、S1015に進む。
S1015において、制御部502は、リトライ回数を初期化し、再びS1001へ戻る。そして、制御部502は、データ取得要求を送信する処理を実行する。
以上の処理によりデジタル複合機110aにおいてデータの同期処理を停止しようとした場合に表Bに示されるようにデジタル複合機110aが最新のデータに更新されていない場合であっても、同期処理の停止前に全データの更新が実行される。その結果、デジタル複合機の管理者はデータの同期処理を停止する場合に特に意識をせずに停止をするだけでサーバーのデータと同じ状態にクライアントのデータを更新し同期処理を停止することができる。よって、データを同期する環境で利用していたデジタル複合機を、その環境から切り離し利用したい場合等において今まで利用していた環境と同等の設定値を切り離した環境でも利用することができる。
<実施形態2>
実施形態1では、制御部502は、同期停止の指示を受け付けた際に、デジタル複合機110a上のユーザーリストを基に全ユーザーのユーザーデータの取得処理を実施し、その後、同期の停止処理を実行した。実施形態2では、制御部502は、同期停止の指示を受け付けた際に、同期の停止処理実行前にユーザーリストをサーバー120から取得し、そのユーザーリストに基づいて選択されたユーザーのユーザーデータの更新処理を実行する。
表Cは実施形態2において同期を停止する直前のサーバー120で管理されているユーザーリストとユーザーが個人設定情報として持つ個人アドレス帳とを表した表である。表Dは実施形態2において同期を停止するデジタル複合機110aで管理されているユーザーリストとユーザーが個人設定情報として持つ個人アドレス帳とを表した表である。
実施形態1では、制御部502は、同期停止の指示を受け付けた際に、デジタル複合機110a上のユーザーリストを基に全ユーザーのユーザーデータの取得処理を実施し、その後、同期の停止処理を実行した。実施形態2では、制御部502は、同期停止の指示を受け付けた際に、同期の停止処理実行前にユーザーリストをサーバー120から取得し、そのユーザーリストに基づいて選択されたユーザーのユーザーデータの更新処理を実行する。
表Cは実施形態2において同期を停止する直前のサーバー120で管理されているユーザーリストとユーザーが個人設定情報として持つ個人アドレス帳とを表した表である。表Dは実施形態2において同期を停止するデジタル複合機110aで管理されているユーザーリストとユーザーが個人設定情報として持つ個人アドレス帳とを表した表である。
ここで表Cと表Dとの個人アドレス帳を比較した場合には、表CにはユーザーIDが01、02、03、04、05のユーザーが存在しているが、表DにはユーザーIDが01、02、03しか存在していないことが確認できる。本実施形態においてユーザーがデジタル複合機110aや110bにログインしたことを処理受付部501が受信する。すると制御部502は、通信処理部504に対してユーザーデータの取得要求を実施する。そのためサーバー120に接続されているデジタル複合機が110a、110bの2台存在するが、ユーザーIDが04、05であるUserD、UserEはデジタル複合機110bにしかログイン処理を実施していない場合にこのような状況となってしまう。またUserB、UserCの宛先表のデータも表Cと表Dとでは差異があり、サーバー120に存在する最新のユーザーデータで更新されていないことが確認できる。
ここでデジタル複合機110aの管理者がデータ同期処理を停止する操作等を行った場合の処理について説明する。
実施形態2において実施形態1と同様、制御部502は、図8のフローチャートにおいて、処理受付部501からのイベントを待つ。そして、制御部502は、イベントに応じた処理を実行する。
図8のS803に相当する実施形態2における処理を示した図が図12である。図12の処理は、実施形態1の図9とほとんどが同様の処理となるため差分であるS1201、S1202、S1203の処理等を主に説明する。
S1201において、制御部502は、サーバー120からユーザーリストを取得する。S1201の処理は、サーバー120より一覧を取得する第2の取得処理の一例である。
S1201の処理は、ユーザーリストの取得処理であり、サーバー120から停止時に更新するユーザーのリスト(ユーザーリスト)を取得する処理である。S1201で取得するデータとして、本実施形態ではユーザーリストを例に説明しているがユーザーリストに限定するものではなく、例えばグループのリスト情報等、すべてのデータの同期を実施せずに、部分的なデータの更新を可能にするための情報であればよい。
S1201の処理の詳細は、後述する図13を用いて説明する。
S1202において、制御部502は、S1201でユーザーリストの取得が成功したか否かを判定する。制御部502は、ユーザーリストの取得が成功していると判定した場合(S1202においてYes)、S903へ進み、ユーザーリストの取得が成功していないと判定した場合(S1202においてNo)、S1203へ進む。本実施形態のS903では、後述する図14で選択されたユーザーのユーザーデータが取得される。本実施形態のS903の処理は、第1の選択画面を介して選択されたユーザーのデータをサーバー120より取得する処理の一例である。
S1203において、制御部502は、そのまま同期を停止するか、再度、ユーザーリストの取得を実施するかを判定する。このとき、制御部502は、図11(C)のように管理者が選択した値、又はあらかじめ定められた設定値に基づき判定を実施する。制御部502は、そのまま同期を停止すると判定した場合(S1203においてYes)、S904に進み、再度リトライを実施すると判定した場合(S1203においてNo)、S1201へ進む。そして、制御部502は、再度、ユーザーリストの取得処理を実施する。
実施形態2において実施形態1と同様、制御部502は、図8のフローチャートにおいて、処理受付部501からのイベントを待つ。そして、制御部502は、イベントに応じた処理を実行する。
図8のS803に相当する実施形態2における処理を示した図が図12である。図12の処理は、実施形態1の図9とほとんどが同様の処理となるため差分であるS1201、S1202、S1203の処理等を主に説明する。
S1201において、制御部502は、サーバー120からユーザーリストを取得する。S1201の処理は、サーバー120より一覧を取得する第2の取得処理の一例である。
S1201の処理は、ユーザーリストの取得処理であり、サーバー120から停止時に更新するユーザーのリスト(ユーザーリスト)を取得する処理である。S1201で取得するデータとして、本実施形態ではユーザーリストを例に説明しているがユーザーリストに限定するものではなく、例えばグループのリスト情報等、すべてのデータの同期を実施せずに、部分的なデータの更新を可能にするための情報であればよい。
S1201の処理の詳細は、後述する図13を用いて説明する。
S1202において、制御部502は、S1201でユーザーリストの取得が成功したか否かを判定する。制御部502は、ユーザーリストの取得が成功していると判定した場合(S1202においてYes)、S903へ進み、ユーザーリストの取得が成功していないと判定した場合(S1202においてNo)、S1203へ進む。本実施形態のS903では、後述する図14で選択されたユーザーのユーザーデータが取得される。本実施形態のS903の処理は、第1の選択画面を介して選択されたユーザーのデータをサーバー120より取得する処理の一例である。
S1203において、制御部502は、そのまま同期を停止するか、再度、ユーザーリストの取得を実施するかを判定する。このとき、制御部502は、図11(C)のように管理者が選択した値、又はあらかじめ定められた設定値に基づき判定を実施する。制御部502は、そのまま同期を停止すると判定した場合(S1203においてYes)、S904に進み、再度リトライを実施すると判定した場合(S1203においてNo)、S1201へ進む。そして、制御部502は、再度、ユーザーリストの取得処理を実施する。
次に図13を用いてS1201のユーザーリスト取得処理の詳細について説明する。
S1301において、制御部502は、通信処理部504に対して、サーバー120に対するユーザーリストの取得要求の送信を依頼する。サーバー120のサーバーアプリ400は、ユーザーリストの取得要求を受信するとデータベース410で管理しているユーザーリストを返却する。停止処理時にサーバー120へ送信するユーザーリストの取得要求は停止処理直前に実行する専用のリクエストとしてもよい。サーバー120の制御部402は、専用のリクエストを受信した場合にのみ返却するユーザーリストを別途定義しておき、このユーザーリストを返却するようにしてもよい。
図14は、ユーザーデータ選択画面1400の一例を示した図である。制御部502は、サーバー120より取得したユーザーリストを基に図14の画面を生成し、操作部220に表示する。又は、制御部502は、図14の画面をデジタル複合機110aへ接続されたPC等の情報処理装置のWebブラウザへ表示するようにしてもよい。この処理は、一覧に基づいてサーバー120よりデータを取得するユーザーを選択する第1の選択画面を表示する第1の表示処理の一例である。データを更新するユーザーのチェックボックス1401にチェックし、決定ボタン1402を選択することでデータを更新するユーザーを設定する。ユーザーデータ選択画面1400には全ユーザーを選択する選択ボタン1403や選択を解除する解除ボタン1404、ユーザーを並び替える並び替えボタン1405を設けてもよい。
S1301のユーザーリスト取得要求の処理が終了すると、制御部502は、S1302へ進む。
S1301において、制御部502は、通信処理部504に対して、サーバー120に対するユーザーリストの取得要求の送信を依頼する。サーバー120のサーバーアプリ400は、ユーザーリストの取得要求を受信するとデータベース410で管理しているユーザーリストを返却する。停止処理時にサーバー120へ送信するユーザーリストの取得要求は停止処理直前に実行する専用のリクエストとしてもよい。サーバー120の制御部402は、専用のリクエストを受信した場合にのみ返却するユーザーリストを別途定義しておき、このユーザーリストを返却するようにしてもよい。
図14は、ユーザーデータ選択画面1400の一例を示した図である。制御部502は、サーバー120より取得したユーザーリストを基に図14の画面を生成し、操作部220に表示する。又は、制御部502は、図14の画面をデジタル複合機110aへ接続されたPC等の情報処理装置のWebブラウザへ表示するようにしてもよい。この処理は、一覧に基づいてサーバー120よりデータを取得するユーザーを選択する第1の選択画面を表示する第1の表示処理の一例である。データを更新するユーザーのチェックボックス1401にチェックし、決定ボタン1402を選択することでデータを更新するユーザーを設定する。ユーザーデータ選択画面1400には全ユーザーを選択する選択ボタン1403や選択を解除する解除ボタン1404、ユーザーを並び替える並び替えボタン1405を設けてもよい。
S1301のユーザーリスト取得要求の処理が終了すると、制御部502は、S1302へ進む。
S1302において、制御部502は、通信処理部504から取得した通信結果に基づいて、通信エラーが発生したか否かを判定する。制御部502は、通信エラーが発生していないと判定した場合(S1302においてNo)、ユーザーリストが正しく取得できたので、図13に示すフローチャートの処理を終了する。一方、制御部502は、通信エラーが発生したと判定した場合(S1302においてYes)、S1303へ進む。
S1303において、制御部502は、最大リトライ回数に達したか否かを判定する。制御部502は、最大リトライ回数に達していないと判定した場合(S1303においてNo)、S1305へ進み、最大リトライ回数に達しと判定した場合(S1303においてYes)、S1304へ進む。
S1304において、制御部502は、リトライエラーを操作部220又は、デジタル複合機110aへ接続されたPC等の情報処理装置のWebブラウザへ表示する。そして、制御部502は、図13に示すフローチャートの処理を終了する。この場合、図12のS1202において、制御部502は、ユーザーリストの取得に失敗したと判定し、S1203の判定処理に進む。
S1305において、制御部502は、リトライ回数を増加する。そして、制御部502は、S1301へ進み、再度、ユーザーリスト取得要求を送信する処理を実行する。
S1303において、制御部502は、最大リトライ回数に達したか否かを判定する。制御部502は、最大リトライ回数に達していないと判定した場合(S1303においてNo)、S1305へ進み、最大リトライ回数に達しと判定した場合(S1303においてYes)、S1304へ進む。
S1304において、制御部502は、リトライエラーを操作部220又は、デジタル複合機110aへ接続されたPC等の情報処理装置のWebブラウザへ表示する。そして、制御部502は、図13に示すフローチャートの処理を終了する。この場合、図12のS1202において、制御部502は、ユーザーリストの取得に失敗したと判定し、S1203の判定処理に進む。
S1305において、制御部502は、リトライ回数を増加する。そして、制御部502は、S1301へ進み、再度、ユーザーリスト取得要求を送信する処理を実行する。
以上の処理によりデジタル複合機110aにおいてデータの同期処理を停止しようとした場合にサーバー120からユーザーリストを取得し、そのユーザーリストに基づき最新の状態にするユーザーを選択してから停止をすることができる。このようにすることで、データを同期する環境で利用していたデジタル複合機を、同期環境から切り離したい場合において、特定のユーザーを指定し、デジタル複合機110aを今まで利用していないユーザーに関しても最新のデータに更新することができる。
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給する。そして、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給する。そして、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
以上、本発明の実施形態の一例について詳述したが、本発明は係る特定の実施形態に限定されるものではない。
上述したデジタル複合機110、サーバー120は、共に1つのCPUがROM又はHDDに記憶されたプログラムに基づき処理を実行するものとして説明を行った。しかし、デジタル複合機110、サーバー120は、複数のCPU(又はプロセッサ)が複数のRAM、HDD等を共同させてプログラムに基づき処理を実行するようにしてもよい。また、デジタル複合機110、サーバー120のソフトウェア構成の一部又は全てをハードウェアとしてデジタル複合機110、サーバー120に実装するようにしてもよい。
また、制御部502は、実施形態2に示したようにサーバー120に対してユーザーリストの取得を要求しユーザーリストを取得できない場合、実施形態1の処理を実行するようにしてもよい。
上述したデジタル複合機110、サーバー120は、共に1つのCPUがROM又はHDDに記憶されたプログラムに基づき処理を実行するものとして説明を行った。しかし、デジタル複合機110、サーバー120は、複数のCPU(又はプロセッサ)が複数のRAM、HDD等を共同させてプログラムに基づき処理を実行するようにしてもよい。また、デジタル複合機110、サーバー120のソフトウェア構成の一部又は全てをハードウェアとしてデジタル複合機110、サーバー120に実装するようにしてもよい。
また、制御部502は、実施形態2に示したようにサーバー120に対してユーザーリストの取得を要求しユーザーリストを取得できない場合、実施形態1の処理を実行するようにしてもよい。
以上、上述した実施形態によれば、同期停止後、同期していた最新のデータを利用することができる。
110a MFP
120 サーバーPC
202 CPU
205 HDD
220 操作部
120 サーバーPC
202 CPU
205 HDD
220 操作部
Claims (14)
- サーバー装置とのデータの同期処理の停止指示が受け付けられた場合、同期対象のデータを前記サーバー装置より取得し、取得したデータを反映させる反映手段と、
前記反映手段による前記データの反映後、前記サーバー装置に前記同期処理を停止する要求を送信する送信手段と、
を有するクライアント装置。 - 前記サーバー装置とのデータの同期処理の停止指示を受け付ける受付手段を更に有し、
前記受付手段により前記停止指示が受け付けられた場合、前記反映手段は、前記同期対象のデータを前記サーバー装置より取得し、取得したデータを反映させる請求項1記載のクライアント装置。 - 前記反映手段は、登録されているユーザーを示す一覧に基づいて、前記一覧に含まれるユーザーのデータを前記同期対象のデータとして前記サーバー装置より取得し、取得したデータを反映させる請求項1又は2記載のクライアント装置。
- 前記クライアント装置に記憶されている前記一覧を取得する第1の取得手段を更に有し、
前記反映手段は、前記第1の取得手段により取得された前記一覧に基づいて、前記一覧に含まれるユーザーのデータを前記同期対象のデータとして前記サーバー装置より取得する請求項3記載のクライアント装置。 - 前記サーバー装置より前記一覧を取得する第2の取得手段を更に有し、
前記反映手段は、前記第2の取得手段により取得された前記一覧に基づいて、前記一覧に含まれるユーザーのデータを前記同期対象のデータとして前記サーバー装置より取得する請求項3記載のクライアント装置。 - 前記第2の取得手段により取得された前記一覧に基づいて前記サーバー装置よりデータを取得するユーザーを選択する第1の選択画面を表示する第1の表示手段を更に有し、
前記反映手段は、前記第1の選択画面を介して選択されたユーザーのデータを前記同期対象のデータとして前記サーバー装置より取得する請求項5記載のクライアント装置。 - 前記反映手段によるデータの反映の際に前記クライアント装置に保存可能な容量を超えた場合、容量を超えたことを示す画面を表示する第2の表示手段を更に有する請求項3乃至6何れか1項記載のクライアント装置。
- 前記第2の表示手段は、前記容量を超えたためデータの反映が完了していないユーザーの情報を前記画面に表示する請求項7記載のクライアント装置。
- 前記反映手段によるデータの反映の際に前記クライアント装置に保存可能な容量を超えた場合、データを反映するユーザーを選択する第2の選択画面を表示する第3の表示手段を更に有する請求項3乃至6何れか1項記載のクライアント装置。
- 前記一覧は、登録されているユーザーのユーザーリストである請求項3乃至9何れか1項記載のクライアント装置。
- 前記一覧は、登録されている一人以上のユーザーを含むグループのグループリストである請求項3乃至9何れか1項記載のクライアント装置。
- 前記クライアント装置は、画像形成装置である請求項1乃至11何れか1項記載のクライアント装置。
- クライアント装置が実行する情報処理方法であって、
サーバー装置とのデータの同期処理の停止指示が受け付けられた場合、同期対象のデータを前記サーバー装置より取得し、取得したデータを反映させる反映工程と、
前記反映工程によるデータの反映後、前記サーバー装置に前記同期処理を停止する要求を送信する送信工程と、
を含む情報処理方法。 - コンピュータを、請求項1乃至12何れか1項記載のクライアント装置の各手段として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017095836A JP2018195882A (ja) | 2017-05-12 | 2017-05-12 | クライアント装置、情報処理方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017095836A JP2018195882A (ja) | 2017-05-12 | 2017-05-12 | クライアント装置、情報処理方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018195882A true JP2018195882A (ja) | 2018-12-06 |
Family
ID=64570855
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017095836A Pending JP2018195882A (ja) | 2017-05-12 | 2017-05-12 | クライアント装置、情報処理方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2018195882A (ja) |
-
2017
- 2017-05-12 JP JP2017095836A patent/JP2018195882A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6355330B2 (ja) | ネットワークデバイス、ネットワークデバイスの制御方法およびそのプログラム | |
JP5025342B2 (ja) | 画像処理装置、画像処理システム、画像処理装置の制御方法及びプログラム | |
JP6376935B2 (ja) | ネットワークデバイス、ネットワークデバイスの制御方法およびそのプログラム | |
JP6289095B2 (ja) | 管理システム、管理システムにおける制御方法およびそのプログラム | |
JP6576071B2 (ja) | 情報処理装置、サーバクライアントシステム、情報処理装置の制御方法及びプログラム | |
US10594879B2 (en) | Information processing apparatus, information processing system, method for controlling information processing system, and storage medium | |
US20140333960A1 (en) | Image forming apparatus capable of obtaining print data from external apparatus, and control method and storage medium therefor | |
JP7218141B2 (ja) | 通信システム、および画像形成装置 | |
JP6460760B2 (ja) | 情報処理システム、情報処理装置、情報処理装置の制御方法及びプログラム | |
JP2010061562A (ja) | 機器動作履歴記録システム | |
US20180351807A1 (en) | Information processing apparatus, control method for information processing apparatus, and recording medium | |
US20110299130A1 (en) | Cloud computing system, document processing method, and storage medium | |
JP2016081189A (ja) | 情報処理装置とデータ同期方法、データ同期システムおよびプログラム | |
JP7179487B2 (ja) | サーバ装置、制御方法及びプログラム | |
JP6261265B2 (ja) | 情報処理装置、情報処理方法及びコンピュータにより読み取り可能なプログラム | |
JP2014127783A (ja) | 情報処理装置の管理システム、情報処理装置、情報処理装置の制御方法、及びプログラム | |
JP6045387B2 (ja) | 画像形成装置及びその制御方法、並びにプログラム | |
JP6639363B2 (ja) | サーバ装置、情報処理方法及びプログラム | |
JP2018195882A (ja) | クライアント装置、情報処理方法及びプログラム | |
JP2016126690A (ja) | 管理装置、管理装置の制御方法、及びプログラム | |
JP7552204B2 (ja) | 印刷システムおよびプリンタ | |
JP6605077B2 (ja) | 情報処理装置、情報処理装置の制御方法およびそのプログラム | |
JP2020052777A (ja) | ネットワークデバイス、方法、及びプログラム | |
JP2018120269A (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP2019185257A (ja) | サーバー装置、情報処理方法及びプログラム |