JP6576071B2 - 情報処理装置、サーバクライアントシステム、情報処理装置の制御方法及びプログラム - Google Patents

情報処理装置、サーバクライアントシステム、情報処理装置の制御方法及びプログラム Download PDF

Info

Publication number
JP6576071B2
JP6576071B2 JP2015066040A JP2015066040A JP6576071B2 JP 6576071 B2 JP6576071 B2 JP 6576071B2 JP 2015066040 A JP2015066040 A JP 2015066040A JP 2015066040 A JP2015066040 A JP 2015066040A JP 6576071 B2 JP6576071 B2 JP 6576071B2
Authority
JP
Japan
Prior art keywords
setting value
value
server
client
setting
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.)
Active
Application number
JP2015066040A
Other languages
English (en)
Other versions
JP2016185635A (ja
JP2016185635A5 (ja
Inventor
康博 今井
康博 今井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2015066040A priority Critical patent/JP6576071B2/ja
Priority to US15/074,292 priority patent/US10194003B2/en
Publication of JP2016185635A publication Critical patent/JP2016185635A/ja
Publication of JP2016185635A5 publication Critical patent/JP2016185635A5/ja
Application granted granted Critical
Publication of JP6576071B2 publication Critical patent/JP6576071B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/0816Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Facsimiles In General (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Description

本発明は、複数の情報処理装置がネットワークで相互に接続された環境における、各情報処理装置に保存されている設定値の同期技術に関する。特に、クライアントとして動作可能な情報処理装置にサーバの機能を搭載している際の同期技術に関する。
近年、複合機等の情報処理装置(クライアント)の設定値に関して、そのマスターデータをネットワーク接続されたサーバに保存して一元管理することがある。この設定値については、クライアントとサーバとの間で同期されており、サーバ上のマスターデータの値を変更すると、変更後の値がクライアントに通知され、当該クライアント内の設定値も変更される。同様に、クライアント内の設定値を変更すると、サーバ上のマスターデータの値も変更される。ここで、設定値によっては、複数のクライアント間で共通の値を同期させるもの(共通設定値)も存在する。この場合、あるクライアントにおいて共通設定値が変更されると、サーバ上のマスターデータ、および同期対象のすべてのクライアント内の設定値が変更されることになる。その一方で、他のクライアントとの同期を行わない設定値(個別設定値)が存在し、この場合、あるクライアントで個別設定値が変更されると、サーバ上のマスターデータの当該クライアントの設定値のみが変更され、他のクライアントの設定値には反映されない。
ユーザが、クライアントの各種設定値について、サーバの管理下で同期させることを開始する際は、サーバとクライアントとの間で初期接続を行なうための処理(初期接続処理)が必要となる。この初期接続処理時には、クライアントからサーバに対し該当クライアントの全設定値の登録要求がなされる。この時、サーバのマスターデータ上に登録要求に係る「クライアントの設定値」が既に登録されている場合は、サーバは当該「クライアントの設定値」の登録処理を無視することになる。
従来、サーバに登録された特定の設定値に基づき、クライアントに対して既定のサーバ処理を実施することが行われている。例えば、特許文献1には、クライアントからの印刷要求に基づき印刷処理の対象となる印刷オブジェクトを特定し、該特定された印刷オブジェクトに対応して設定された属性に基づいてアクションを決定する技術が開示されている。この技術では、サーバは属性に応じて実行すべきアクションを対応付けた属性依存アクション定義テーブルを有し、該テーブルを参照することにより、オブジェクト毎に設定された属性に応じたアクションを決定している。
特開平11−119938号公報
上述のようなクライアントサーバシステムにおいて、一般ユーザが容易に設定値を変更可能な複合機等のクライアントデバイスに、サーバの機能を持たせる場合がある。このように特定のクライアントがサーバとクライアントの両方の機能を持つ時、「サーバ」と「サーバを搭載したクライアント」が、ある設定値について同じ値を共有することになる。そして、このようなサーバとクライアントとで共有参照される設定値(共有設定値)については、クライアントでの当該設定値の変更が、サーバの設定値の変更に繋がってしまう。この共有設定値としては、例えば、IPアドレスやホスト名がある。そして、サーバ機能を搭載したクライアントにおいては、ユーザはIPアドレスやホスト名を容易に変更することができ、ユーザが意図せずにサーバと共有される設定値を変更してしまうといったことが起こり得る。その結果、サーバとしての設定値も変更されることから、自身を含む全てのクライアントとの同期ができなくなるという問題が生じることになる。この点、前述の特許文献1の技術では、クライアントからの印刷要求に基づく属性とそれに依存したサーバ処理を実施しているものの、サーバ自身の設定値変更により発生した問題を解決することはできない。
本発明に係る情報処理装置は、複数のクライアントのそれぞれの設定値を管理するサーバとしての機能と、前記設定値の管理を受けるクライアントとしての機能とを併有する情報処理装置であって、ネットワーク設定に関する設定値であって前記サーバとしての機能と前記クライアントとしての機能とで同じ値を使用する第1の設定値、及び、当該第1の設定値に関連する設定値を含む前記各クライアントの第2の設定値をデータベースでそれぞれ管理する管理手段と、前記第1の設定値の変更の入力が行われた場合に、前記データベースで管理される前記各クライアントの第2の設定値に含まれる前記サーバとしての自装置への接続先を示す設定の設定値を、前記入力された変更後の値で、更新する更新手段と、前記各クライアントからの要求に応じて、前記更新された後の前記接続先を示す設定の設定値を送信する同期手段と、を有し、前記情報処理装置では、前記同期手段による各クライアントの要求に応じて前記更新された後の前記接続先を示す設定の設定値の送信が行われた後に、前記入力された変更後の値を、前記データベースで管理される前記第1の設定値に反映することを特徴とする。
本発明によれば、サーバ機能が搭載されたクライアントデバイスにおいて、サーバと共有参照する設定値が変更されても、サーバと各クライアント間の同期を問題なく実現することができる。
印刷システム全体を示すシステム構成図の一例である。 サーバの内部構成を示すブロック図である。 複合機の内部構成を示すブロック図である。 サーバで管理されるマスターデータの構成例を表すブロック図である。 クライアントとしての機能を実現するためのアプリケーションの構成要素を示す機能ブロック図である。 クライアントにおいて設定値が新たに設定された場合に、当該設定値の情報をサーバに登録するための処理の手順を示すフローチャートである。 送信可否判定処理の詳細を示すフローチャートである。 複合機の電源状態の遷移を説明する図である。 クライアントの同期管理を行なうサーバとしての機能を実現するためのアプリケーションの構成要素を示す機能ブロック図である。 サーバにおける設定値同期処理の実行手順を示すフローチャートである。 サーバとクライアントを兼任する情報処理装置で管理されるマスターデータの構成例を表すブロック図である。 サーバアプリケーションの構成要素を示す機能ブロック図である。 兼任デバイスで共有設定値が変更された際に、サーバ管理下の各クライアントにおける関連する設定値を変更する処理のフローチャートである。 実施例2に係る、クライアントアプリケーションにおける処理の流れを示すフローチャートである。 ユーザがIPアドレスを変更する際に使用するユーザインタフェース画面の一例を示す図である。 実施例2に係る、兼任デバイスでIPアドレスの変更が検知された際の、サーバアプリケーションにおける処理の流れを示すフローチャートである。
以下、添付の図面を参照して、本発明を実施する形態について説明する。なお、以下の実施例において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
[実施例1]
図1は、印刷システム全体を示すシステム構成図の一例である。印刷システム100は、1台のサーバ110と2台の複合機121/122で構成され、これらが相互にネットワーク130を介して接続されている。
サーバ110は、複合機121及び複合機122の設定値のマスターデータを同期管理している。すなわち、サーバ110においてマスターデータの変更を行った場合は、複合機121及び複合機122からのポーリングに応答する形で、当該変更の情報が、ネットワーク130を介して複合機121及び複合機122に通知される。また、複合機121及び複合機122で設定値を変更した際には、その変更の情報がサーバ110にネットワーク130を介して通知され、サーバ110は、当該変更の通知を受けて自身のマスターデータの値を変更する。なお、括弧書きで「複合機」とあるのは、サーバ機能を搭載したクライアントデバイスでもある複合機が、サーバ110を兼任することがあることを示している。本発明は、サーバクライアントシステムにおける、ネットワーク上のクライアントデバイスの1つがサーバの機能を併有する構成を前提とするものである。
クライアントデバイスとしての複合機121/122は、複数種類の機能、例えばコピーやFAX等を実現する機器であり、内部にそれらの機能実行時に利用する様々な設定値を記憶している。上述のとおり、設定値によっては、複合機121と複合機122との間のような複数の複合機間で同期させる設定値(共通設定値)も存在する。この共通設定値に関しては、サーバ110上のマスターデータに変更があった場合は、複合機121及び複合機122の両方に設定値を変更した旨の情報が通知される。また、複合機121と複合機122のどちらかで設定値を変更した場合は、初めにサーバ110に変更の情報が通知され、その後、サーバ110から他方の複合機に対して変更の情報が通知される。
図2は、サーバ110の内部構成を示すブロック図である。サーバ110は、コントローラユニット200、ユーザが入力操作を行なうための操作部210、各種情報を表示するためのモニタ等で構成される表示部220を備える。そして、コントローラユニット200は、操作部I/F201、表示部I/F202、CPU203、RAM204,HDD205、ROM206、ネットワークI/F207を有し、それらはシステムバス208を介して相互に接続されている。
CPU203は、ROM206に格納されているブートプログラムによりOSを起動する。CPU203は、このOS上で、HDD205に格納されているアプリケーションプログラムを実行し、これによって各種処理を実行する。このCPU203の作業領域としてはRAM204が用いられる。HDD205は、上記アプリケーションプログラムと複合機121/122の設定値のマスターデータ等を格納する。マスターデータの管理方法に関する詳細については後述する。
サーバ110は、ネットワーク130を介して各複合機(クライアントデバイス)との間で各種の設定値等のデータのやり取りを行う。
図3は、複合機121/122の内部構成を示すブロック図である。複合機121/122は、コントローラユニット300、操作部310、スキャナ320、プリンタ330を備える。コントローラユニット300には、操作部310の他、画像入力デバイスであるスキャナ320と、画像出力デバイスであるプリンタ330が接続される。
コントローラユニット300は、操作部I/F301、CPU302、RAM303、デバイスI/F304、HDD305、ROM306、ネットワークI/F307、画像処理部308を有し、それらはシステムバス309を介して相互に接続されている。
CPU302は、ROM306に格納されているブートプログラムによりOSを起動する。CPU302は、このOS上で、HDD305に格納されているアプリケーションプログラムを実行し、これによって各種処理を実行する。このCPU302の作業領域としてはRAM303が用いられる。また、RAM303は、作業領域を提供するとともに、画像データを一時記憶するための画像メモリ領域を提供する。HDD305は、上記アプリケーションプログラムや画像データ、各種設定値を格納する。複合機121/122における設定値の管理方法については後述する。
操作部I/F301は、タッチパネルを有する操作部310とのインタフェースであり、操作部310に表示する画像データを操作部310に対して出力する。また、操作部I/F301は、操作部310によってユーザにより入力された情報をCPU302に送出する。デバイスI/F304には、スキャナ320及びプリンタ330が接続され、画像データの同期系/非同期系の変換を行う。複合機121/122は、ネットワークI/F307とネットワーク130を介して、サーバ110や他の複合機との間で各種データのやり取りを行う。
画像処理部308では、スキャナ320から入力される画像データや、プリンタ330に出力される画像データに対する、画像回転、画像圧縮、解像度変換、色空間変換、階調変換などの画像処理を行う。
なお、クライアントデバイスである複合機にサーバ110の機能を搭載する場合は、一般的には専用のアプリケーション(サーバアプリケーション)を、対象とする複合機にインストールすることで実現される。この際、サーバ110の機能を併有することになる複合機においては、例えばHDD305内の格納領域の切り分け(サーバとしての各種データを格納するための領域とクライアントしての各種データを格納するための領域とを分離)などがなされる。複合機自体のハードウェア構成は、サーバ110の機能を持たない他の複合機のハードウェア構成と同じであってもよく、サーバ機能を実現するためのコントローラユニットやHDDを別個に設ける必要はない。また、この時、サーバ110のサーバ設定値であるIPアドレスやホスト名、システム時刻などの設定値は、サーバとクライアントとで共有参照される共有設定値に該当する。つまり、クライアントとしての複合機121/122のクライアント設定値であるIPアドレスやホスト名、システム時刻などの設定値とそれぞれ一致する(同じ値を用いる)ことになる。
図4は、サーバ110で管理されるマスターデータの構成例を表すブロック図である。マスターデータ401は、設定値メタ情報DB410、共通設定値DB411、登録クライアント管理DB412、個別設定値DB413、クライアント構成情報管理DB414、ユーザ情報DB415及びユーザ設定値DB416から構成される。
<設定値メタ情報DB>
まず、設定値メタ情報DB410について説明する。設定値メタ情報DB410は、サーバ110で管理する各設定値に関するメタデータを格納するデータベースである。表Aに設定値メタ情報DB410の具体例を示す。
表Aの例では、クライアント(複合機)と通信を行う際の各設定値を識別するためのキー識別子、UI画面上に各設定値を提示する際の文言、初期値、値域、適応機種/バージョン、設定値の表示条件、といった各キー識別子の仕様に関する情報が含まれている。設定値メタ情報DB410で管理する各設定値のメタ情報は、複合機の機種やファームウェアのバージョンに依存して、設定値の値域や初期値が異なることがある。表Aでは、キー識別子が“settings.pattern”で表される設定値は、機種Aと機種Bでは全ての個体に存在しているが、機種Cではファームウェアのバージョンが3.01以降の個体にのみ存在していることを表している。また、キー識別子が“settings.density”で表される設定値は、機種Bではインストールされているファームウェアのバージョンにより設定値の値域や初期値が異なる(バージョン2.01以降は機種Aと同じ、バージョン1.99以前は機種Cと同じ)ことを表している。表Aにおける“settings.density”以降に続く各設定値は、機種やファームウェアバージョンに依らずに同一の値域や初期値であることを示している。また、表Aには、各設定値が同期管理の対象とする複合機の種別を示す「同期対象」の情報が含まれている。この「同期対象」の情報には、“共通可”、“個別のみ”の二種類が存在し、“共通可”は、その設定値が複数の複合機間に共通して同期させることが可能な設定値であることを示しており、また“個別のみ”は、その設定値が同一個体の複合機とのみ同期させることが可能な設定値であることを示している。なお、“共通可”であっても“個別のみ”に変更することは可能であり、表Aに記載の内容はあくまで一例である。この同期対象を示す情報は、本実施例では“共通可”、“個別のみ”の二種類とするが、例えば特定のデバイスグループ内で同期させることが可能な設定値であることを示す“グループ”を追加するなどしてもよい。ここで、本実施例において重要なキー識別子である“settings.ip_address”と“settings.server_address”について説明する。“settings.ip_address”は、複合機のIPアドレスを示し、当該複合機がサーバ110を搭載(兼任)する場合は、サーバ110も自身のIPアドレスとしてこのキー識別子を参照する。また、“settings.server_address”は、クライアントである複合機が接続する先のサーバ110のIPアドレス(接続先サーバアドレス)を示す。
なお、この設定値メタ情報DB410は、サーバアプリケーションのインストール時に、別サーバより全クライアントの機種・バージョンの情報をダウンロードしたり、クライアントがサーバ110へ同期を開始する際(初期接続処理時)に、該当クライアントの「機種・バージョン」の情報をクライアントから登録リクエストするといった方法で実現される。
<共通設定値DB>
次に、共通設定値DB411について説明する。共通設定値DB411は、サーバ110によって設定値を同期管理するすべてのクライアント(ここでは複合機)において共通の設定値を格納・管理するデータベースである。表Bは共通設定値DB411の具体例であり、上述の表Aにおいて「同期対象」の項目が「共通可」となっている設定値で構成される。
表Bの例では、キー識別子、キー識別子に対応する値及び最終更新日時の情報が含まれている。このキー識別子は、設定値メタ情報DB410のキー識別子と同一の体系を持つ識別子である。
<個別設定値DB>
次に、個別設定値DB413について説明する。個別設定値DB413は、サーバ110によって設定値を同期管理する複数のクライアント(ここでは複合機)の各々で値が異なる設定値を格納・管理するデータベースである。表C−1及び表C−2は個別設定値DB413の具体例であり、上述の表Aにおいて「同期対象」の項目が「個別のみ」となっている設定値で構成される。
表C−1及び表C−2には、表Bと同様、キー識別子、キー識別子に対応する値及び最終更新日時の各項目についての情報が含まれている。また、表C−1は複合機121に対応し、表C−2は複合機122に対応している。ここでのキー識別子も、設定値メタ情報DB410のキー識別子と同一の体系を持つ識別子である。このように個別設定値DB413は複合機の各個体に対応して存在し、サーバ110による同期管理の対象となる複合機の数だけ存在する。
<クライアント構成情報管理DB>
次に、クライアント構成情報管理DB414について説明する。クライアント構成情報管理DB414は、クライアントデバイスである複合機の個体を識別する個体識別子、機種名、ファームウェアのバージョン、利用可能な機能を表すインストール済みライセンスの情報などを含むクライアント構成情報を、固体毎に管理するデータベースである。表Dにクライアント構成情報管理DB414の具体例を示す。
なお、機種名、ファームウェアのバージョン、インストール済みライセンス等は、設定値メタ情報DB410に格納されているものと同一の体系を持つ。
<登録クライアント管理DB>
次に、登録クライアント管理DB412について説明する。登録クライアント管理DB412は、サーバ110で設定値を同期管理する対象の複合機の個体識別子を管理するためのデータベースである。
<ユーザ情報DB>
次に、ユーザ情報DB415について説明する。ユーザ情報DB415は、クライアントデバイス(複合機)を利用するユーザに関する情報(ユーザを一意に識別するためのユーザIDや、ログインの際にユーザが入力するユーザ名等)を管理するためのデータベースである。表Eにユーザ情報DB415の具体例を示す。
<ユーザ設定値DB>
次に、ユーザ設定値DB416について説明する。ユーザ設定値DB902は、クライアント(ここでは複合機)を利用する各ユーザが利用可能な、ユーザ毎の設定値を管理するためのデータベースである。ユーザ設定値DB416には、ユーザを一意に識別するためのユーザIDや、設定値を一意に識別するためのキー識別子、設定値の内容、設定値の最終更新日時が格納される。表Fにユーザ設定値DB416の具体例を示す。
なお、表FにおけるユーザIDは、前述のユーザ情報DB415におけるものと同一の体系である。
サーバ110は、上述したマスターデータ401内の各データベースを利用して、管理対象のクライアントデバイス(ここでは複合機)の各々で異なる設定値、管理対象の複合機全てで共通の設定値、及び各設定値そのもののメタデータを一括管理することが可能である。
続いて、クライアントデバイスとしての複合機で管理される設定値メタ情報DBについて説明する。この設定値メタ情報DBは、複合機において使用する各種設定値のメタデータを格納するデータベースであり、HDD305に保存される。表Gに、設定値メタ情報DB410の具体例を示す。
表Gの例では、サーバ110と通信を行う際に各設定値を識別するためのキー識別子、設定値の値、UI表示文言、初期値、値域、表示条件、同期対象の各項目のついての情報が含まれている。これらの要素はマスターデータ401で管理されているものと同一の体系で管理されるものである。サーバ110若しくは複合機121/122において設定値が変更された場合には、例えば、キー識別子、変更後の値、更新日時といった情報が、設定値情報として更新リクエストとともにサーバ110に送信され、サーバ110において設定値を同期させる処理が実行される。
図5は、クライアントデバイスである複合機で動作する、クライアントとしての機能を実現するためのアプリケーション(以下、クライアントアプリケーション)の構成要素を示す機能ブロック図である。このクライアントアプリケーション500は、HDD305又はROM306に記憶され、RAM303に展開されてCPU302が実行することで実現される。クライアントアプリケーション500は、設定値管理部510、通信制御部520、電源管理部530、ジョブ管理部540とから構成される。以下、各部について説明する。
設定値管理部510は、クライアントデバイスとしての複合機における前述の設定値DB511を管理する。具体的には、他の複合機で共通設定値が変更された場合など、設定値の更新情報をサーバ110から受信した場合に、当該更新情報に係る内容を通信制御部520から取得して、自身の管理する設定値DB511に反映させる処理を行う。また、設定値管理部510は、設定値DB511内の設定値の内容が複合機において更新された場合に、サーバ110が管理するマスターデータ401への当該更新内容の反映をサーバ110に対して要求するよう通信制御部520に対して依頼する。
通信制御部520は、サーバ110との間で設定値を同期させるための通信処理の制御を行う。通信制御部520は、通信制御部520内の制御を行う制御部521、設定値の同期タイミングを管理するタイミング管理部522、ネットワークI/F307によって通信処理を行う通信処理部523から構成される。タイミング管理部522は、サーバ110からマスターデータ401の更新情報を定期的に取得するタイミングの判定を行う。また、タイミング管理部522は、制御部521からの依頼を受けて複合機の電源管理状態やジョブ実行状態をそれぞれ電源管理部530とジョブ管理部540から取得する。そして、取得した電源管理状態やジョブ実行状態から、設定値DB511の更新情報をサーバ110に対して通知するか否かの判定を行う。更新情報をサーバ110に対して通知するとの判定がなされた場合、通信処理部523に対してサーバ110との通信処理の実行が制御部521によって指示される。また、通信処理部523がサーバ110からマスターデータ401における設定値の更新情報を受信すると、制御部521は、当該更新情報で特定される変更後の値の設定値DB511への反映を設定値管理部510に対し依頼する。
電源管理部530は、複合機の電源状態を管理する。
ジョブ管理部540は、複合機に投入されたジョブの実行状態を管理する。
図6は、クライアントとしての複合機において設定値が新たに設定された場合に、当該設定値の情報をサーバに登録するための処理(以下、クライアント設定値サーバ登録処理)の手順を示すフローチャートである。
ステップ601において、通信制御部520の制御部521は、設定値DB511に格納された設定値の中から、サーバ110に登録を依頼する設定値の情報を設定値管理部510から取得する。この場合において、すでに初期接続処理が完了し、複合機がサーバ110の同期管理下にある環境で、例えばファームウェアのバーションアップ等により、新たな設定値の追加登録を行なう場面では、当該追加される設定値の情報が取得されることになる。例えばスリープ時間を追加登録する場合であれば、少なくともキー識別子“settings.sleep_time”とその値“3600(sec)”が設定値情報として取得される。これに対し、初期接続処理時における全設定値の登録を行なう場面では、全設定値の情報(全てのキー識別子とその値や文字列)が取得されることになる。
ステップ602において、制御部521は、ステップ601で取得した設定値情報をサーバ110に送信(通知)することが可能か否かの判定を、タイミング管理部522に指示する。この指示を受けて、タイミング管理部522は、設定値情報のサーバ110への送信が可能かどうかの判定処理(送信可否判定処理)を実行する。送信可否判定処理の詳細については後述する。
ステップ603において、制御部521は、送信可否判定処理の結果に応じた処理の切り分けを行なう。具体的には、判定結果が送信(通知)可能であった場合は、ステップ607に進む。一方、判定結果が送信(通知)不能であった場合は、ステップ604に進む。
ステップ604において、制御部521は、ステップ601で取得した設定値情報をHDD305等に記憶する。また、制御部521は、サーバ110への登録情報送信タイミングを迎えたら送信(通知)を行なうようタイミング管理部522に指示する。
ステップ605において、タイミング管理部522は、制御部521からの指示の時点から一定時間が経過したか否かを判定する。一定時間が経過していない間(すなわち、サーバ110への登録情報送信タイミングを迎えていない間)は判定を継続し、一定時間が経過すると、制御部521に対しその旨を送信(通知)する。
ステップ606において、制御部521は、ステップ604でHDD305等に記憶した設定値情報を読み出し、ステップ602に戻って送信可否判定処理を再度実行する。
ステップ607において、制御部521は、ステップ601で取得した(又はステップ606で読み出した)設定値情報の登録をサーバ110に対してリクエストするよう通信処理部523に対し指示する。当該指示を受けて通信処理部523は、設定値情報と共にその登録要求(=Create要求)をサーバ110に送信する。
ステップ608において、制御部521は、HDD305に記憶された設定値情報を削除して本フローを終了する。
以上が、クライアント設定値サーバ登録処理の内容である。
なお、クライアントにおいて既存の設定値の内容を変更・更新した場合に当該更新に係る内容をサーバ110内のマスターデータに反映させる場合の処理も、基本的には上述した登録時の処理と同様である。すなわち、上述の図6のフローにおいて取得(ステップ601及び606)、記憶(ステップ604)、削除(ステップ608)の対象となる設定値の情報を、更新された設定値の情報と読み替えればよい。そして、ステップ607における「設定値情報と共にその登録要求(=Create要求)をサーバ110に送信する」を「設定値情報と共にその更新要求(=Update要求)をサーバ110に送信する」と読み替えればよい。以下に、表H及び表Iを用いて、設定値の更新の一例について説明する。表Hは、キー識別子“settings.copy_cur_page”の設定内容を示している。仮に、このキー識別子“settings.copy_cur_page”の値が“66”から“67”に変更された場合は、表Iに示す内容の情報が、上述の取得・記憶・削除といった各ステップの対象となり、設定値情報として更新のリクエストとともにサーバ110に送信されることになる。
なお、サーバで管理される設定値データに関してのクライアントから送信されるリクエストの種類としては、上述した設定値登録要求と設定値更新要求に加え、サーバ上のDBに登録されている設定値の取得を要求する設定値取得要求(Get要求)とサーバ上のDBに登録されている設定値の削除を要求する設定値削除要求(Delete要求)がある。また、設定値取得要求(Get要求)には、登録されている全ての設定値の取得を要求する全設定値取得要求(全Get要求)と前回レスポンス時以降に変更があった設定値の取得を要求する設定値差分取得要求(差分Get要求)がある。
図7は、前述のステップ602における送信可否判定処理の詳細を示すフローチャートである。
ステップ701において、タイミング管理部522は、電源管理部530から複合機の電源状態の情報を取得する。図8は、複合機の電源状態の遷移を説明する図である。まず、電源OFFの状態804から電源スイッチが入って電源がONになると、起動処理が開始され、起動処理中801に遷移する。起動処理が完了すると、複合機は通常動作状態802に遷移する。起動処理中801または通常動作状態802において電源スイッチをOFFにすると、シャットダウン処理が開始されシャットダウン処理中803に遷移する。そして、シャットダウン処理が完了すると電源OFFの状態804に遷移する。図8に示した4種類の状態のうちいずれの電源状態にあるのかが、タイミング管理部522からの問い合わせに応じ、その時点での電源状態の情報が電源管理部530からタイミング管理部522へと通知される。当然のことながら、電源OFF状態804においては、タイミング管理部522及び電源管理部530ともに動作しないため、本ステップの処理は行われない。
ステップ702において、タイミング管理部522は、取得した電源状態が起動処理中もしくはシャットダウン処理中であるか否かを判定する。判定の結果、起動処理中もしくはシャットダウン処理中であった場合は、ステップ704に進む。一方、起動処理中でもシャットダウン処理中でもなかった場合(すなわち、通常動作状態であった場合)は、ステップ703に進む。
ステップ703において、タイミング管理部522は、ステップ601で取得した設定値情報をサーバ110に送信することが可能な状態である旨を制御部521に通知し、本フローを終了する。
ステップ704において、タイミング管理手段522は、ステップ601で取得した設定値情報をサーバ110に送信することが不可能な状態である旨を制御部521に通知し、本フローを終了する。
以上が、送信可否判定処理の内容である。
次に、クライアントとしての複合機から設定値情報の登録や更新等のリクエストがあった場合に、サーバ110側で実行される処理について説明する。
図9は、サーバ110で動作する、クライアントの同期管理を行なうサーバとしての機能を実現するためのアプリケーション(以下、サーバアプリケーション)の構成要素を示す機能ブロック図である。このサーバアプリケーション900は、HDD205又はROM206に記憶され、RAM204に展開されてCPU203が実行することで実現される。サーバアプリケーション900は、設定値同期管理部910と通信制御部920とで構成される。以下、各部について説明する。
設定値同期管理部910は、サーバ110が有するマスターデータ401のうち、共通設定値DB411及び個別設定値DB413の同期管理を行なう。個別設定値DB413は、サーバ110との間で設定値の同期を行うクライアント(ここでは複合機)の数だけ存在する。図1で例示した印刷システムの構成においては、複合機121と複合機122とがサーバ110における同期管理対象となっているので、複合機121に対応する個別設定値DB413aと複合機122に対応する個別設定値DB413bとが存在している。設定値同期管理部910が管理する共通設定値DB411及び個別設定値DB413a及び413bは、HDD205などに保存される。設定値同期管理部910は、通信制御部920が設定値情報と共に登録や更新のリクエストを複合機121/122から受信すると、管理下にある共通設定値DB411及び個別設定値DB413a/413bに対し当該リクエストの内容を反映する。また、設定値同期管理部910は、通信制御部920が後述する設定値差分情報の取得要求を複合機121/122から受信した場合に、複合機121/122に対して送信する設定値差分情報を作成する。
通信制御部920は、複合機121/122との間で設定値を同期させるための通信処理の制御を行う。通信制御部920は、通信制御部920内の制御を行う制御部921と、通信処理を行う通信処理部922とから構成される。制御部921は、通信処理部922が複合機121/122から設定値情報と共に登録要求や更新要求を受信すると、設定値同期管理部910に対し設定値情報の登録或いは更新を指示する。また、制御部921は、通信処理部922が複合機121/122から設定値差分情報の取得要求を受信すると、設定値同期管理部910から当該取得要求に係る複合機の設定値差分情報を取得し、要求のあった複合機への設定値差分情報の送信を通信処理部922に指示する。当該指示を受けて通信処理部922は、取得要求のあった複合機との通信処理を実行する。
図10は、サーバにおける設定値同期処理(クライアントとしての複合機との間で各種設定値を同期させる処理)の実行手順を示すフローチャートである。
ステップ1001において、通信制御部920は、複合機からリクエストを受信したか否かを判定する。受信しない間は、リクエストを受信するまで待機する。一方、リクエストを受信していたら、ステップ1002に進む。
ステップ1002において、通信制御部920は、受信したリクエストの内容を解析する。ステップ1003〜1007では、解析結果に基づいた処理の切り分けがなされる。すなわち、受信したリクエストが「設定値登録要求(Create要求)」、「全設定値取得要求(全Get要求)」、「設定値更新要求(Update要求)」、「設定値差分取得要求(差分Get要求)」、「その他の要求」のいずれに該当するかが判定され、判定結果に応じた処理が実行される。いずれの種類の要求にも該当しない場合は、不正なリクエストとしてエラー処理を実行し(ステップ1023)、クライアントへのレスポンス(ステップ1024)に移行する。
ステップ1003において、通信制御部920は、受信したリクエストが設定値登録要求であるかを判定する。リクエストが設定値登録要求の場合は、ステップ1008へ進む。一方、リクエストが設定値登録要求でない場合は、ステップ1004へ進む。
ステップ1008において、通信制御部920は、リクエストと共に送信された設定値情報の中から注目する設定値(注目設定値)を決定し、個別設定値DB413への当該注目設定値の登録を設定値同期管理部910に指示する。
ステップ1009において、設定値同期管理部910は、注目設定値の情報が、登録リクエストを行なった複合機に対応する個別設定値DB413内に存在するか否かを判定する。判定の結果、登録リクエストを行なった複合機に対応する個別設定値DB413内に注目設定値の情報が既に存在する場合は、当該登録要求に係る注目設定値の登録を行わないので、ステップ1013に進む。一方、登録リクエストを行なった複合機に対応する個別設定値DB413内に注目設定値の情報が存在しない場合は、ステップ1010に進む。
ステップ1010において、設定値同期管理部910は、注目設定値が共通設定値であるのか個別設定値であるのかを、設定値メタ情報DB410を参照して判定する。具体的には、注目設定値の同期対象が“共通可”であるのか、それとも“個別のみ”であるかを判定する。判定の結果、“共通可”である場合は、ステップ1011に進む。一方、“個別のみ”である場合は、ステップ1012へ進む。
ステップ1011では、設定値同期管理部910は、共通設定値DB411から当該注目設定値の値を取得する。
ステップ1012において、設定値同期管理部910は、同期対象が“個別のみ”であった場合は注目設定値の値を、同期対象が“共通可”であった場合はステップ1011で取得した値を、個別設定値DB413内にそのキー識別子と共に登録する。具体的には、前述の共通設定値DB411或いは個別設定値DB413のレコードに当該注目設定値を追加(表Bや表Cに行を追加)する。
ステップ1013において、設定値同期管理部910は、リクエストと共に送信された設定値情報の中に未処理の設定値があるか否かを判定する。すべての設定値について登録処理が完了した場合は、ステップ1024へ進む。一方、未処理の設定値が存在する場合は、ステップ1008に戻って次の設定値を注目設定値に決定して処理を続行する。
以上が、リクエストが設定値登録要求であった場合の処理である。
一方、ステップ1003での判定結果がNoであった場合、ステップ1004において、設定値同期管理部910は、受信したリクエストが全設定値取得要求であるかを判定する。リクエストが全設定値取得要求の場合は、ステップ1014へ進む。一方、リクエストが全設定値取得要求でない場合は、ステップ1005へ進む。
ステップ1014において、設定値同期管理部910は、リクエストを行なった複合機の個別設定値DB413から全設定値の情報を取得し、ステップ1024へ進む。以上が、リクエストが全設定値取得要求であった場合の処理である。
一方、ステップ1004での判定結果がNoであった場合、ステップ1005において、設定値同期管理部910は、受信したリクエストが設定値更新要求であるかを判定する。リクエストが設定値更新要求の場合は、ステップ1015へ進む。一方、リクエストが設定値更新要求でない場合は、ステップ1006へ進む。
ステップ1015において、通信制御部920は、リクエストと共に送信された設定値情報の中から注目する設定値(注目設定値)を決定し、個別設定値DB413への当該注目設定値の更新を設定値同期管理部910に指示する。
ステップ1016において、設定値同期管理部910は、注目設定値の値を個別設定値DB413に反映させて、設定値を更新する。具体的には、前述の共通設定値DB411或いは個別設定値DB413内に既に存在する当該注目設定値のレコードの値を更新(表Bや表Cにおける行の値を更新)する。
ステップ1017において、設定値同期管理部910は、注目設定値が共通設定値であるのか個別設定値であるのかを、設定値メタ情報DB410を参照して判定する。具体的には、注目設定値の同期対象が“共通可”であるのか、それとも“個別のみ”であるかを判定する。判定の結果、“共通可”である場合は、ステップ1018に進む。一方、“個別のみ”である場合は、ステップ1020へ進む。
ステップ1018において、設定値同期管理部910は、共通設定値DB411に注目設定値の値を反映させて、設定値を更新する。さらに、ステップ1019へ進み、他複合機(当該更新リクエストを行なっていない複合機)の個別設定値DB413へも注目設定値の値を反映させて、設定値を更新する。
ステップ1020において、設定値同期管理部910は、リクエストと共に送信された設定値情報の中に未処理の設定値があるか否かを判定する。すべての設定値について更新処理が完了している場合は、ステップ1024へ進む。一方、未処理の設定値が存在する場合は、ステップ1015に戻って次の設定値を注目設定値に決定して処理を続行する。
以上が、リクエストが設定値更新要求であった場合の処理である。
一方、ステップ1005での判定結果がNoであった場合、ステップ1006において、設定値同期管理部910は、受信したリクエストが設定値差分取得要求であるかを判定する。リクエストが設定値差分取得要求の場合は、ステップ1021へ進む。一方、リクエストが設定値差分取得要求でない場合は、ステップ1007へ進む。
ステップ1021において、設定値同期管理部910は、リクエストを行なった複合機の個別設定値DB413から、前回レスポンスした時以降に変更があった設定値の値(設定値差分)を取得し、ステップ1024へ進む。以上が、リクエストが設定値差分取得要求であった場合の処理である。
一方、ステップ1006での判定結果がNoであった場合、ステップ1007において、設定値同期管理部910は、受信したリクエストが、その他の規定の要求(例えば、Delete要求)であるかを判定する。リクエストがその他の要求である場合は、ステップ1022へ進み、当該その他の要求に対応する処理を実行し、ステップ1024へ進む。一方、リクエストがその他の規定の要求に該当しない場合は、不正なリクエストであるとしてエラー処理を行なって(ステップ1023)、ステップ1024へ進む。
ステップ1024において、通信制御部920は、管理下にあるクライアント(ここでは複合機)に対し、リクエストに応じた所定のレスポンスを行なう。
以上が、サーバ110における設定値同期処理の内容である。このような処理により、複合機121/122で更新されたクライアント設定値をサーバ110内のデータベースに登録・反映させたり、複合機121/122がサーバ110から設定値を取得したりすることが可能となる。
例えば、クライアントとしての複合機が設定値登録のリクエストを行なったとすれば(前述の図6のフローのステップ607を参照)、当該リクエストを受信したサーバでは、上述のステップ1008以降の処理を実行することになる。また、クライアントとしての複合機が設定値更新のリクエストを行なったとすれば、当該リクエストを受信したサーバでは、上述のステップ1015以降の処理を実行することになる。さらに、クライアントとしての複合機が全設定値取得や設定値差分取得のリクエストを行なった場合は、上述のステップ1024でレスポンスされた設定値情報を受信したクライアントにおいて、設定値管理部510によってその内容が設定値DB511に反映されることになる。
ここで、クライアントが初期接続処理を行う場面においては、まずクライアントからサーバへ設定値登録要求が送信され、続いて、クライアントからサーバへ全設定値取得要求が送信されることになる。この初期接続処理時に生じる本願における課題について、改めて詳しく説明する。
サーバ機能を搭載した、サーバの役割を兼任するクライアントデバイス(以下、「兼任デバイス」と呼ぶ。)にて、ユーザがクライアント設定値であるIPアドレス(クライアントIPアドレス)を、例えば「アドレスA」から「アドレスB」へ変更したとする。すると、サーバとクライアントとが物理的に同一の装置であるため、サーバ設定値であるIPアドレスも「アドレスB」へと変更になる。その結果、この兼任デバイスと同期していた各クライアント(兼任デバイスの同期管理下にある全てのクライアント。クライアントとしての兼任デバイス自身を含む)において、例えば設定値更新のリクエストを兼任デバイスに送信しようとしても、接続先サーバアドレスは「アドレスA」のままであるため、当該更新リクエストが兼任デバイスへ到達せず、兼任デバイスとの同期ができなくなってしまう。このように兼任デバイスへの接続に失敗した場合、各クライアントを使用するユーザは、接続先サーバアドレスの値を上記変更後のアドレス(アドレスB)へと変更(再設定)した上で、兼任デバイスへの再接続を試みることになる。この段階では、再設定された接続先サーバアドレス(アドレスB)への初めての接続となるため、初期接続処理が必要となる。前述の通り、初期接続処理においては、最初に、兼任サーバに対して全設定値登録のリクエストを行なう。このとき登録リクエストと共に送信される全設定値情報には接続先サーバアドレスの情報も含まれ、この段階でその内容は再設定後の「アドレスB」となっている。この全設定値登録のリクエストを受信した兼任デバイスでは、要求された全設定値について登録済みであるとの判定(すべての注目設定値についてのステップ1009の判定でYes)がなされ、当該全設定値登録のリクエストに基づく登録処理は行なわれない。つまり、初期接続処理を行なったクライアントに対応する個別設定値DB413の内容は変更されないまま、全設定値登録リクエストに対する処理が正常に終了した旨のレスポンス(ステップ1024)がなされることになる。その結果、当該初期接続処理を行なったクライアントに対応する個別設定値DB413内の接続先サーバアドレスの値は「アドレスA」のまま、初期接続処理が正常に終了することとなる。続いて、クライアントは、初期接続処理において、兼任デバイスへ全設定値取得のリクエストを送信し、当該取得リクエストを受信した兼任デバイスでは、全設定値取得の要求を行なったクライアントの個別設定値DB413内の全設定値の情報を取得し、レスポンス(ステップ1024)を行なう。この時、レスポンスされた設定値情報の中に存在する接続先サーバアドレスの内容は「アドレスA」である。
このように、兼任デバイスにおけるIPアドレスの変更に伴って、ユーザがクライアント上で接続先サーバアドレスを変更したとしても、その登録リクエストが兼任デバイスにおいて受け付けられず、再び変更前の状態へと戻ってしまうという問題が発生する。
以下では、本実施例に係る、上述した課題を解決する手法について詳しく説明する。
図11は、本実施例の手法における、サーバとクライアントを兼任する情報処理装置(ここでは複合機)で管理されるマスターデータの構成例を表すブロック図であり、前述の図4に対応する。図11に示すマスターデータ1100は、図4で示した構成(設定値メタ情報DB410、共通設定値DB411、登録クライアント管理DB412、個別設定値DB413、クライアント構成情報DB414、ユーザ情報DB415及びユーザ設定値DB416)に加え、共有設定値DB417を有している。表Jは、共有設定値DB内に格納される設定値情報の一例であり、ここではIPアドレスが示されている。すなわち、当該IPアドレスは、クライアント設定値としてのIPアドレスであり、同時にサーバ設定値としてのIPアドレスでもある。
なお、本実施例では、共有設定値の情報を上述のようなデータベースとして保存・管理する構成としているがこのような構成に限定されるものではない。例えばファイルデータなど、参照可能な態様で保存・管理されていればよい。
図12は、本実施例に係る、サーバとクライアントの機能を併有する情報処理装置上で動作する、クライアントの同期管理を行なうサーバとしての機能を実現するためのサーバアプリケーションの構成要素を示す機能ブロック図であり、前述の図9に対応する。このサーバアプリケーション1200は、前述のサーバアプリケーション900と同様、HDD205又はROM206に記憶され、RAM204に展開されてCPU203が実行することで実現される。図12に示すサーバアプリケーション1200は、設定値同期管理部1210と通信制御部1220とで構成され、その基本的な構成は、前述のサーバアプリケーション900と同じである。設定値同期管理部1210によって管理されるデータベースとして、上述の共有設定値DB417が追加されている点で、図9に示すサーバアプリケーション900とは異なっている。
ネットワーク上の特定のクライアントがサーバ機能を併有する構成においては、クライアントとサーバとが同一装置上に存在する。すなわち、図5で示すクライアントアプリケーション500と、図12で示すサーバアプリケーション1200とが1つの装置上にインストールされる。そのため、クライアントアプリケーション500上の設定値管理部510と、サーバアプリケーション1200上の設定値同期管理部1210とは、直接にデータのやり取りが可能である。
本実施例では上記課題を解決するための手法として、サーバを兼任するクライアントデバイス(兼任デバイス)において、共有設定値DB内417に格納されている設定値が変更されると、当該変更された設定値に同期管理を行なう上で関連する設定値を同時に変更することとしている。例えば、前述の表Jで示されるIPアドレス(キー識別子“setting.ip_address”)の値が変更された場合、個別設定値DB413内に格納されている接続先サーバアドレス(キー識別子“settings.serer_address”)の値が、変更後のIPアドレスと同一の値に変更されることになる。
図13は、兼任デバイスで共有設定値が変更された際に、サーバ管理下の各クライアントにおける関連する設定値を併せて変更する処理のフローチャートである。この処理は、上述のサーバアプリケーション1200によって実行され、前述の図10のフローで示した設定値同期処理とは別個独立の処理として実行される。
ステップ1301は、共有設定値に対する変更の有無を監視するステップである。共有設定値DB417内に格納されている設定値に対する変更がなされたことの検知は、例えば以下のようにしてなされる。
最初に、兼任デバイスの起動時に、共有設定値DB417内に格納されているキー識別子と同じキー識別子について値の変更があった場合は自己に通知するよう、設定値同期管理部1210が設定値管理部510に依頼しておく。これにより、クライアントアプリケーション500の設定値管理部510は、自己の管理下にある設定値DB511内の該当キー識別子に変更があると、サーバアプリケーション1200の設定値同期管理部1210に対し、依頼のあったキー識別子に対する値の変更が発生したことを変更後の値(例えば変更後のIPアドレス値)と共に通知する。このような方式をコールバック方式と呼ぶ。このような方法によって共有設定値の変更が検知された場合、ステップ1302へ進む。
ステップ1302において、設定値同期管理部1210は、自己の管理下にある各データベース(共通設定値DB411、個別設定値DB413及び共有設定値DB417)内に格納されている、上記共有設定値に同期管理の上で関連する設定値を、ステップ1301で受信した変更後の値に変更する。これにより、例えば自デバイスのIPアドレスが変更された場合、全クライアントの個別設定値DB413内の接続先サーバアドレスの値を、変更後のIPアドレスの値に変更することができる。
以上が、サーバ機能を併有するクライアントデバイスで共有設定値が変更された際に、同期管理に関連する各クライアントの設定値を併せて変更する処理の内容である。
上述の例では、いわゆるコールバック方式で共有設定値の変更の有無を検知し、その通知を受けて、当該変更された設定値の関連設定値を変更する態様について説明したが、本実施例はこのような方法に限定されない。以下に、上記とは異なる方法で共有設定値の変更の有無を検知し、その関連設定値を適宜変更する態様について説明する。
まず、設定値同期管理部1210が、共有設定値DB417内の特定のキー識別子(例えばIPアドレスのキー識別子“setting.ip_address”)の値を渡すよう、特定のタイミング(例えば、サーバ起動時や定期ポーリングなど)で設定値管理部510に依頼する。依頼を受けた設定値管理部510は、自己の管理下にある設定値DB511内の該当キー識別子の値を、設定値同期管理部1210に返す。キー識別子の値を受け取った設定値同期管理部1210は、当該キー識別子について、共有設定値DB417内の値と受け取った値とを比較し、両者に違いがあれば、関連キー識別子(この場合“settings.serer_address”)の値を受け取った値に変更する。そして、共有設定値DB417内の該当キー識別子(ここでは“setting.ip_address”)の値も当該受け取った値に変更する。このような方法によっても、共有設定値に対してなされた変更を検知して、同期管理に関連する各クライアントの設定値を適宜変更することができる。
このような処理により、サーバ機能を併有するクライアントである兼任デバイスにおいて、例えば自デバイスのIPアドレスの値が変更された時に、同期管理の対象となる全クライアントの接続先サーバアドレスの値を同時に変更することができる。その結果、クライアント側でユーザが接続先サーバアドレスの値を再設定した際に行う初期接続処理において、再設定後の接続先サーバアドレスの値が再設定前の接続先サーバアドレスの値に戻されることがない。つまり、兼任デバイスにおけるIPアドレスの変更時に、同期管理の対象である各クライアントがサーバへ接続できなくなるという問題が発生しない。
共有設定値変更の例として、IPアドレスの値が変更された場合について説明したが、例えば「ホスト名」が変更された場合は、IPアドレスが変更された場合と同様、関連する設定値として接続先サーバアドレスが変更されることになる。ホスト名もIPアドレスと同様、ネットワーク上の兼任デバイスを識別・特定するためのものであり、同じ役割を果たすためである。
上述した処理によって、兼任デバイスにおける共有設定値の変更に伴って、兼任サーバの管理下にあるデータベース上の各クライアントの設定値が変更されると、以下のようにして、その内容が各クライアント内の設定値DB511に反映される。以下、簡単に説明する。
まず、各クライアントデバイスにおけるクライアントアプリケーション500の通信制御部520が、タイミング管理部522によって管理される所定のタイミングで、設定値差分情報の取得リクエストを兼任デバイスに対して送信する。この際、兼任デバイスにおいて当該取得リクエストに係る設定値の差分を特定するために必要な情報として、前回設定値差分情報の取得リクエストを行なった時刻の情報が、今回の設定値差分情報取得リクエストに含まれることになる。そして、当該取得リクエストに対するレスポンスとして兼任デバイスから送信された設定値差分情報を受信すると、通信制御部520は、設定値管理部510を介して受信した設定値差分情報に基づく更新の内容を、設定値DB511内の設定値に反映させる。
このようにして、兼任デバイスにおける共有設定値DB417内の値の変更に伴って更新された個別設定値DB413の内容が、各クライアントで使用する設定値に反映される。
[実施例2]
次に、本願の課題を解決する手法として、IPアドレスやホスト名など操作部に表示されるUI画面上で共有設定値が変更される場合の態様について実施例2として説明する。本実施例においても、サーバとクライアントの両方の機能を有する情報処理装置において共有設定値が変更されることをその前提としている。なお、実施例1と共通する部分については説明を省略ないしは簡略化し、以下では差異点を中心に説明するものとする。
図14は、本実施例に係る、クライアントしての複合機上で設定値(クライアント設定値)が変更された際の、クライアントアプリケーションにおける処理の流れを示すフローチャートである。また、図15は、ユーザがIPアドレスを変更する際に使用するユーザインタフェース画面(UI画面)の一例を示す図である。以下、図14及び図15を参照して説明する。
図15に示すUI画面1500内のIPアドレス入力欄1501に新たな値が入力されるなどして、設定値が変更されると、ステップ1401において、設定値管理部510は、自デバイスにサーバ機能(それを実現するためのサーバアプリケーション)が搭載されているか否かを判定する。この判定は、例えば以下の1)〜3)のような方法でなされる。
1)「接続先サーバアドレス」の値と自デバイスの「IPアドレス」の値とをチェックし、両者が同じ値であれば、自デバイスにサーバ機能が搭載されていると判定。
2)「接続先サーバアドレス」の値が、いわゆるループバックアドレス(ネットワーク上で自分自身を示す仮想的なIPアドレス)の値である場合、自デバイスにサーバ機能が搭載されていると判定。
3)自デバイスにサーバアプリケーション起動時に生成するファイルが存在する場合、自デバイスにサーバ機能が搭載されていると判定。
上述したような方法によって自デバイスにサーバ機能が搭載されていないと判定された場合(自デバイスが兼任デバイスでない場合)は、ステップ1402へ進む。一方、自デバイスにサーバ機能が搭載されていると判定された場合(自デバイスが兼任デバイスである場合)は、ステップ1404へ進む。
ステップ1402において、設定値管理部510は、変更された設定値が自デバイスの操作部に表示されたUI画面(図15に示したようなUI画面)上の設定値か否かを判定する。変更された設定値がUI画面上の設定値である場合は、ステップ1403へ進む。一方、変更された設定値がUI画面上の設定値でない場合は、本処理を終了する。
ステップ1403において、設定値管理部510は、UI画面上で変更された設定値を実設定値へと反映させる。例えば、ユーザが、上述のUI画面1500上のIPアドレス入力欄の値を“172.24.147.51”から“172.24.9.110”へと変更していた場合、実際にデバイスが使用する実IPアドレス(設定値DB511内に登録されているIPアドレス)を、変更後の値“172.24.9.110”に更新する。
一方、自デバイスにサーバ機能が搭載されていると判定された場合のステップ1404において、設定値管理部510は、変更された設定値が、前述の「共有設定値」であるか否かを判定する。共有設定値か否かの判定は、例えばデバイスの起動時にサーバアプリケーション1200によって共有設定値の情報を自デバイスへ登録してもよいし、自デバイス内のHDD305等で予め共有設定値の情報を保持しておいても良い。変更された設定値が共有設定値である場合は、ステップ1405へと進む。一方、変更された設定値が共有設定値でない場合は、ステップ1406へ進む。
ステップ1405において、設定値管理部510は、自デバイス内で動作中のサーバアプリケーション1200の設定値同期管理部1210に対し、共有設定値が変更された旨を通知する。
ステップ1406において、設定値管理部510は、上述のステップ1403と同様、変更された設定値が、自デバイスの操作部に表示されたUI画面上の設定値か否かを判定する。変更された設定値がUI画面上の設定値である場合は、ステップ1407へ進む。変更された設定値がUI画面上の設定値でない場合は、本処理を終了する。
ステップ1407において、設定値管理部510は、変更された設定値が、自デバイスの操作部に表示されたUI画面上のIPアドレス値(ここでは、UI画面1500のIPアドレス入力欄1501の値)であるか否かを判定する。変更された設定値がUI画面上のIPアドレス値である場合は、実設定値を変更することなく、本処理を終了する。このように、兼任デバイスのUI画面においてIPアドレスが変更された段階では実設定値を変更しないことにより、当該兼任デバイスに同期している他のクライアント(複合機)は、兼任デバイスのUI画面上でユーザがIPアドレスを変更後も、当該兼任デバイスに同期することが可能となる。一方、変更されたデバイス設定値がUI画面上のIPアドレス値でない場合は、ステップ1408へ進む。なお、ここではIPアドレスとしているが、同様の役割を果たすホスト名であってもよい。
ステップ1408において、設定値管理部510は、自デバイスの操作部に表示されたUI画面上で変更された設定値を、実設定値へと反映する。すなわち、上述のステップ1403と同様、設定値DB511内に登録されている設定値を、当該変更後の値へと変更する。
以上が、本実施例に係る、クライアント(複合機)上で設定値が変更された際の、クライアントアプリケーションにおける処理の内容である。なお、本実施例では、兼任デバイス以外の複合機にて変更された設定値がUI画面上の設定値ではなかった場合に当該変更後の設定値を実設定値へ即時反映しているが、ユーザによって別途「設定反映ボタン(不図示)」が押下された時や、デバイスを再起動したタイミングで実設定値へ反映するようにしてもよい。
続いて、図14で示したクライアントアプリケーションにおけるフローにおいて、兼任デバイスでIPアドレスの変更が検知された際の、当該兼任デバイス上で動作するサーバアプリケーション1200における処理について、図16のフローチャートを参照しつつ説明する。このサーバアプリケーション1200における処理フローは、図10のフローとは独立に実行される。
ステップ1601において、設定値同期管理部1210は、共有設定値が変更された旨の通知を受け取ったか否かを判定する。この通知は、前述の図14のフローのステップ1405における変更通知である。変更の通知がない間は、通知があるまで待機する。共有設定値が変更された旨の通知があった場合、ステップ1602へ進む。
ステップ1602において、設定値同期管理部1210は、自己の管理下にある各データベース内に格納されている、上記変更された共有設定値に関連する設定値(関連設定値)の変更を行う。本ステップは、前述の図13のフローにおけるステップ1302と同様の処理である。本実施例では、自デバイスにおけるUI画面上のIPアドレスの値が変更された場合、全クライアントの個別設定値DB413上にある接続先サーバアドレスの値が、当該UI画面上の新たなIPアドレスの値に変更されることになる。
ステップ1603において、設定値同期管理部1210は、変更された共有設定値が自デバイスの操作部に表示されたUI画面上のIPアドレスの値か否かを判定する。変更された共有設定値がUI画面上のIPアドレスの値でない場合は、本フローを終了する。変更された共有設定値が自デバイスの操作部に表示されたUI画面上のIPアドレスの値である場合、ステップ1604へ進む。
ステップ1604において、通信制御部1220は、関連設定値の変更後、同期している全てのクライアントから、設定値取得のリクエストがあったか否かを判定する。具体的には、前述の「全設定値取得要求」または「設定値差分取得要求」のいずれかのリクエストがあれば、設定値取得のリクエストがあったと判定される。そして、設定値取得のリクエストがあると、ステップ1602で変更された「各クライアントの個別設定値DB413上にある接続先サーバアドレス」の値が取得され、各クライアントにレスポンスされる。そして、レスポンスを受けた各クライアントは、変更後の接続先サーバアドレスの値を取得して自己の設定値DB511の値を変更し、その後は当該変更後の接続先サーバアドレスに対して同期処理時のリクエストを行なうことになる。この時点では、兼任デバイスにおいて実IPアドレスが未変更であるため、各クライアントは変更後の接続先サーバアドレスで特定されるサーバが見つからず、接続エラーとなり、リクエストをリトライし続けることになる。
ステップ1605において、設定値同期管理部1210は、自デバイスの設定値DB511内に登録されている実IPアドレスの値を、自デバイスの操作部に表示されたUI画面上のIPアドレスの値へと変更するようクライアントアプリケーション500の設定値管理部510に依頼する。この依頼を受けた設定値管理部510によって、設定値DB511内の実IPアドレスの値が変更される。そして、本ステップで兼任デバイスの実IPアドレスが新たなIPアドレスに変更されたタイミングで、各クライアントの接続エラーが解消されることになる。
以上が、兼任デバイスでIPアドレスの変更が検知された際の、当該兼任デバイス上で動作するサーバアプリケーション1200における処理の内容である。
以上のとおり、本実施例によれば、兼任デバイスにおいてユーザがUI画面を介して自デバイスのIPアドレスを変更した際に、全クライアントの接続先サーバアドレスも併せて当該変更後のIPアドレスへと変更される。そして、当該変更後の接続先サーバアドレスの情報が全クライアントへと反映されるので、サーバとクライアント間の同期が維持される。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。

