(57)【特許請求の範囲】
【請求項１】
クライアントアプリケーションを備える情報処理装置であって、
前記クライアントアプリケーションがサーバアプリケーションと通信するための通信コネクションを確立する通信制御手段と、
前記サーバアプリケーションが前記情報処理装置に備えられたものであるか否かを判定する判定手段と、
を備え、
前記通信制御手段は、前記サーバアプリケーションが前記情報処理装置に備えられたものであると前記判定手段が判定したことに応じて、前記通信制御手段が確立した前記通信コネクションを前記サーバアプリケーションに解放させるための情報を前記サーバアプリケーションに通知する制御を行うことを特徴とする情報処理装置。
【請求項２】
クライアントアプリケーションを備える情報処理装置であって、
前記クライアントアプリケーションがサーバアプリケーションと通信するための通信コネクションを確立する通信制御手段と、
前記サーバアプリケーションが前記情報処理装置に備えられたものであるか否かを判定する判定手段と、
を備え、
前記通信制御手段は、前記サーバアプリケーションが前記情報処理装置に備えられたものでないと前記判定手段が判定したことに応じて、前記通信制御手段が確立した前記通信コネクションを前記サーバアプリケーションに維持させるための情報を前記サーバアプリケーションに通知する制御を行うことを特徴とする情報処理装置。
【請求項３】
クライアントアプリケーションを備える情報処理装置であって、
前記クライアントアプリケーションがサーバアプリケーションと通信するための通信コネクションを確立する通信制御手段と、
前記サーバアプリケーションが前記情報処理装置に備えられたものであるか否かを判定する判定手段と、
前記判定手段の判定結果に応じて、前記通信制御手段が確立した前記通信コネクションを前記サーバアプリケーションに維持させるための情報、又は、前記通信制御手段が確立した前記通信コネクションを前記サーバアプリケーションに解放させるための情報を、前記サーバアプリケーションに通知する通知手段と、
を有することを特徴とする情報処理装置。
【請求項４】
前記通知手段は、前記サーバアプリケーションが前記情報処理装置に備えられたものでないと前記判定手段が判定したことに応じて、前記通信制御手段が確立した前記通信コネクションを前記サーバアプリケーションに維持させるための情報を前記サーバアプリケーションに通知することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記通知手段は、前記サーバアプリケーションが前記情報処理装置に備えられたものであると前記判定手段が判定したことに応じて、前記通信制御手段が確立した前記通信コネクションを前記サーバアプリケーションに解放させるための情報を前記サーバアプリケーションに通知することを特徴とする請求項３又は４に記載の情報処理装置。
【請求項６】
前記情報処理装置の設定情報を管理する管理手段を有し、
前記通信制御手段は、前記管理手段が管理する前記設定情報の更新内容を示す第１の更新情報を前記サーバアプリケーションに通知する通知処理、又は、前記サーバアプリケーションが管理する設定情報の更新内容を示す第２の更新情報を前記サーバアプリケーションから取得する取得処理の少なくとも何れかの処理を実行するために、前記通信コネクションを確立することを特徴とする請求項３から５の何れか１項に記載の情報処理装置。
【請求項７】
前記通知手段は、前記通信コネクションを前記サーバアプリケーションに維持させるための情報を、前記第２の更新情報の取得要求、または、前記第１の更新情報と共に前記サーバアプリケーションに通知することを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記通知手段は、前記通信コネクションを前記サーバアプリケーションに解放させるための情報を、前記第２の更新情報の取得要求、または、前記第１の更新情報と共に前記サーバアプリケーションに通知することを特徴とする請求項６に記載の情報処理装置。
【請求項９】
クライアントアプリケーションを備える情報処理装置の制御方法であって、
前記クライアントアプリケーションがサーバアプリケーションと通信するための通信コネクションを確立する通信制御ステップと、
前記サーバアプリケーションが前記情報処理装置に備えられたものであるか否かを判定する判定ステップと、
を備え、
前記通信制御ステップでは、前記サーバアプリケーションが前記情報処理装置に備えられたものであると前記判定ステップで判定されたことに応じて、前記確立された前記通信コネクションを前記サーバアプリケーションに解放させるための情報を前記サーバアプリケーションに通知する制御を行うことを特徴とする情報処理装置の制御方法。
【請求項１０】
クライアントアプリケーションを備える情報処理装置の制御方法であって、
前記クライアントアプリケーションがサーバアプリケーションと通信するための通信コネクションを確立する通信制御ステップと、
前記サーバアプリケーションが前記情報処理装置に備えられたものであるか否かを判定する判定ステップと、
を備え、
前記通信制御ステップでは、前記サーバアプリケーションが前記情報処理装置に備えられたものでないと前記判定ステップで判定されたことに応じて、前記確立された前記通信コネクションを前記サーバアプリケーションに維持させるための情報を前記サーバアプリケーションに通知する制御を行うことを特徴とする情報処理装置の制御方法。
【請求項１１】
クライアントアプリケーションを備える情報処理装置の制御方法であって、
前記クライアントアプリケーションがサーバアプリケーションと通信するための通信コネクションを確立する通信制御ステップと、
前記サーバアプリケーションが前記情報処理装置に備えられたものであるか否かを判定する判定ステップと、
前記判定ステップにおける判定の結果に応じて、前記通信制御ステップにおいて確立した前記通信コネクションを前記サーバアプリケーションに維持させるための情報、又は、前記通信制御ステップにおいて確立した前記通信コネクションを前記サーバアプリケーションに解放させるための情報を、前記サーバアプリケーションに通知する通知ステップと
を有することを特徴とする情報処理装置の制御方法。
【請求項１２】
請求項１乃至８のいずれか１項に記載の情報処理装置の各手段としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
サーバとクライアントとの間で特定の情報を共有するための技術に関する。
【背景技術】
【０００２】
従来、サーバとクライアントとの間で特定の情報を共有するための同期システムが知られている。特許文献１には、メール、カレンダ、又は、連絡先等の情報についての同期サービスを提供するサーバに、定期的にＫｅｅｐ−Ａｌｉｖｅパケットを送信してサーバとの同期通信を行うクライアント（携帯電話）が開示されている。特許文献１に記載のクライアントは、クライアントのディスプレイの表示状態が表示から非表示に遷移すると、サーバへの定期的なＫｅｅｐ−Ａｌｉｖｅパケットの送信を停止する。また特許文献１に記載のクライアントは、操作画面の表示状態が非表示から表示に遷移すると、サーバへのＫｅｅｐ−Ａｌｉｖｅパケットの送信を再開する。
【０００３】
また特許文献２には、サーバとクライアントとの間で画像形成装置の設定データを共有するための同期システムが開示されている。特許文献２では、１台の画像形成装置がサーバとしての機能を実現するためのＷｅｂサーバ制御部と、クライアントとしての機能を実現するためのＷｅｂクライアント制御部とを併有する構成が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】ＷＯ２０１３／０２４５５３
【特許文献２】特開２０１０−２８３６１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１のように、定期的に所定のパケットを送信してサーバとクライアントのとの間の通信コネクションを維持するシステムにおいて、特許文献２のように１台の装置にサーバ機能とクライアント機能を併有させると、以下の課題が生じる。すなわち、サーバ機能とクライアント機能とを併有する装置は、サーバとクライアントとの間の通信コネクションを切ることができなくなるという課題が生じる。
【０００６】
例えば、サーバはクライアントから前回Ｋｅｅｐ−Ａｌｉｖｅパケットを受信してから所定時間が経過するまでにＫｅｅｐ―Ａｌｉｖｅパケットを受信しなければ、クライアントとのコネクションを切る。サーバは管理対象の全てのクライアントとのコネクションが切られていることを条件として、省電力状態に移行することができる。
【０００７】
また、クライアントは装置が省電力状態に移行するための条件を満たした場合、サーバへのＫｅｅｐ−Ａｌｉｖｅパケットの送信を中止し、サーバとのコネクションを切る。
【０００８】
ここで、サーバ機能を実現するサーバ部とクライアント機能を実現するクライアント部とを一体の装置として構成すると、以下のように動作する。
【０００９】
すなわち、クライアント部は自装置が省電力状態に移行可能となるまでスタンバイ状態を維持し、スタンバイ状態である間は、自装置のサーバ部に定期的にＫｅｅｐ−Ａｌｉｖｅパケットを送信し続ける。
【００１０】
一方、サーバ部はクライアント部からＫｅｅｐ−Ａｌｉｖｅパケットが定期的に送信されてくるので、クライアント部とのコネクションを切ることができず、自装置を省電力状態に移行させることができない。自装置が省電力状態に移行することができないため、クライアント部はＫｅｅｐ−Ａｌｉｖｅパケットを自装置のサーバ部に送信し続ける。
【００１１】
このようにして、サーバ部とクライアント部とはコネクションを維持し続け、省電力状態に移行することができなくなる。
【課題を解決するための手段】
【００１２】
本発明の情報処理装置は、クライアントアプリケーションを備える情報処理装置であって、前記クライアントアプリケーションがサーバアプリケーションと通信するための通信コネクションを確立する通信制御手段と、前記サーバアプリケーションが前記情報処理装置に備えられたものであるか否かを判定する判定手段と、を備え、前記通信制御手段は、前記サーバアプリケーションが前記情報処理装置に備えられたものであると前記判定手段が判定したことに応じて、前記通信制御手段が確立した前記通信コネクションを前記サーバアプリケーションに解放させるための情報を前記サーバアプリケーションに通知する制御を行うことを特徴とする。
また本発明の情報処理装置は、クライアントアプリケーションを備える情報処理装置であって、前記クライアントアプリケーションがサーバアプリケーションと通信するための通信コネクションを確立する通信制御手段と、前記サーバアプリケーションが前記情報処理装置に備えられたものであるか否かを判定する判定手段と、を備え、前記通信制御手段は、前記サーバアプリケーションが前記情報処理装置に備えられたものでないと前記判定手段が判定したことに応じて、前記通信制御手段が確立した前記通信コネクションを前記サーバアプリケーションに維持させるための情報を前記サーバアプリケーションに通知する制御を行うことを特徴とする。
【００１３】
あるいは本発明の情報処理装置は、クライアントアプリケーションを備える情報処理装置であって、前記クライアントアプリケーションがサーバアプリケーションと通信するための通信コネクションを確立する通信制御手段と、前記サーバアプリケーションが前記情報処理装置に備えられたものであるか否かを判定する判定手段と、前記判定手段の判定結果に応じて、前記通信制御手段が確立した前記通信コネクションを前記サーバアプリケーションに維持させるための情報、又は、前記通信制御手段が確立した前記通信コネクションを前記サーバアプリケーションに解放させるための情報を、前記サーバアプリケーションに通知する通知手段と、を有することを特徴とする。
【発明の効果】
【００１４】
このような構成によれば、情報処理装置がサーバ機能とクライアント機能とを併有する場合でも、サーバとクライアントとの間の通信コネクションを解放することができる。また、情報処理装置がサーバ機能とクライアント機能とを併有する場合でも、通信コネクションを解放して省電力状態に移行することができる。
【図面の簡単な説明】
【００１５】
【図１】実施形態１における情報処理システムの構成例を示す図。
【図２】複合機１２０の構成例を示す図。
【図３】クライアントアプリケーション３００のモジュール構成を示す図。
【図４】サーバアプリケーション４００のモジュール構成を示す図。
【図５】実施形態１におけるクライアントアプリケーション３００による処理を示すフロー図。
【図６】実施形態１におけるサーバアプリケーション４００による処理を示すフロー図。
【図７】実施形態２におけるクライアントアプリケーション３００による処理を示すフロー図。
【図８】実施形態３におけるクライアントアプリケーション３００による処理を示すフロー図。
【図９】実施形態３におけるサーバアプリケーション４００による処理を示すフロー図。
【図１０】実施形態４におけるサーバアプリケーション４００による処理を示すフロー図。
【図１１】実施形態５におけるクライアントアプリケーション３００のモジュール構成を示す図。
【図１２】実施形態５におけるクライアントアプリケーション３００による処理を示すフロー図。
【発明を実施するための形態】
【００１６】
以下、本発明を実施するための実施形態について図面を用いて説明する。
【００１７】
＜実施形態１＞
図１は、実施形態１における設定値の同期システムを示す構成図である。図１の例では、ネットワーク１００に、情報処理装置としての複合機１２０ａ、１２０ｂ、及び１２０ｃが接続される。複合機１２０ａの内部にはサーバ１１０が存在する。以下、複合機１２０ａ、１２０ｂ、及び、１２０ｃを総称して、複合機１２０と表記する。
【００１８】
本実施形態において同期とは、サーバ１１０が管理するマスタデータ４０１、及び、複合機１２０が管理する設定データ３１１の一方が更新された場合に、他方にも当該更新内容を反映させて共通の値とすることをいう。本実施形態では、サーバ１１０と複合機１２０との間で双方向に設定情報の送信を行う例について説明するが、本発明は、何れか一方向に設定情報を送信するシステムにも適用可能である。
【００１９】
サーバ１１０は、マスタデータ４０１を管理することにより、複合機１２０の設定値を管理する。マスタデータ４０１はサーバ１１０が管理する設定情報である。マスタデータ４０１が更新された場合は、複合機１２０にネットワーク１００を介して更新情報を通知する。この更新情報は、マスタデータ４０１の更新内容を示す情報である。また、複合機１２０から設定値の更新情報を受信した際には、サーバ１１０は受信した更新情報を用いてマスタデータ４０１の値を更新する。なお、本実施形態においてサーバ１１０は一般的なＨＴＴＰサーバの機能を満たし、ＨＴＴＰ１．１におけるＫｅｅｐ−Ａｌｉｖｅ機能を使用可能とする。
【００２０】
複合機１２０は複数種類の機能、例えばコピーやＦＡＸ等を実現する画像形成装置であり、内部にそれらの機能の実行時に利用する設定データ３１１を記憶する。複合機１２０に替えて、コピー機能のみ、ＦＡＸ機能のみ、又は、スキャナ機能のみ等のように、単独の機能を有する画像形成装置であってもよい。
【００２１】
クラアイントとしての複合機１２０は、自身が管理する設定情報である設定データ３１１に更新があった場合は、サーバ１１０にネットワーク１００を介して更新情報（第１の更新情報）を通知する。この更新情報は、設定データ３１１の更新内容を示す情報である。またクラアイントとしての複合機１２０は、サーバ１１０からマスタデータ４０１の更新情報（第２の更新情報）を取得した際には、取得した更新情報を用いて、自身が管理する設定データ３１１の内容を更新する。
【００２２】
上述の構成により、サーバ１１０と複合機１２０は設定データの同期処理を行う。複合機１２０は、第１の更新情報の通知処理、又は、第２の更新情報の取得処理を行うために、サーバ１１０とのコネクションを確立するための処理を行う。そして、確立されたコネクションを用いて、第１の更新情報をサーバ１１０に通知したり、第２の更新情報をサーバから取得したりする。
【００２３】
図２は本実施形態における複合機１２０の構成を表すブロック図である。複合機１２０は、コントローラユニット２００、操作部２２０、スキャナ２３０、プリンタ２４０を含んでいる。コントローラユニット２００には、操作部２２０が接続される。またコントローラユニット２００には、画像入力デバイスであるスキャナ２３０や画像出力デバイスであるプリンタ２４０が接続される。
【００２４】
コントローラユニット２００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０２を有する。ＣＰＵ２０２は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０６に格納されているブートプログラムを実行してＯＳ（Ｏｐｅｒａｔｉｏｎ  Ｓｙｓｔｅｍ）を起動する。ＣＰＵ２０２は、このＯＳ上で、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）２０５に格納されているアプリケーションプログラムを実行し、これによって各種処理を実行する。このＣＰＵ２０２の作業領域としてはＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３が用いられる。また、ＲＡＭ２０３は、作業領域を提供するとともに、画像データを一時記憶するための画像メモリ領域を提供する。ＨＤＤ２０５は、上記アプリケーションプログラムや画像データ、各種設定値を格納する。
【００２５】
ＣＰＵ２０２には、システムバス２１０を介して、ＲＯＭ２０６およびＲＡＭ２０３とともに、操作部Ｉ／Ｆ２０１、デバイスＩ／Ｆ２０４、ＮｅｔｗｏｒｋＩ／Ｆ２０７、及び、画像処理部２０８が接続される。操作部Ｉ／Ｆ２０１は、タッチパネルを有する操作部２２０とのインタフェースである。操作部２２０に表示すべき画像データを操作部２２０に対して出力する。また、操作部Ｉ／Ｆ２０１は、操作部２２０によってユーザにより入力された情報をＣＰＵ２０２に送出する。デバイスＩ／Ｆ２０４には、スキャナ２３０およびプリンタ２４０が接続される。ＮｅｔｗｏｒｋＩ／Ｆ２０７は、ネットワーク１００に接続され、ネットワーク１００を介してネットワーク１００上の各装置との間で情報の入出力を行う。画像処理部２０８は、スキャナ２３０からの入力画像処理やプリンタ２４０への出力画像処理、画像回転、画像圧縮、解像度変換、色空間変換、階調変換などの処理を行う。
【００２６】
ＲＯＭ２０６又はＨＤＤ２０５には、後述のクライアントアプリケーション３００及びサーバアプリケーション４００が記憶される。複合機１２０のＣＰＵ３０２はクライアントアプリケーション３００を実行することにより、サーバ１１０のクライアントとしての機能を実現する。また複合機１２０のＣＰＵ３０２は、サーバアプリケーション４００を有効化して実行することにより、サーバ１１０としても機能することができる。サーバアプリケーション４００を有効化するか否かは、ユーザが切り替えることができるものとする。
【００２７】
本実施形態では、複合機１２０ａにおいてはサーバアプリケーション４００が有効化されているものとする。また複合機１２０ａはクライアントアプリケーション３００も実行する。複合機１２０ａはサーバ１１０としても動作し、かつ、サーバ１１０に対するクライアントとしても動作する。
【００２８】
複合機１２０ｂ及び複合機１２０ｃではクライアントアプリケーション３００のみが実行され、サーバアプリケーション４００は無効化されているものとする。複合機１２０ｂ及び複合機１２０ｃは、サーバ１１０に対するクライアントとして動作する。
【００２９】
次に、クライアントとしての複合機１２０の機能を実現するためのクライアントアプリケーション３００の構成について図３を用いて説明する。クライアントアプリケーション３００は、ＲＯＭ２０６又はＨＤＤ２０５等の記憶部に保持され、ＣＰＵ２０２によって読みだされて実行される。
【００３０】
図３では、複合機１２０において実行されるクライアントアプリケーション３００の構成について説明する。
【００３１】
設定データ管理部３１０は、複合機１２０の設定データ３１１を管理する。設定データ３１１は、クライアントとしての複合機１２０が動作するために用いる各種の設定値を含む。設定データは例えば、アドレス帳情報や、ユーザごとにカスタマイズされた設定値等を含む。複合機１２０のユーザごとにカスタマイズされた設定値とは例えば、操作画面のボタン配置や表示言語等の設定値を含む。設定データ３１１は、ＨＤＤ２０５、ＲＡＭ２０３、又は、ＲＯＭ２０６などの記憶部に記憶される。
【００３２】
設定データ管理部３１０は、通信制御部３２０がサーバ１１０からマスタデータ４０１の更新情報を取得した場合に、取得した更新情報を設定データ３１１に反映させる制御を行う。また設定データ管理部３１０は、設定データ３１１が複合機１２０において更新された場合、設定データ３１１の更新内容を示す更新情報をサーバ１１０のマスタデータ４０１に反映させるための処理を通信制御部３２０に実行させる。
【００３３】
通信制御部３２０は、ＮｅｔｗｏｒｋＩ／Ｆ２０７を制御して他装置との通信を行う。通信制御部３２０は制御部３２１及び通信処理部３２２を含む。制御部３２１はサーバ１１０との設定値の同期処理についての制御を行う。通信処理部３２２は、ＮｅｔｗｏｒｋＩ／Ｆ２０７を介した通信処理の制御を行う。通信処理部３２２は、後述の通信処理部４２２と協働して、サーバ１１０と情報処理装置との間の通信コネクション（以下、コネクション）を確立するための処理を実行する。例えば、通信制御部３２０は、ＴＣＰ（Ｔｒａｎｓｉｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）の手順に則ってコネクションを確立したり、解放したりすることができるが、これに限らない。以下、コネクションを確立することを、コネクションを接続すると表現する事がある。コネクションを解放することを、コネクションを切断すると表現することがある。また、本実施形態においてコネクションとは、複合機１２０とサーバ１１０との間で確立される仮想的な通信路である。一旦所定の通信手順を実行して複合機１２０とサーバ１１０との間でコネクション確立することにより、以降の通信では両者の間では簡易な手順でデータの送受信ができるようにすることができる。
【００３４】
通信制御部３２０は、サーバ１１０との設定値の同期通信を制御する。また制御部３２１は、通信処理部３２２がサーバより取得したマスタデータ４０１の更新情報を受信する。制御部３２１は、受信したマスタデータ４０１の更新情報を設定データ３１１に反映させるように設定データ管理部３１０に依頼する。また通信制御部３２０は、サーバ１１０が自装置内に配置されているか否かを判定する処理を行う。すなわち自装置である複合機１２０とサーバ１１０とが一体として構成される装置であるか判定する。本実施形態では、複合機１２０がサーバ１１０と一体として構成される装置である場合には複合機１２０はサーバ１１０が省電力状態に移行可能になったことを少なくとも条件として省電力状態に移行可能となる装置であると判定（第１の判定）する。また、本実施形態では、サーバ１１０と複合機１２０とが異なる装置である場合には、複合機１２０は前記サーバが省電力状態に移行可能な状態になったか否かに関わらず省電力状態に移行可能な装置であると判定（第２の判定）する。複合機１２０は第１の判定をした場合と第２の判定をした場合とで、前記情報処理装置と前記サーバとの間の通信コネクションの維持に関して異なる制御を行う。判定処理の例は、図５を用いて後述する。
【００３５】
次に、サーバ１１０の機能を実現するためのサーバアプリケーション４００の構成について図４を用いて説明する。サーバアプリケーション４００は、ＲＡＭ２０３、ＨＤＤ２０５、又は、ＲＯＭ２０６などの記憶部に記憶され、ＣＰＵ２０２により実行される。
【００３６】
マスタデータ管理部４１０は、マスタデータ４０１を管理する。マスタデータ管理部４１０は、通信制御部４２０からの指示に応じてマスタデータ４０１の更新情報を読み出したり、マスタデータ４０１を更新したりする。
【００３７】
マスタデータ管理部４１０は、通信制御部４２０がクライアントアプリケーション３００から受信した更新情報をマスタデータ４０１に反映させる処理を行う。また、マスタデータ管理部４１０は、通信制御部４２０がクライアントアプリケーション３００からマスタデータ４０１の更新情報の取得要求を受信した場合に、マスタデータ４０１の更新情報を作成し、通信制御部４２０に通知する処理を行う。マスタデータ管理部４１０が管理するマスタデータ４０１は、ＨＤＤ２０５、ＲＡＭ２０３、または、ＲＯＭ２０６などの記憶部に保存される。
【００３８】
通信制御部４２０は、ＮｅｔｗｏｒｋＩ／Ｆ２０７を介した通信の制御を行う。通信制御部４２０は、制御部４２１及び通信処理部４２２を含む。制御部４２１は、クライアントアプリケーション３００との設定値の同期処理を制御する。通信処理部４２２は、ＮｅｔｗｏｒｋＩ／Ｆ２０７を介した通信処理の制御を行う。
【００３９】
制御部４２１は、通信処理部４２２がクライアントアプリケーション３００から設定データ３１１の更新情報を受信した場合に、受信した更新情報をマスタデータ管理部４１０に通知する。また、制御部４２１は、通信処理部４２２がクライアントアプリケーション３００からマスタデータ４０１の更新情報の取得要求を受信した場合に、マスタデータ管理部４１０よりマスタデータ４０１の更新情報を取得する。そして、取得した更新情報をクライアントアプリケーション３００に送信するよう通信処理部４２２に指示する。
【００４０】
通信処理部４２２は、クライアントアプリケーション３００との通信処理を実行する。通信処理部４２２は、通信処理部３２２と協働して、サーバ１１０と情報処理装置との間の通信コネクションを確立するための処理を実行する。例えばＴＣＰで規定される所定の手順に則って、複合機１２０とのコネクションを確立したり、解放したりする。
【００４１】
ここで、本実施形態にかかるサーバ１１０と複合機１２０との間の通信コネクションの維持と、サーバ１１０及び複合機１２０の省電力状態への移行処理の関係について説明する。
【００４２】
サーバ１１０はクライアントとしての複合機１２０からコネクションを維持することを要求する通知を受信しなければ、複合機１２０とのコネクションを切る。コネクションを維持することを要求する通知とは、後述のＫｅｅｐ−Ａｌｉｖｅ通信を行うことを要求する通知である。複合機１２０は、サーバ１１０として動作している場合には管理対象の全ての複合機１２０とのコネクションが切断されていることを条件として、省電力状態に移行可能であると判断する。
【００４３】
また、クライアントとしての複合機１２０は、装置が省電力状態に移行するための条件を満たした場合、コネクションを維持する通知の送信をやめ、サーバ１１０とのコネクションを解放する。装置が省電力状態に移行するための条件とは、例えば、複合機１２０において所定の処理が所定期間実行されないこと等を含む。所定の処理とは例えば、印刷処理、スキャン処理、又は、ＦＡＸ処理の実行等を含む。また本実施形態では、複合機１２０と一体として構成されたサーバ１１０が、少なくとも１台の複合機１２０とコネクションを維持している場合にも、所定の処理が実行されていると判断する。この少なくとも１台の複合機１２０には、サーバ１１０と一体の装置として構成された、クライアントとしての複合機１２０も含まれる。
【００４４】
例えば、複合機１２０は、サーバ機能が有効化されていない場合には、実行中或いは待機中のジョブが無く、操作の受け付けも無い状態で所定時間経過すると、サーバ１１０とコネクションを維持しているか否かに関わらず、省電力状態に移行する。
【００４５】
また例えば、複合機１２０は、サーバ１１０としても動作している場合には、実行中或いは待機中のジョブが無く、操作の受け付けも無い状態で所定時間経過し、かつ、サーバ１１０が他の複合機１２０とコネクションを維持していない場合に省電力状態に移行する。
【００４６】
次にクライアントとしての複合機１２０の動作について、図５を用いて説明する。図５に示した処理は、ＣＰＵ２０２がＨＤＤ２０５またはＲＯＭ２０６などから読み出したクライアントアプリケーション３００を実行することにより実現される。
【００４７】
図５のフローチャートは、複合機１２０において所定の同期開始条件が満たされた場合に開始される。同期開始条件は、例えば、クライアントアプリケーション３００がサーバアプリケーション４００へマスタデータ４０１の設定情報（例えば、更新情報）の取得要求を行った場合に満たされる。また、同期開始条件は、例えば、複合機１２０において設定データ３１１が更新された場合に満たされる。その他、複合機１２０とサーバ１１０との間で設定値を同期するタイミングであればよく、その条件の内容は問わない。
【００４８】
まず制御部３２１は、サーバ１１０とのコネクションが維持されているかを判定する（Ｓ５００）。サーバ１１０とのコネクションが維持されていると判定した場合、後述のステップＳ５５０の処理に進む。一方、サーバとのコネクションが維持されていないと判定した場合、ステップＳ５１０の処理にすすむ。ステップＳ５００の判定は、例えばＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）のＫｅｅｐ−Ａｌｉｖｅの仕組みを用いたコネクション管理の方式に従うことができるが、判定の方法は特に限定しない。
【００４９】
ステップＳ５１０において、制御部３２１は、サーバ１１０のアドレス情報を読み出す。このアドレス情報は、クライアントアプリケーション３００がサーバアプリケーション４００と通信を行うために用いる通信アドレスである。複合機１２０が接続すべきサーバ１１０のアドレス情報は、例えば、管理者等によって予め複合機１２０に登録されているものとする。本実施形態では、接続すべきサーバ１１０のアドレス情報は、設定データ３１１の一部としてクライアントアプリケーション３００が管理する。
【００５０】
次にステップＳ５２０において、制御部３２１は、ステップＳ５１０で取得したアドレス情報を用いて、サーバ１１０のサーバアプリケーション４００とのコネクションを確立する制御を行う。制御部３２１は、通信処理部３２２を制御して、サーバアプリケーション４００とのコネクションの確立処理を実行させる。
【００５１】
次にステップＳ５３０において、制御部３２１は、サーバアプリケーション４００が、クライアントアプリケーション３００を実行している複合機１２０と同じ装置上で有効化されているか否かを判定する。制御部３２１は、ステップＳ５１０において取得したサーバ１１０のアドレス情報に基づいてステップＳ５３０の判定処理を行う。
【００５２】
例えば制御部３２１は、サーバ１１０のアドレス情報として”ｌｏｃａｌｈｏｓｔ”という所定の値が設定されている場合には、サーバアプリケーション４００が複合機１２０と同じ装置で有効化されていると判定する。また例えば制御部３２１は、サーバ１１０のアドレス情報としてローカルループバックアドレスのような所定の値が設定されている場は、サーバアプリケーション４００が複合機１２０と同じ装置上で有効化されていると判定する。ローカルループバックアドレスとして、例えば、”１２７．０．０．１”，“：：１”や、“ＯｎＴｈｉｓＤｅｖｉｃｅ”等を用いることができる。一方、サーバ１１０のアドレス情報が所定の値ではない場合には、制御部３２１はサーバ１１０が複合機１２０とは別の装置として構成されていると判定する。
【００５３】
また例えば、複合機１２０のクライアントアプリケーション３００が管理している複合機１２０のＩＰアドレスと、ステップＳ５１０で取得したサーバのＩＰアドレスとを比較してステップＳ５３０の判定を行うこととしてもよい。制御部３２１は、両者が一致した場合に、サーバアプリケーション４００が複合機１２０と同じ装置で有効化されていると判定する。一方、制御部３２１は、両者が一致しない場合には、サーバアプリケーション４００が複合機１２０とは別の装置において実行されていると判定する。
【００５４】
また例えば、複合機１２０は自装置のサーバアプリケーション４００のサーバ機能を有効化した際に、所定の記憶領域にサーバ機能を有効化したことを示す情報（例えば、サーバ機能の有効化フラグＯＮ）を記憶させることとしてもよい。制御部３２１は、自装置のサーバ機能が有効化されていることを示す情報が所定の記憶領域に記憶されているかを判定することによりステップＳ５３０の判定を行うこととしてもよい。
【００５５】
ステップＳ５３０において、サーバ１１０が複合機１２０と同じ装置として構成されていると判定した場合（Ｓ５３０でＹＥＳの場合）にはステップＳ５４０に進む。すなわち、判定結果が、サーバアプリケーション４００が複合機１２０と同じ装置上で有効化されていることを示すものであることに応じて、ステップＳ５４０に進む。またステップＳ５３０において、判定結果が、サーバ１１０が複合機１２０とは別の装置として構成されていることを示すものであることに応じてステップＳ５５０に進む。
【００５６】
本実施形態では、サーバ１１０の機能が有効化された複合機１２０ａの処理として図５のフローを実施する場合には、ステップＳ５３０の判定においてサーバ１１０が複合機１２０と同じ装置として構成されていると判定される。一方、サーバ１１０の機能が有効化されていない複合機１２０ｂ、または、１２０ｃの処理として図５のフローを実施する場合、ステップＳ５３０ではサーバ１１０が複合機１２０と異なる装置として構成されていると判定される。複合機１２０ｂ、または、１２０ｃがサーバ１１０の機能（サーバアプリケーション４００）を有さない場合も同様である。
【００５７】
ステップＳ５４０では、制御部３２１は、通信処理部３２２を制御してサーバアプリケーション４００に同期要求を送信させる。ステップＳ５４０において送信される同期要求には、同期通信が終了した後にサーバアプリケーション４００とのコネクションを解放することを示す情報が含まれる。
【００５８】
この同期通信は、マスタデータ４０１の更新内容を示す更新情報の取得要求をサーバアプリケーション４００に送信し、その応答としてサーバアプリケーション４００から更新情報を取得する通信処理を含む。またこの同期通信は、クライアントアプリケーション３００が管理する設定データ３１１の更新内容を示す更新情報をサーバアプリケーション４００に送信する通信処理を含む。
【００５９】
また、同期通信の終了後にサーバアプリケーション４００とのコネクションを解放することを示す情報とは、例えば、ＨＴＴＰ通信を行うためのパケットのリクエストヘッダにおける”Ｃｏｎｎｅｃｔｉｏｎ”フィールドの値である”ｃｌｏｓｅ”である。このようにして、コネクションをサーバ１１０に解放させるための情報を、同期要求と共にサーバ１１０に通知することができる。すなわち、以下、同期通信の終了後にサーバアプリケーション４００とのコネクションを解放する通信のことを非Ｋｅｅｐ−Ａｌｉｖｅ通信と呼ぶ。
【００６０】
このようにして、複合機１２０がサーバと一体として構成される装置であると判定したことに応じて、ステップＳ５４０では、コネクションをサーバに解放させるための情報をサーバ１１０に通知する。ステップＳ５４０の処理を実行することにより、サーバ１１０と複合機１２０との間で確立したコネクションをサーバに解放させることができる。サーバ１１０は、すべての複合機１２０とのコネクションが解放されると、省電力状態へ移行可能な状態になる。このようにして、省電力状態へ移行可能な状態にするために必要な１又は複数の条件のうち少なくとも一つの条件を満たすようにする。
【００６１】
ステップＳ５５０においても、制御部３２１は、通信処理部３２２を制御してサーバアプリケーション４００に同期要求を送信させる。しかしステップＳ５５０において送信される同期要求には、同期通信が終了した後にサーバアプリケーション４００とのコネクションを解放することを示す情報が含まれない。ステップＳ５５０において送信される同期要求には、クライアントアプリケーション３００とサーバアプリケーション４００との通信コネクションを所定の時間維持することを示す情報を含むこととしてもよい。例えば、ＨＴＴＰ通信のリクエストヘッダにおける”Ｃｏｎｎｅｃｔｉｏｎ”フィールドの値に”Ｋｅｅｐ−Ａｌｉｖｅ”を指定して、同期要求をサーバ１１０に通知することができる。このようにして、コネクションをサーバ１１０に維持させるための情報を、同期要求と共にサーバ１１０に送信することができる。以下、同期通信が終了してもサーバアプリケーション４００とのコネクションを維持する通信の事をＫｅｅｐ−Ａｌｉｖｅ通信と呼ぶ。
【００６２】
このように、複合機１２０がサーバ１１０と異なる装置であると判定したことに応じて、ステップＳ５５０では、確立したコネクションをサーバに維持させるための情報を複合機１２０からサーバ１１０に通知させる制御を行う。
【００６３】
ステップＳ５４０およびステップＳ５５０の処理は、同期通信の終了後にサーバアプリケーション４００とのコネクションを維持するのか否かをサーバアプリケーション４００が区別できるものであればよい。例えば、ステップＳ５５０においてサーバアプリケーション４００との通信コネクションを所定の時間維持することを示す情報が含まれる場合、ステップＳ５４０ではサーバアプリケーション４００とのコネクションを解放する情報を送信しなくてもよい。
【００６４】
ステップＳ５６０において、制御部３２１は、通信処理部３２２を介して同期要求の応答を受信する。受信される情報は、例えば、クライアントアプリケーション３００からサーバアプリケーション４００に送信した更新情報がサーバアプリケーションによって正常に受信されたことを示す応答である。あるいは受信される情報は、クライアントアプリケーション３００が送信した更新情報の取得要求に対する応答としての、マスタデータ４０１の更新情報である。
【００６５】
次に、サーバ１１０としての複合機１２０の動作について、図６を用いて説明する。図６に示した処理は、ＣＰＵ２０２が、ＨＤＤ２０５またはＲＯＭ２０６などから読み出したサーバアプリケーション４００を実行することにより実現される。図６の処理は、サーバアプリケーション４００がクライアントアプリケーション３００から同期要求を受信した際に開始される。
【００６６】
ステップＳ６１０において、制御部４２１は、通信処理部４２２を介して受信した同期要求に応じた処理を実行する。同期要求に応じた処理とは例えば、クライアントアプリケーション３００から受信した更新情報をマスタデータ４０１に反映させる処理である。あるいは、同期要求に応じた処理とは例えば、クライアントアプリケーション３００から受信した取得要求に応答して、マスタデータ４０１の更新情報を生成する処理である。制御部４２１は、マスタデータ管理部４１０を制御してこれらの処理を実行させる。
【００６７】
ステップＳ６２０において、制御部４２１は、通信処理部４２２を介して、同期要求に対する応答をクライアントアプリケーション３００に対して行う。この応答は例えば、クライアントアプリケーション３００から受信した更新情報をマスタデータ４０１に反映させたことを示す情報である。あるいは、この応答は例えば、ステップＳ６１０において生成したマスタデータ４０１の更新情報の送信である。
【００６８】
ステップＳ６３０において、制御部４２１は、クライアントアプリケーション３００から受信した同期要求が非Ｋｅｅｐ−Ａｌｉｖｅ通信を要求するものであるかを判定する。例えば制御部４２１は、同期要求のＨＴＴＰヘッダの”Ｃｏｎｎｅｃｔｉｏｎ”フィールドの値を取得し、その値に基づき設定値同期要求が非Ｋｅｅｐ−Ａｌｉｖｅ通信の要求であるか否かを判定する。”Ｃｏｎｎｅｃｔｉｏｎ”フィールド値が”ｃｌｏｓｅ”であった場合には、ステップＳ６３０がＹＥＳとしてステップＳ８４０に進む。”Ｃｏｎｎｅｃｔｉｏｎ”フィールド値が”ｃｌｏｓｅ”以外の値の場合、もしくは”Ｃｏｎｎｅｃｔｉｏｎ”フィールドがなかった場合には、ステップＳ６３０がＮＯとしてステップＳ６５０に進む。
【００６９】
ステップＳ６４０において、制御部４２１は、クライアントアプリケーション３００とサーバアプリケーション４００との間で確立されたコネクションの解放処理を通信処理部４２２に指示する。これを受けた通信処理部４２２は、該当するコネクションの解放処理を実行し、図６に示すフローを終了する。
【００７０】
ステップＳ６５０において、制御部４２１は、クライアントアプリケーション３００とサーバアプリケーション４００との間で確立されたコネクションを維持したまま、図６に示すフローを終了する。
【００７１】
このような構成によれば、情報処理装置がサーバ機能とクライアント機能とを併有する場合でも、サーバとクライアントとの間の通信コネクションを解放することができる。また、情報処理装置がサーバ機能とクライアント機能とを併有する場合でも、通信コネクションを解放して省電力状態に移行することができる。
【００７２】
すなわち、サーバ１１０と一体として構成されたクライアントとしての複合機１２０ａは、各同期通信が終了する度にサーバ１１０とのコネクションを解放する。また複合機１２０ｂ、及び、１２０ｃは各装置で省電力状態へ移行する条件が満たされた場合に、サーバ１１０とのコネクションを解放する。このようにして、サーバ１１０が管理するクライアントとしての複合機１２０ａ、１２０ｂ、及び、１２０ｃのいずれともコネクションを確立していない状態を実現することができる。
【００７３】
サーバ１１０が複合機１２０ａ、１２０ｂ、及び、１２０ｃのいずれともコネクションを確立していない場合、上述のとおり、サーバ１１０と一体の装置として構成された１２０ａは、省電力状態に移行することが可能となる。
【００７４】
このようにして、サーバと一体の装置として構成されたクライアントとのコネクションを切ることができず、一体の装置として構成されたサーバ及びクライアントは省電力状態に移行することができないという従来技術の課題を解消することができる。従って、より省電力で運用可能な同期システムを構築することができる。
【００７５】
また上記の実施形態によれば、サーバ１１０と一体の装置として構成されていない複合機１２０ｂ及び１２０ｃは、サーバ１１０とＫｅｅｐ−Ａｌｉｖｅ通信を行うことができる。従って、２回目の同期要求の送信からは、同期要求を行う度にサーバ１１０とのコネクションを確立する必要がなく、速やかに同期処理を実行することができる。
【００７６】
＜実施形態２＞
実施形態１においては、サーバアプリケーション４００がクライアントアプリケーション３００を実行している複合機１２０と同じ装置上で有効化されている場合、クライアントアプリケーション３００は非Ｋｅｅｐ−Ａｌｉｖｅ同期通信を要求する例について説明した。実施形態２では、サーバアプリケーション４００が複合機１２０と同じ装置上で有効化されている場合でも、同期要求を送信する契機となった動作の種別によって非Ｋｅｅｐ−Ａｌｉｖｅ同期通信を要求するかＫｅｅｐ−Ａｌｉｖｅ同期通信を要求するかを切り替える例について説明する。同期要求を送信する契機となった動作の種別として、例えば、ポーリング処理、又は、ユーザが複合機１２０の設定変更等の所定の処理の実行等の種別があるものとする。ここで、同期要求を送信する契機となる動作が実行されると、上述の同期開始条件が満たされるものとして説明する。
【００７７】
本実施形態における構成については、実施形態１と同一のものは説明を省略し、異なる部分についてのみ説明する。
【００７８】
本実施形態において、クライアントアプリケーション３００の通信処理部３２２は所定の時間間隔でサーバアプリケーション４００に対して同期要求を行う。この同期要求は、マスタデータ４０１の更新情報の取得要求である。マスタデータ４０１の更新情報は、クライアントアプリケーション３００が前回マスタデータ４０１の設定情報（例えば、更新情報）を受信した時刻以降にマスタデータ４０１が更新された更新内容を示す情報である。通信処理部３２２は、クライアントアプリケーション３００の識別情報と、前回マスタデータ４０１の設定情報を取得した時刻を示す時刻情報とを含む同期要求をサーバアプリケーション４００に送信する。以下では、マスタデータ４０１の更新情報の取得要求を順次送信する処理をポーリング処理と呼び、特に所定の時間間隔で取得要求を送信する処理を定期ポーリング処理と呼ぶ。本実施形態では、クライアントアプリケーション３００は定期ポーリングを実行する例について説明するが、定期間隔ではないポーリング処理を行うこととしてもよい。
【００７９】
また本実施形態において、通信処理部３２２は、複合機１２０においてユーザのログイン処理が実行されたことに応じて、マスタデータ４０１の更新情報の取得要求を送信する。また通信処理部３２２は、ユーザが操作部２２０を操作して複合機１２０の設定（設定データ３１１）を更新した場合、当該更新の内容を示す更新情報をサーバアプリケーション４００に送信する。この更新情報の送信は、当該更新情報を用いてマスタデータ４０１を更新することをサーバアプリケーション４００に要求する同期要求である。
【００８０】
本実施形態におけるクライアントアプリケーション３００の動作について、図７を用いて説明する。図７に示した処理は、ＣＰＵ２０２がＨＤＤ２０５またはＲＯＭ２０６などから読み出したクライアントアプリケーション３００を実行することにより実現される。実施形態１において図５を用いて説明した処理については、図５と同じステップ番号を付し、その説明を省略する。
【００８１】
図７のフローチャートは、図５と同様に、所定の同期開始条件が満たされた場合に開始される。同期開始条件は、例えば、クライアントアプリケーション３００がサーバアプリケーション４００へマスタデータ４０１の設定情報（例えば、更新情報）の取得要求を行った場合に満たされる。また、同期開始条件は、例えば、複合機１２０において設定データ３１１が更新された場合に満たされる。その他、複合機１２０とサーバ１１０との間で設定値を同期するタイミングであればよく、その条件の内容は問わない。
【００８２】
制御部３２１は、ステップＳ５３０において接続先のサーバ１１０が自装置内に存在すると判定した場合（Ｓ５３０でＹＥＳの場合）、ステップＳ７０１の処理を実行する。
【００８３】
ステップＳ７０１では、制御部３２１は、図７の処理が開始される契機となった動作の種別が、ポーリング処理であるか否かを判定する。判定の結果、ポーリング処理であった場合（Ｓ７０１においてＹＥＳの場合）には上述のステップＳ５４０の処理を実行する。一方、ポーリングでない場合（Ｓ７０１においてＮＯの場合）にはステップＳ５５０の処理を実行する。その他の処理は図５を用いて説明した内容と同様である。
【００８４】
以上の手順では、複合機１２０が実行する処理が更新情報の通知処理であり、かつ、複合機１２０がサーバ１１０と一体として構成される装置であると判定した場合には、コネクションをサーバ１１０に維持させるための情報をサーバ１１０に通知する。また、複合機１２０が実行する処理が更新情報の取得処理であり、かつ、複合機１２０がサーバ１１０と一体として構成される装置であると判定した場合には、コネクションをサーバ１１０に解放させるための情報をサーバ１１０に通知する。
【００８５】
このような手順で処理が実行されることにより、ポーリング処理のような、複合機１２０のバックグラウンドで実行される通信処理のみが実行されている状況では、サーバアプリケーション４００とのコネクションが解放される。従って、実施形態１において説明したのと同様の理由により複合機１２０は省電力状態に遷移することが可能となる。
【００８６】
また本実施形態では、クライアントとしての複合機１２０とサーバ１１０とが一体の装置として構成されている場合であっても、複合機１２０に対するユーザ操作に応じた動作を契機として同期処理が開始された場合にはコネクションを維持する。コネクションを維持することにより、１つの同期処理を実行する度にサーバ１１０とのコネクションを構築する必要がなくなるので、同期処理を速やかに実行することができる。
【００８７】
本実施形態によれば、クライアントとしての複合機１２０とサーバ１１０とが一体の装置として構成されている場合であっても、複合機１２０に対するユーザ操作に応じて同期処理が開始された場合には、同期処理を速やかに実行することができる。従ってユーザは速やかに操作を進めることができ、ユーザの利便性を向上させることができる。
【００８８】
＜実施形態３＞
本実施形態では、クライアントアプリケーション３００からのＫｅｅｐ−Ａｌｉｖｅ通信の要求を受けても、サーバ１１０は自装置で動作するクライアントアプリケーション３００からの要求である場合にはコネクションを解放する例について説明する。このような構成によっても、実施形態１と同様に、サーバ１１０と一体の装置として構成された１２０ａは、省電力状態に移行することが可能となる。
【００８９】
本実施形態における構成については、実施形態１と同一のものは説明を省略し、異なる部分についてのみ説明する。
【００９０】
図４を用いて説明したサーバアプリケーション４００の制御部４２１は、同期要求を行ったクライアントアプリケーション３００は、自装置で動作しているクライアントアプリケーション３００であるかを判定する処理を行う。
【００９１】
本実施形態に係る複合機１２０のクライアントアプリケーション３００が実施する通信処理の手順について図８を用いて説明する。図８に示した処理は、ＣＰＵ２０２がＨＤＤ２０５またはＲＯＭ２０６などから読み出したクライアントアプリケーション３００を実行することにより実現される。実施形態１において図５を用いて説明した処理と同じ処理については、図５と同じステップ番号を付して説明する。
【００９２】
本実施形態に係る複合機１２０は、実施形態１において図５を用いて説明した処理と比較し、ステップＳ５３０及びステップＳ５４０の処理を実行しない点で異なる。制御部３２１は、ステップＳ５２０の処理を実行すると、次にステップＳ５５０の処理を実行する。このようにして、本実施形態に係る複合機１２０は、同期開始条件を満たす動作が複合機１２０において発生すると、常にＫｅｅｐ−Ａｌｉｖｅ通信を要求する同期要求をサーバ１１０へ送信する。
【００９３】
次に本実施形態に係るサーバ１１０のサーバアプリケーション４００が実施する通信処理の手順について、図９を用いて説明する。図９に示した処理は、ＣＰＵ２０２が、ＨＤＤ２０５またはＲＯＭ２０６などから読み出したサーバアプリケーション４００を実行することにより実現される。図９の処理は、サーバアプリケーション４００がクライアントアプリケーション３００から同期要求を受信した際に開始される。実施形態１において図６を用いて説明した処理と同じ処理については、図６と同じステップ番号を付して説明する。
【００９４】
サーバアプリケーション４００は、ステップＳ６２０においてクライアントアプリケーション３００から取得した同期要求に対するレスポンスを送信した後、ステップＳ９１０の処理を実行する。
【００９５】
ステップＳ９１０では、制御部４２１は、同期要求の要求元であるクライアントアプリケーション３００が、自装置において動作しているクライアントアプリケーション３００であるかを判定する。すなわち、制御部４２１は、ステップＳ９１０において、制御部４２１はサーバ１１０と一体の装置として構成されるクライアントとしての複合機１２０から同期要求を受信したかを判定する。
【００９６】
この判定は、例えば同期要求に含まれる”Ｈｏｓｔ”ヘッダフィールドの値と、予め設定された複合機１２０のＩＰアドレス情報とを比較することで判定することができる。両者が一致した場合には、制御部４２１は、同期要求の要求元であるクライアントアプリケーション３００が、自装置において動作しているクライアントアプリケーション３００であると判定する。一方、両者が異なる場合には、他装置において動作しているクライアントアプリケーション３００であると判定する。判定の方法はこれに限らず、特に限定しない。
【００９７】
判定の結果、同期要求の要求元のクライアントアプリケーション３００が自装置において実行されている場合（ステップＳ９１０でＹＥＳの場合）にはステップＳ８４０に進む。一方、同期要求の要求元のクライアントアプリケーション３００が他装置において実行されている場合（ステップＳ９１０でＮＯの場合）にはステップＳ８３０に進む。
【００９８】
例えば、サーバ１１０が動作する複合機１２０ａのクライアントアプリケーション３００からの同期要求を受信した場合には、制御部４２１は、ステップＳ９１０においてＹＥＳと判定し、ステップＳ８４０の処理を実行する。一方、サーバ１１０と別装置である複合機１２０ｂ又は１２０ｃのクライアントアプリケーション３００からの同期要求を受信した場合には、制御部４２１はステップＳ９１０においてＮＯと判定し、ステップＳ８５０の処理を実行する。その他の処理は、実施例１と同様であるため、説明を省略する。
【００９９】
このようにして、複合機１２０がサーバ１１０と一体として構成される装置であると判定した場合には、サーバ１１０は、複合機１２０との間で確立したコネクションを解放する。
【０１００】
本実施形態では、クライアントアプリケーション３００からのＫｅｅｐ−Ａｌｉｖｅ通信の要求を受けても、サーバ１１０は自装置で動作するクライアントアプリケーション３００からの要求である場合にはコネクションを解放する。本実施形態によれば、サーバ１１０は管理下にあるすべての複合機１２０とのコネクションを切ることが可能となる。従って、サーバ１１０は省電力状態に移行可能な状態となる。このようにして、サーバ１１０と一体の装置として構成された１２０ａは、省電力状態に移行することが可能となる。
【０１０１】
＜実施形態４＞
本実施形態では、サーバ１１０が複合機１２０とのコネクションを維持している場合であっても、所定の場合には省電力状態への移行を可能とする例について説明する。すなわち、コネクションを維持している相手が、自装置で動作するクライアントアプリケーション３００のみである場合には、省電力状態への移行を可能とする。
【０１０２】
本実施形態における構成については、実施形態１と同一のものは説明を省略し、異なる部分についてのみ説明する。
【０１０３】
本実施形態において、サーバアプリケーション４００の制御部４２１は、通信処理部４２２が確立しているコネクションの管理状況に応じて、複合機１２０が省電力状態に移行可能な状態であるか否かを判定する。
【０１０４】
また本実施形態において、クライアントアプリケーション３００の制御部３２１は、複合機１２０において所定の条件が満たされた場合に、サーバアプリケーション４００に対して省電力状態への移行が可能であるか否かを問い合わせる処理を実行する。
【０１０５】
本実施形態に係るサーバアプリケーション４００が実行する処理について、図１０を用いて説明する。図１０の処理は、サーバアプリケーション４００が、クライアントアプリケーション３００から、省電力状態への移行が可能であるかについての問い合わせを受けた場合に開始される。図１０に示した処理は、ＣＰＵ２０２が、ＨＤＤ２０５またはＲＯＭ２０６などから読み出したサーバアプリケーション４００を実行することにより実現される。
【０１０６】
まずステップＳ１０１０において、制御部４２１は、制御部４２１が現在管理しているコネクションの情報を取得する。コネクションの情報とは、例えば、ＩＰアドレスとポート番号の組であるソケット情報と、維持あるいは解放を表す状態情報とを少なくとも含む情報である。通信コネクションの情報は、クライアントアプリケーション３００とのコネクションが確立された際に、ＲＡＭ３０３もしくはＨＤＤ３０５に保持される。
【０１０７】
続くステップＳ１０２０において、制御部４２１は、維持しているコネクションについての情報に基づいて、同一装置で動作するクライアントアプリケーション３００を示すコネクションのみが存在しているか否かを判定する。
【０１０８】
判定の結果、同一装置で動作するクライアントアプリケーション３００を示すコネクションのみが存在している（ステップＳ１３２０がＹＥＳ）場合には、ステップＳ１０３０に進む。ステップＳ１０３０では、省電力状態に移行可能である情報を保持して本フローを終了する。
【０１０９】
一方、同一装置で動作するクライアントアプリケーション３００以外を示すコネクションが存在する場合には、省電力状態に移行不可である旨を示す情報を保持して本フローを終了する。
【０１１０】
省電力状態に移行可能である情報を保持している場合には、複合機１２０は、他の移行条件がそろった場合に、省電力状態に移行する。このようにして、複合機１２０がサーバと一体として構成される装置であると判定した場合であって、サーバ１１０がクライアントとしての複合機１２０とのみ通信コネクションを確立している場合には、以下のように判断する。すなわち、同一の装置として構成されるサーバ１１０及び複合機１２０は省電力状態に移行可能であると判断する
本実施形態によれば、サーバ１１０において維持中のコネクションが存在する場合でも、それらが自装置のクライアントアプリケーション３００とのコネクションのみである場合には、複合機１２０を省電力状態に移行するよう制御することが可能となる。
【０１１１】
＜実施形態５＞
実施形態１においては、サーバアプリケーション４００がクライアントアプリケーション３００を実行している複合機１２０と同じ装置上で有効化されている場合、クライアントアプリケーション３００は非Ｋｅｅｐ−Ａｌｉｖｅ同期通信を要求する例について説明した。
【０１１２】
これに対して本実施形態では、サーバアプリケーション４００が複合機１２０と同じ装置上で有効化されている場合でも、複数の同期要求に係る通信を連続的に実行する必要がある場合には、それら複数の同期要求の実行期間内はＫｅｅｐ−Ａｌｉｖｅ同期通信を要求することで同期処理を速やかに実行できることを示す例について説明する。本実施形態では、上記連続的に実行される複数の同期要求の組を、同期ジョブと呼ぶ。
【０１１３】
本実施形態における構成については、実施形態１と同一のものは説明を省略し、異なる部分についてのみ説明する。
【０１１４】
本実施形態におけるクライアントアプリケーションのソフトウェア構成について、図１１を用いて説明する。本実施形態において、通信制御部３２０は、強制Ｋｅｅｐ−Ａｌｉｖｅフラグ１１０１を有する。強制Ｋｅｅｐ−Ａｌｉｖｅフラグ１１０１は、制御部３２１が通信処理部３２２を介してサーバアプリケーション４００に対して送信する同期要求の内容に応じて制御部３２１が設定し、通信処理部３２２が通信実行時に参照する。通信処理部３２２は、参照した強制Ｋｅｅｐ−Ａｌｉｖｅフラグ１１０１の値に応じて、サーバアプリケーション４００に対してＫｅｅｐ−Ａｌｉｖｅ同期要求を送信するか、非Ｋｅｅｐ−Ａｌｉｖｅ同期要求を送信するかを切り替える。強制Ｋｅｅｐ−Ａｌｉｖｅフラグ１１０１は、ＨＤＤ２０５、ＲＯＭ２０６、ＲＡＭ２０３のいずれかに記憶される。
【０１１５】
本実施形態におけるクライアントアプリケーション３００の動作について、図１２を用いて説明する。図１２に示した処理は、ＣＰＵ２０２がＨＤＤ２０５またはＲＯＭ２０６などから読みだしたクライアントアプリケーション３００を実行することにより実現される。実施形態１において図５を用いて説明した処理については、図５と同じステップ番号を付し、その説明を省略する。
【０１１６】
図１２のフローチャートは、所定の同期ジョブ開始条件が満たされた場合に開始される。所定の同期ジョブ開始条件とは、例えば、複合機１２０がサーバ１１０の保持するマスタデータ４０１を設定データ３１１に初めて同期を実施する場合であることや、ユーザの指示により設定データ３１１をマスタデータ４０１で強制的に同期を実施する場合であることなどがある。これらの場合では、設定データ３１１をマスタデータ４０１で同期するために、マスタデータ４０１を構成する複数のデータそれぞれに対する同期要求を連続的に実施する。そのため、これらの場合制御部３２１は、複数の同期要求をまとめて１つの同期ジョブとして扱って、通信処理部３２２を介してサーバアプリケーション４００との同期通信を実行する。ただし、所定の同期ジョブ開始条件はここで例示したものでなくてもよく、その条件の内容は問わない。
【０１１７】
ステップＳ１２１０において、制御部３２１は、実行する同期通信が、上述したような同期ジョブ開始条件に基づいて開始された同期ジョブであるか否かを判定する。判定の結果、同期ジョブ開始条件に基づいて開始された同期ジョブであった場合（ステップＳ１２１０がＹＥＳであった場合）にはステップＳ１２２０に進み、そうでなかった場合（ステップＳ１２１０がＮＯであった場合）にはステップＳ１２３０に進む。ステップＳ１２２０において、制御部３２１は、強制Ｋｅｅｐ−Ａｌｉｖｅフラグ１１０１にＯＮを書き込み、ステップＳ１２３０に進む。ステップＳ１２３０において、制御部３２１は、同期ジョブに含まれる未実施の同期要求を１つ読み込み、ステップＳ５００に進む。ステップＳ５００における判定がＮＯであった場合、ステップＳ１２４０において、通信処理部３２２は、強制Ｋｅｅｐ−Ａｌｉｖｅフラグ１１０１の値を取得し、フラグがＯＮであるか否かを判定する。フラグがＯＮであった場合（ステップＳ１２４０がＹＥＳであった場合）、ステップＳ５５０に進み、通信処理部３２２はＫｅｅｐ−Ａｌｉｖｅ通信要求を含む同期要求をサーバアプリケーション４００に対して送信し、その旨を制御部３２１に通知してステップＳ１２５０に進む。ステップＳ１２５０において、制御部３２１は、同期ジョブに未実施の同期要求が含まれているか否かを判定する。判定の結果、未実施の同期要求が含まれていた場合（ステップＳ１２５０がＹＥＳの場合）、ステップＳ１２３０に進み、含まれていない場合（ステップＳ１２６０がＮＯの場合）、ステップＳ１２６０に進む。ステップＳ１２６０において、制御部３２１は、同期ジョブが完了したものとみなし、強制Ｋｅｅｐ−ＡｌｉｖｅフラグをＯＦＦにして、本フローを終了する。
【０１１８】
本実施形態によれば、クライアントとしての複合機１２０とサーバ１１０とが一体の装置として構成されている場合であっても、連続した複数の通信を伴う同期処理を実行する場合でも、処理を速やかに実行することができるようになる。
【０１１９】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１２０】
１１０  サーバ
１２０  複合機
４０１  マスタデータ
３００  クライアントアプリケーション
４００  サーバプリケーション
【図１】
0006794281.tif 000002
【図２】
0006794281.tif 000003
【図３】
0006794281.tif 000004
【図４】
0006794281.tif 000005
【図５】
0006794281.tif 000006
【図６】
0006794281.tif 000007
【図７】
0006794281.tif 000008
【図８】
0006794281.tif 000009
【図９】
0006794281.tif 000010
【図１０】
0006794281.tif 000011
【図１１】
0006794281.tif 000012
【図１２】
0006794281.tif 000013