(57)【要約】【課題】予め定められた手順でクライアントの情報を変更させる場合、自動的にクライアントの情報を変更する方法を提供することを課題とする。【解決手段】クライアントC1〜CnがサーバS1へアクセスしてサーバS1が記憶する第１のジョブを取得し、これを実行してクライアントC1〜Cnの現在情報をサーバS1へ送信する。サーバS1は現在情報と指定情報とを比較し、現在情報が指定情報と異なるとき、指定情報の全部又は一部を組み込んで第２のジョブを生成して、クライアントC1〜Cnに送信する。そして、クライアントC1〜Cnは第２のジョブを実行して、その現在情報と指定情報に変更する。【選択図】  図１
2008027119.tif 000002
【特許請求の範囲】
【請求項１】
クライアントの現在情報を取得するための第１のジョブが記憶されている第１の記憶手段と、前記クライアントの指定情報が記憶されている第２の記憶手段と、を備えるサーバがネットワークを介して接続されるクライアントをメンテナンスするメンテナンス方法であって、
前記クライアントは、前記サーバへアクセスして前記第１のジョブを取得し、これを実行して前記クライアントの現在情報を前記サーバへ送信し、
該現在情報を受信した前記サーバは、
前記現在情報と前記指定情報とを比較し、
前記現在情報が前記指定情報と異なるとき、前記指定情報の全部又は一部を組み込んで第２のジョブを生成して、これを前記クライアントに送信し、
該第２のジョブを受信した前記クライアントは、前記第２のジョブを実行して、前記クライアントの前記現在情報を前記指定情報に変更する、
ことを特徴とするメンテナンス方法。
【請求項２】
前記クライアントが前記サーバから前記第１のジョブを取得した後、前記サーバが前記クライアントから前記現在情報を受信しなかったとき、前記サーバは前記第１のジョブを前記クライアントに送信する、
ことを特徴とする請求項１に記載のメンテナンス方法。
【請求項３】
クライアントの現在情報を取得するための第１のジョブが記憶されている第１の記憶手段と、前記クライアントの指定情報が記憶されている第２の記憶手段と、を備えるサーバがネットワークを介して接続されるクライアントをメンテナンスするメンテナンスシステムであって、
前記クライアントは、前記サーバへアクセスして前記第１のジョブを取得し、これを実行して前記クライアントの現在情報を前記サーバへ送信し、
該現在情報を受信した前記サーバは、
前記現在情報と前記指定情報とを比較し、
前記現在情報が前記指定情報と異なるとき、前記指定情報の全部又は一部を組み込んで第２のジョブを生成して、これを前記クライアントに送信し、
該第２のジョブを受信した前記クライアントは、前記第２のジョブを実行して、前記クライアントの前記現在情報を前記指定情報に変更する、
ことを特徴とするメンテナンスシステム。
【請求項４】
前記クライアントが前記サーバから前記第１のジョブを取得した後、前記サーバが前記クライアントから前記現在情報を受信しなかったとき、前記サーバは前記第１のジョブを前記クライアントに送信する、
ことを特徴とする請求項１に記載のメンテナンスシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はメンテナンス方法に関する。詳しくは、サーバに接続されたクライアントの情報を変更するメンテナンス方法及びメンテナンスシステムに関する。
【背景技術】
【０００２】
ネットワーク上に複数のクライアントが接続されている場合、それらのクライアントを効率良く運用するためにサーバが設置される。このサーバはネットワークを介して複数のクライアントに接続されて、それらのクライアントを管理する。
特許文献１にはクライアントとしてのプリンタから印刷ジョブを受信したプリントサーバが、その印刷ジョブの内容を解析し、印刷に使用されたプリンタドライバのバージョンを特定する。プリントサーバはこのバージョンよりも新しいバージョンのドライバがウェブサーバに存在するか否かを判定し、新しいバージョンのドライバが存在するときはクライアントへ配信する。
【０００３】
【特許文献１】特開２００３−１５０３４２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記システムでは特定のクライアントの情報（プリンタドライバのバージョン情報）に対してのみの変更ができる。しかし、クライアントの保持する情報は多種多様であり、変更すべき情報が増えつつある。そのため、クライアントのメンテナンスが手間のかかるものとなっていた。
一方、メンテナンスに際し、変更すべき情報の中にはその更新の手順が予め定められたものがある。この手順を自動化することができれば、オペレータは手間をかけずにクライアント情報を変更することができる。
そこで、本発明は、予め定められた手順でクライアントの情報を変更させる場合、自動的にクライアントの情報を変更する方法を提供することを解決すべき課題とする。
【課題を解決するための手段】
【０００５】
この発明は上記課題を解決すべくなされたものであり、その第１の方法は次のように規定される。
クライアントの現在情報を取得するための第１のジョブが記憶されている第１の記憶手段と、前記クライアントの指定情報が記憶されている第２の記憶手段と、を備えるサーバがネットワークを介して接続されるクライアントをメンテナンスするメンテナンス方法であって、前記クライアントは、前記サーバへアクセスして前記第１のジョブを取得し、これを実行して前記クライアントの現在情報を前記サーバへ送信し、該現在情報を受信した前記サーバは、前記現在情報と前記指定情報とを比較し、前記現在情報が前記指定情報と異なるとき、前記指定情報の全部又は一部を組み込んで第２のジョブを生成して、これを前記クライアントに送信し、該第２のジョブを受信した前記クライアントは、前記第２のジョブを実行して、前記クライアントの前記現在情報を前記指定情報に変更する、ことを特徴とするメンテナンス方法である。
【０００６】
第１の方法によれば、予めサーバにクライアントの現在情報を取得するための第１のジョブと、クライアントの指定情報とが記憶されている。現在情報はクライアントが現在保持している情報である。ここで、第１のジョブはクライアントの現在情報を取得するためのコマンドで構成されている。
指定情報は、メンテナンスの為にクライアントへインストールすべき情報である。指定情報はオペレータにより任意に設定することができる。指定情報はまたクライアント毎に設定することも可能である。
【０００７】
ここで、クライアントは、コンピュータやプリンタ、POS端末など、変更可能な情報を保持する端末をいう。サーバが備える第２の記憶手段内にはクライアントの種類やクライアントの機種毎に指定情報が記憶されている。
クライアントの指定情報の内容は特に限定されないが、例えば、タッチパネルのファームウェアのバージョン、プリンタのファームウェアのバージョンなど定期的に変更すべき情報が、クライアントの指定情報として記憶されている。
【０００８】
このサーバにクライアントが定期的にアクセスして、第１のジョブを取得する。アクセスする間隔は特に限定されず、ネットワークに大きな負荷がかからない程度でアクセスする。そして、クライアントは第１のジョブを実行して現在情報をサーバへ送信する。
【０００９】
クライアントから現在情報を取得したサーバはその現在情報と指定情報とを比較する。指定情報と比較する対象は予め設定することもでき、指定情報の全部又は一部と比較してもよい。比較した結果、指定情報と異なる現在情報が存在すれば、その異なる情報に対応する指定情報を第２の記憶手段から読み出す。そして、その読み出された指定情報を所定のコマンドラインに組み込んで第２のジョブを生成する。生成された第２のジョブはクライアントに送信される。
第２のジョブを受信したクライアントは第２のジョブを実行し、クライアントの保持する現在情報の全部又は一部を指定情報に変更する。
このようなメンテナンス方法を用いることで、クライアントに対するメンテナンスが自動化される。また、指定情報を任意に設定することにより、メンテナンスの対象も広くなる。これにより、メンテナンス作業においてオペレータにかかる負荷が低減されるとともに、自動化にともない、メンテナンス作業が迅速且つ正確に実行される。
【００１０】
本発明の第２の方法によれば、上記第１の方法において、クライアントがサーバから第１のジョブを取得した後、サーバがクライアントから現在情報を受信しなかったとき、サーバは第１のジョブをクライアントに送信する。
これにより、第１のジョブがクライアント内で正常に実行されなかったときやネットワークに何らかの障害が生じたときなど、サーバがクライアントからその現在情報を受信しなければ当該クライアントのメンテナンスを実行することができない。そのため、クライアントがサーバから第１のジョブを取得した後、サーバがクライアントから現在情報を受信しなかったときには、サーバが強制的に第１のジョブをクライアントに再送する。
このように第１のジョブを再送することにより、回復不能なシステム障害が生じていた場合を除き、自動的なメンテナンス処理が絶えず再開されるので、クライアントのメンテナンスがより確実に実行される。
【００１１】
この発明のメンテナンスシステムは以下のような第１の構成で規定される。すなわち、クライアントの現在情報を取得するための第１のジョブが記憶されている第１の記憶手段と、前記クライアントの指定情報が記憶されている第２の記憶手段と、を備えるサーバがネットワークを介して接続されるクライアントをメンテナンスするメンテナンスシステムであって、前記クライアントは、前記サーバへアクセスして前記第１のジョブを取得し、これを実行して前記クライアントの現在情報を前記サーバへ送信し、該現在情報を受信した前記サーバは、前記現在情報と前記指定情報とを比較し、前記現在情報が前記指定情報と異なるとき、前記指定情報の全部又は一部を組み込んで第２のジョブを生成して、これを前記クライアントに送信し、該第２のジョブを受信した前記クライアントは、前記第２のジョブを実行して、前記クライアントの前記現在情報を前記指定情報に変更する、ことを特徴とするメンテナンスシステムである。
このような第１の構成を用いることで、第１の方法と同様に、クライアントに対するメンテナンスが自動化される。また、指定情報を任意に設定することにより、メンテナンスの対象も広くなる。これにより、メンテナンス作業においてオペレータにかかる負荷が低減されるとともに、自動化にともない、メンテナンス作業が迅速且つ正確に実行される。
【００１２】
この発明の第２の構成は、上記第１の構成において、クライアントがサーバから第１のジョブを取得した後、サーバがクライアントから現在情報を受信しなかったとき、サーバは第１のジョブをクライアントに送信する。
このような第２の構成を用いることで、第２の方法と同様に、第１のジョブを再送することにより、回復不能なシステム障害が生じていた場合を除き、自動的なメンテナンス処理が絶えず再開されるので、クライアントのメンテナンスがより確実に実行される。
【実施例１】
【００１３】
以下に、この発明を実施例に基づき説明する。
この実施例では、サーバにクライアントが接続されたメンテナンスシステム１を用いて、メンテナンス方法を説明する。
図１はメンテナンスシステム１の構成図を示す。メンテナンスシステム１は、サーバS1にネットワークを介して、クライアントC1〜クライアントCnまでが接続されて構成される。サーバS1はネットワークを介してクライアントC1〜クライアントCnと相互に通信可能な状態に接続されている。クライアントC1〜クライアントCnは同じ機種でなくてもよい。また、同じ機種のクライアントであってもそのクライアントにインストールされるファームウェアのバージョンは異なっていてもよい。
【００１４】
図１における点線はデータの流れを示している。データの流れについての詳細は後述のフローチャートで説明する。
サーバS1に接続されたすべてのクライアントは定期的にサーバS1にアクセスする。サーバS1はアクセスしてきたクライアントに対して第１のジョブを送信する。クライアントはその第１のジョブを実行して、実行結果とクライアント情報をパケットとしてサーバS1に返信する。パケットを受信したサーバはそのパケットが所定の条件と異なるか否かを判断し、異なるパケットを送信してきたクライアントに対して第２のジョブを送信する。この第２のジョブはクライアント情報を変更するためのジョブである。最後に、クライアントはその第２のジョブを実行してクライアントの情報を変更する。
【００１５】
図２はメンテナンスシステム１のブロック図を示す。
メンテナンスシステム１はサーバS1にネットワークを介して、クライアントC1〜Cnが接続されている。
以下、サーバS1の構成要素について説明する。
サーバS1は制御部２１と、入力部２３と、表示部２４と、記憶部２５と、ステータス判定部２６と、比較部２７と、第２のジョブ生成部２８と、通信インターフェース２９と、を備えて構成される。
制御部２１はCPU２２を備える。CPU２２は制御プログラム記憶領域２５１から制御プログラムを読み出して、制御部２１にバスを介して接続された各要素を統括制御する。
入力部２３はサーバS1を操作するための入力装置であり、例えばキーボードやマウスが接続される。
表示部２４はサーバS1の表示装置であり、例えば、ディスプレイが用いられる。
【００１６】
記憶部２５は、制御プログラム記憶領域２５１と、第１のジョブ記憶領域２５２と、指定情報記憶領域２５３と、現在情報記憶領域２５４と、ステータス一覧記憶領域２５５と、コマンド記憶領域２５６と、第２のジョブ記憶領域２５７とを備える。
制御プログラム記憶領域２５１は、サーバを統括管理するための制御プログラムを記憶する領域である。
第１のジョブ記憶領域２５２は第１のジョブを記憶する領域である。第１のジョブはクライアントの現在情報を読み出すためのコマンドである。
指定情報記憶領域２５３はサーバS1が各クライアントに変更させたい情報（例えば、バージョンアップされたファームウェアの情報）を記憶する。この指定情報はサーバに接続されたクライアントの機種毎に記憶されている。例えば、図３に示すように、IM-700というクライアントの機種に対して、各Itemに対する指定情報を登録することができる。この指定情報はオペレータが入力部から直接入力してもよいし、インターネット上の特定のサイトからダウンロードさせてもよい。
ステータス一覧記憶領域２５５は第１のジョブの状況をステータスの一覧として記憶する領域である。サーバS1は第１のジョブを実行して得たステータスを、この一覧をもとに第２のジョブを作成するか否かを判断する。例えば、図４に示すように、クライアントで第１のジョブを実行したときのステータスがSuccessであれば、第１のジョブはそのクライアント上で正常に実行されたことになる。これにより、サーバは第２のジョブを作成する。
コマンド記憶領域２５６は指定情報をクライアント上で実行させるためのコマンドを記憶する領域である。コマンドは各Item毎に記憶され、指定情報と関連付けられて記憶されている。
第２のジョブ記憶領域２５７は第２のジョブ生成部２８で生成された第２のジョブを記憶する領域である。
【００１７】
ステータス判定部２６はクライアントで第１のジョブを実行したときのステータスをサーバが受信して、該ステータスとステータス一覧に登録された一覧とが一致するかを判定する。上述のようにステータスがSuccessであれば、次の処理方法に移行する。一方、サーバが受信したステータスがErrorのときは、再度、第１のジョブを当該クライアントへ送信することもできる。
なお、ステータス判定部２６は判定の対象となるステータスを一時的に記憶する記憶手段を備える（図示せず）。
【００１８】
比較部２７はクライアントの現在情報と、指定情報記憶領域２５３に記憶された指定情報とを比較する。比較した結果、クライアントの現在情報が指定情報の全部又は一部と異なるとき、その異なる部分の指定情報を第２のジョブ生成部２８に送る。
第２のジョブ生成部２８は比較部２７から送られた指定情報をコマンドの一部に組み込んで第２のジョブを生成する。具体的には、クライアントのItem毎に、指定情報をクライアント上で実行させるためのコマンドをコマンド記憶領域２５６に記憶しておく。そして、異なる情報のItemに応じてコマンドをコマンド記憶領域２５６から読み出し、そのコマンドに指定情報を組み込んで第２のジョブを生成する。生成された第２のジョブは第２のジョブ記憶領域２５７に記憶される。その後、第２のジョブは通信インターフェース２９からネットワークを介して、当該クライアントへ送信される。
【００１９】
メンテナンスシステム１のサーバS1には、ネットワークを介してクライアントC1〜Cnが接続される。各クライアントの主要な構成要素は同じであるため、ここでは、クライアントC2の構成要素を説明する。
クライアントC2は制御部３１と、通信インターフェース３３、入力部３４、表示部３５、記憶部３６、パケット作成部３７、ジョブ実行部３８を備えて構成される。
制御部３１はCPU３２を備える。CPU３２は制御プログラム記憶領域３６１から制御プログラムを読み出して、制御部３１にバスを介して接続された各要素を統括制御する。
入力部３４はクライアントC2を操作するための入力装置であり、例えばキーボードやマウスが接続される。
表示部３５はクライアントC2の表示装置であり、例えば、ディスプレイが用いられる。
【００２０】
記憶部３６は制御プログラム記憶領域３６１と、クライアント情報記憶領域３６２と、を備える。
制御プログラム記憶領域３６１はクライアントC2を統括管理するための制御プログラムを記憶する領域である。
クライアント情報記憶領域３６２はクライアントC2の基本的な情報が記憶される領域である。例えば、図５に示すように、コンピュータ名、機種名、各種バージョン情報、クライアントC2のスペック、クライアントのアドレス等が記憶されている。
【００２１】
パケット作成部３７はサーバS1へクライアントC2の情報を送信する場合、そのパケットの中に情報を組み込んでパケットを作成する。このパケットには送信元アドレス、送信先アドレスが含まれており、パケットを指定されたアドレスに送信することができる。
パケットは、後述のフローチャートに示すような、第１のジョブを取得するための情報で構成される場合もあれば、クライアントの現在情報とステータス結果とを含む情報を組み込んで構成される場合もある。
ジョブ実行部３８はサーバS1から送られてきた第１のジョブ及び第２のジョブを実行する。第１のジョブを実行することで、クライアント情報記憶領域３６２に記憶されたクライアントC2の現在情報を読み出すことができる。また、第２のジョブを実行することで、クライアント記憶領域３６２に記憶されたクライアントC2の現在情報を指定情報に変更することができる。
【００２２】
次に、本発明であるメンテナンス方法の動作を説明する。
図６はメンテナンス方法を説明するためのフローチャートである。中央の点線を境界として、左側がサーバの動作を、右側がクライアントの動作を示す。
クライアントは第１のジョブを取得するためのパケットをパケット作成部３７で作成する（ステップ１）。作成されたパケットは定期的にネットワークを介してサーバへ送信される（ステップ３）。
一方、サーバはクライアントの現在情報を取得するための第１のジョブを作成して、第１のジョブ記憶領域２５２に記憶する（ステップ４）。そして、サーバにアクセスしてきたクライアントに対して第１のジョブ記憶領域２５２に記憶された第１のジョブを送信する（ステップ５）。
クライアントは第１のジョブを受信した後（ステップ７）、ジョブ実行部３８が第１のジョブを実行する（ステップ９）。これにより、クライアント情報記憶領域３６２に記憶されたクライアントの現在情報を読み出す。また、このとき、ジョブの実行結果を確認する（ステップ１１）。そして、パケット作成部３７が現在情報とステータス結果とをパケットに組み込んで、送信用のパケットを作成する（ステップ１３）。そして、そのパケットをサーバに送信する（ステップ１５）。
【００２３】
クライアントからパケットを受信したサーバは第１のジョブに対する応答か否かを判断する。第１のジョブに対する応答であれば（ステップ１９：Y）、次のステップへ進む。第１のジョブに対する応答でなければ（ステップ１９：N）、異常な受信であることを示すNACKをクライアントに返す（ステップ２１）。
続いて、サーバのステータス判定部２６のステータスを変更する（ステップ２３）。また、正常な受信であることを示すACKをクライアントに返す（ステップ２５）。
【００２４】
続いて、サーバの設定が第２のジョブを作成することになっているか否かを確認する。第２のジョブを作成することになっていれば（ステップ２７：Y）、次のステップへ進む。第２のジョブを作成することになっていなければ（ステップ２７：N）、処理は終了する。
第２のジョブを作成する場合、ステータス判定部２６はステータス一覧記憶領域２５５にアクセスする。ステータス判定部２６で変更されたステータスがSuccessであれば（ステップ２９）、ジョブの実行結果が成功したと判断されて、次のステップへ進む。一方、変更されたステータスがSuccess以外の他のステータスであれば、処理は終了する（ステップ２９：N）。
ステータスがSuccessであったとき、比較部２７はクライアントの現在情報が指定情報と異なるか否かを判断する。情報が異なれば（ステップ３１：Y）、次のステップへ進む。情報が異なる例として、図３の指定情報のItem内「Printer Firmware Version」が「0.06  ESC/POS-J(58)(s)」であり、図５の現在情報Item内「Printer Firmware Version」が「0.05  ESC/POS-J(58)(s)」であるとすると、「Printer Firmware Version」は異なるため、次のステップへ進む。なお、異なる情報が複数ある場合は、複数の情報を指定情報に変更することもできる。
一方、情報が一致すれば(ステップ３１：N)、処理はそのまま終了する。
現在情報が指定情報と異なるとき、第２のジョブ生成部２８が、指定情報の全部又は一部を読み出して、それらをコマンドに組み込んで第２のジョブを作成する（ステップ３３）。そして、作成された第２のジョブをクライアントへ送信する（ステップ３５）。
クライアントは第２のジョブを受信した後（ステップ３７）、ジョブ実行部３８で第２のジョブを実行する（ステップ３９）。これによりクライアント情報記憶領域３６２に記憶されたクライアント情報は、指定情報に変更される（ステップ４１）。次に、第２のジョブ実行結果を確認し（ステップ４３）、パケット作成部３７が実行結果をパケットとして作成する（ステップ４５）。そして、そのパケットをサーバに送信する（ステップ４７）。サーバはパケットの実行結果を受信して(ステップ４９)、処理は終了する。
【実施例２】
【００２５】
本発明の他の実施例を示す。メンテナンス方法に用いるメンテナンスシステムは図２のものと同様である。
図７に他の実施例のメンテナンス方法のフローチャートを示す。図６のフローチャートと同じステップに対しては、同じ符号を付してその説明を省略する。
図７において、ステータスがSuccessでなかったとき（ステップ２８：N）、ステータス判定部２６は再度、クライアントに対して、第１のジョブを送信するように、ステップ５に戻る。これにより、サーバはクライアントへ第１のジョブを送信する。ここで、サーバは事前にクライアントから送信元アドレスを含むパケットを受信しているため、どのクライアントに対して、第１のジョブを送信すべきかの判断ができる。
したがって、クライアント内のエラーで一時的に第１のジョブを実行できなかったのであれば、再度、第１のジョブを取得したときに実行されることもある。
【００２６】
この発明は、上記発明の実施の形態及び実施例の説明に何ら限定されるものではない。特許請求の範囲の記載を逸脱せず、当業者が容易に想到できる範囲で種々の変形態様もこの発明に含まれる。
【図面の簡単な説明】
【００２７】
【図１】図１はメンテナンスシステムの構成図を示す。
【図２】図２はメンテナンスシステム１のブロック図を示す。
【図３】図３はクライアントの指定情報の一例である。
【図４】図４はステータス一覧の一例である。
【図５】図５はクライアントの現在情報の一例である。
【図６】図６はメンテナンス方法を説明するフローチャートである。
【図７】図７はメンテナンス方法を説明するフローチャートである。
【符号の説明】
【００２８】
１  メンテナンスシステム、２５  記憶部、２６  ステータス判定部、２７  比較部、２８  第２のジョブ生成部、S1  サーバ、C1〜Cn  クライアント
【図１】
2008027119.tif 000003
【図２】
2008027119.tif 000004
【図３】
2008027119.tif 000005
【図４】
2008027119.tif 000006
【図５】
2008027119.tif 000007
【図６】
2008027119.tif 000008
【図７】
2008027119.tif 000009