Claims (4)

  1. 複数のクライアントのそれぞれの設定値を管理するサーバとしての機能と、前記設定値の管理を受けるクライアントとしての機能とを併有する情報処理装置であって、
    ネットワーク設定に関する設定値であって前記サーバとしての機能と前記クライアントとしての機能とで同じ値を使用する第1の設定値、及び、当該第1の設定値に関連する設定値を含む前記各クライアントの第2の設定値をデータベースでそれぞれ管理する管理手段と、
    前記第1の設定値の変更の入力が行われた場合に、前記データベースで管理される前記各クライアントの第2の設定値に含まれる前記サーバとしての自装置への接続先を示す設定の設定値を、前記入力された変更後の値で、更新する更新手段と、
    前記各クライアントからの要求に応じて、前記更新された後の前記接続先を示す設定の設定値を送信する同期手段と、
    を有し、
    前記情報処理装置では、前記同期手段による各クライアントの要求に応じて前記更新された後の前記接続先を示す設定の設定値の送信が行われた後に、前記入力された変更後の値を、前記データベースで管理される前記第1の設定値に反映する
    ことを特徴とする情報処理装置。
  2. 前記第1の設定値は、IPアドレス又はホスト名であることを特徴とする請求項1に記載の情報処理装置。
  3. 複数のクライアントのそれぞれの設定値を管理するサーバとしての機能と、前記設定値の管理を受けるクライアントとしての機能とを併有する情報処理装置であって、ネットワーク設定に関する設定値であって前記サーバとしての機能と前記クライアントとしての機能とで同じ値を使用する第1の設定値、及び、当該第1の設定値に関連する設定値を含む前記各クライアントの第2の設定値をデータベースでそれぞれ管理する管理手段を備えた情報処理装置に、
    前記第1の設定値の変更の入力が行われた場合に、前記データベースで管理される前記各クライアントの第2の設定値に含まれる前記サーバとしての自装置への接続先を示す設定の設定値を、前記入力された変更後の値で、更新するステップと、
    前記各クライアントからの要求に応じて、前記更新がなされた後の前記接続先を示す設定の設定値を送信するステップと、
    各クライアントの要求に応じて前記更新がなされた後の前記接続先を示す設定の設定値の送信が行われた後に、前記入力された変更後の値を、前記データベースで管理される前記第1の設定値に反映するステップと、
    を実行させるためのアプリケーションプログラム。
  4. 前記第1の設定値は、IPアドレス又はホスト名であることを特徴とする請求項3に記載のアプリケーションプログラム。
JP2015066040A 2015-03-27 2015-03-27 情報処理装置、サーバクライアントシステム、情報処理装置の制御方法及びプログラム Active JP6576071B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015066040A JP6576071B2 (ja) 2015-03-27 2015-03-27 情報処理装置、サーバクライアントシステム、情報処理装置の制御方法及びプログラム
US15/074,292 US10194003B2 (en) 2015-03-27 2016-03-18 Information processing apparatus, server-client system, control method of information processing apparatus, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015066040A JP6576071B2 (ja) 2015-03-27 2015-03-27 情報処理装置、サーバクライアントシステム、情報処理装置の制御方法及びプログラム

Publications (3)

Publication Number Publication Date
JP2016185635A JP2016185635A (ja) 2016-10-27
JP2016185635A5 JP2016185635A5 (ja) 2018-04-12
JP6576071B2 true JP6576071B2 (ja) 2019-09-18

Family

ID=56976037

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015066040A Active JP6576071B2 (ja) 2015-03-27 2015-03-27 情報処理装置、サーバクライアントシステム、情報処理装置の制御方法及びプログラム

Country Status (2)

Country Link
US (1) US10194003B2 (ja)
JP (1) JP6576071B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3206334B1 (en) * 2014-11-06 2019-09-11 Huawei Technologies Co., Ltd. Information sending method, managed system, and managing system
JP6511946B2 (ja) * 2015-05-11 2019-05-15 富士ゼロックス株式会社 情報処理システム、情報処理装置及び情報処理プログラム
JP6784163B2 (ja) * 2016-12-14 2020-11-11 コニカミノルタ株式会社 電子機器設定装置およびプログラム
JP7109903B2 (ja) * 2017-11-02 2022-08-01 キヤノン株式会社 情報処理装置及びその制御方法、並びにプログラム
JP7024602B2 (ja) * 2018-05-23 2022-02-24 コニカミノルタ株式会社 画像処理装置、ネットワーク接続方法およびネットワーク接続プログラム
CN110177399A (zh) * 2019-04-30 2019-08-27 深圳市鹰硕技术有限公司 一种同屏网络连接方法、装置、智能设备及存储介质
JP2022167508A (ja) * 2021-04-23 2022-11-04 京セラドキュメントソリューションズ株式会社 情報処理装置、設定ツールプログラム及び情報処理システム
WO2024143744A1 (ko) * 2022-12-30 2024-07-04 주식회사 스텔스솔루션 네트워크 주소 변이 기반 암호화 통신 시스템 및 방법

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3369930B2 (ja) 1997-10-15 2003-01-20 富士ゼロックス株式会社 印刷処理システムおよび印刷処理方法
JP4087271B2 (ja) * 2003-03-19 2008-05-21 株式会社日立製作所 代理応答装置およびネットワークシステム
JP2008287674A (ja) * 2007-05-21 2008-11-27 Olympus Corp 情報処理装置、クライアント装置、情報処理システム及びサービス接続方法
JP2009070293A (ja) * 2007-09-14 2009-04-02 Ricoh Co Ltd 画像形成装置、情報同期システム、情報設定方法
JP4780156B2 (ja) * 2008-08-07 2011-09-28 コニカミノルタビジネステクノロジーズ株式会社 情報処理装置、情報処理方法、情報処理プログラム、および情報処理プログラムを記録したコンピュータ読み取り可能な記録媒体
JP5123800B2 (ja) * 2008-09-16 2013-01-23 株式会社リコー 情報処理装置、情報処理方法及びプログラム
JP5268589B2 (ja) * 2008-11-25 2013-08-21 株式会社日立製作所 情報処理装置及び情報処理装置の運用方法
JP2011060001A (ja) * 2009-09-10 2011-03-24 Canon Inc ネットワーク印刷システム
JP5585062B2 (ja) * 2009-12-04 2014-09-10 ソニー株式会社 情報処理装置、情報処理方法、データ管理サーバおよびデータ同期システム
KR101614387B1 (ko) * 2009-12-09 2016-04-21 삼성전자 주식회사 화상형성장치와 연결되는 호스트장치 및 설정정보 관리방법
JP4962595B2 (ja) * 2010-04-22 2012-06-27 ブラザー工業株式会社 情報処理プログラム、情報処理装置、および情報処理システム
JP5893378B2 (ja) 2011-12-12 2016-03-23 キヤノン株式会社 情報処理システム、管理装置、管理方法およびコンピュータプログラム
JP6574558B2 (ja) * 2014-10-14 2019-09-11 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及びプログラム
EP3070619B1 (en) * 2015-03-16 2023-08-16 Canon Kabushiki Kaisha Information processing apparatuses performing synchronization of data and data synchronization methods
US9723168B2 (en) * 2015-03-19 2017-08-01 Ricoh Company, Ltd. Information processing apparatus, information processing system, and computer program product

Also Published As

Publication number Publication date
US10194003B2 (en) 2019-01-29
US20160285696A1 (en) 2016-09-29
JP2016185635A (ja) 2016-10-27

Similar Documents

Publication Publication Date Title
JP6576071B2 (ja) 情報処理装置、サーバクライアントシステム、情報処理装置の制御方法及びプログラム
JP6289095B2 (ja) 管理システム、管理システムにおける制御方法およびそのプログラム
US8988712B2 (en) Setting value management system, setting value management method, setting value management service apparatus, image forming apparatus, and computer-readable medium
JP6355330B2 (ja) ネットワークデバイス、ネットワークデバイスの制御方法およびそのプログラム
JP6376935B2 (ja) ネットワークデバイス、ネットワークデバイスの制御方法およびそのプログラム
US20180183965A1 (en) Information processing apparatus, method for controlling information processing apparatus, image forming apparatus, method for controlling image forming apparatus, and information processing system
US9063686B2 (en) Distributing setting values from a client device to an image forming apparatus
US20160165077A1 (en) Information processing apparatus, management apparatus, method of controlling information processing apparatus, method of controlling management apparatus, and storage medium
US11029899B2 (en) Maintenance system including information processing device that performs maintenance operation on image forming device
US20160006709A1 (en) System and control method thereof
JP7218141B2 (ja) 通信システム、および画像形成装置
JP6442230B2 (ja) 情報処理装置、同期制御方法、及びプログラム
US8838790B2 (en) Configuration value management apparatus and management method
JP7179487B2 (ja) サーバ装置、制御方法及びプログラム
JP2014127783A (ja) 情報処理装置の管理システム、情報処理装置、情報処理装置の制御方法、及びプログラム
JP2018060414A (ja) データ管理システム、データ管理装置、方法、およびプログラム
JP6639363B2 (ja) サーバ装置、情報処理方法及びプログラム
JP2016032119A (ja) 情報処理装置、管理システム、情報処理装置の制御方法、管理システムの制御方法、及びプログラム
JP2015142368A (ja) 管理装置および管理方法
JP6652297B2 (ja) 情報処理装置及びその制御方法、プログラム
JP6605077B2 (ja) 情報処理装置、情報処理装置の制御方法およびそのプログラム
JP2016081161A (ja) 管理装置管理装置の制御方法、及びプログラム
US10645236B2 (en) Information processing apparatus and control method for synchronizing setting information
JP2007328773A (ja) アプリケーション管理装置及びアプリケーション管理方法
JP2007258892A (ja) 複合機ユニット及びそのデータ同期方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180301

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180301

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20181128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181211

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190204

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190820

R151 Written notification of patent or utility model registration

Ref document number: 6576071

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151