(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0012】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【0013】
<情報処理システムの構成>
以下では、
図1乃至
図11を参照して、本発明の一実施形態について説明する。まず、
図1を参照して、本実施形態における情報処理システム100の構成について説明する。本実施形態に係る情報処理システム100では、MFP101、外部サーバー104、外部端末(情報処理装置)105がLAN(ローカルエリアネットワーク)102やインターネット103によって構成されたネットワークによって接続されている。
【0014】
外部端末105は、外部のWebサービスに接続し、Webアプリケーションを操作可能なWebブラウザ機能を有する。また、画像形成装置であるMFP101に接続して通信可能であり、操作パネル状の画面を表示するための仮想ネットワークコンピューティング(VNC:Virtual Network Computing)機能を有する。MFP101は、紙媒体をスキャンし、そのスキャンデータを元に用紙に画像を形成して印刷するコピー機能を有する。さらに、MFP101は、外部端末105からアクセスして操作可能なアプリケーションを提供可能なWebサーバー機能を有するWebサーバーを備える。外部サーバー104も同様に、外部端末105からアクセスして操作可能なアプリケーションを提供可能なWebサーバー機能を有するWebサーバーを備える。
【0015】
<画像形成装置の構成>
次に、
図2を参照して、画像形成装置であるMFP101の構成について説明する。MFP101は、スキャナ213及びプリンタ214を接続するとともに、操作表示部211、操作入力部212、及びLAN102を接続することが可能なコントローラユニット200を備える。コントローラユニット200は、CPU201、RAM202、ROM203、HDD204、操作部出力I/F205、操作部入力I/F206、ネットワークI/F207、スキャナI/F208、及びプリンタI/F209を備える。CPU(Central Processing Unit)201は、各種制御プログラムを実行する。CPU201は、ROM(Read Only Memory)203に格納されているブートプログラムに基づきシステムを起動する。そしてこのシステム上でHDD(ハードディスクドライブ)204に格納されている制御プログラムを読み出してRAM(Random Access Memory)202をワークエリアとして所定の処理を実行する。HDD204には、各種制御プログラムが格納される。また、HDD204には、スキャナ213から読み込んだスキャンデータやネットワークI/F207を介して装置外から取得したデータが格納される。
【0016】
操作部出力I/F205は、操作表示部211へのデータ出力通信制御を行う。操作部入力I/F206は、操作入力部212からのデータ入力通信制御を行う。ネットワークI/F207は、LAN102に接続され、LAN102を介した情報の入出力制御を行う。スキャナI/F208は、スキャナ213から画像データを入力するとともに、スキャナ制御データの入出力を行う。プリンタI/F209は、プリンタ214へ出力画像データを出力するとともに、プリンタ制御データの入出力を行う。各コンポーネント201〜209は、システムバス210上に配置される。
【0017】
操作入力部212は、タッチパネルやハードキーなどの入力装置を備えた、ユーザー(操作者)からの指示入力インターフェースである。操作表示部211は、LCD(Liquid Crystal Display)や、LED(Light Emitting Diode)などの表示装置を備えた、ユーザーへの表示インターフェースである。スキャナ213は、CCD(Charge Coupled Device)などの光学的な読み取り装置を備え、紙媒体を光学的に操作して、電子的な画像データとして読み取る機能を有する。プリンタ214は、電子的な画像データを、用紙などの記録媒体上に画像として形成する機能を有する。
【0018】
続いて、
図3を参照して、MFP101の制御構成について説明する。
図3に示す各機能部は、MFP101内のCPU201が、ROM203又はHDD204に格納された制御プログラムを読み出して実行することで実現される。ここで、外部サーバー104も同様のソフトウェア構成とすることができるので、外部サーバー104の説明については割愛する。
【0019】
MFP101は、Webサーバー301と前述のネットワークI/F207とを有する。ネットワークI/F207は、外部端末105へWebサービスを提供するために通信を行う。また、MFP101の操作パネル上の画面操作をVNCに提供するために外部端末105との通信を行う。
【0020】
ここで、外部端末105は、Webサービスの提供を受けるためにWebブラウザ150を有する。さらに、MFP101の操作パネル上の画面操作サービスの提供を受けるために、VNC151を有する。VNCは、VIRTUAL NETWORK COMPUTINGのことで、ネットワーク上の離れたコンピュータを遠隔操作するためのRFBプロトコルを利用する、リモートデスクトップソフトである。
【0021】
具体的には、Webサーバー301でWebサービスを提供するWebサーバー301にリクエストメッセージを送信するとともに、Webサーバー301から送信されるレスポンスメッセージを受信しWebブラウザ150に画面を表示する。外部端末105のWebブラウザ150では、これらのアプリケーションのWebサービスを利用し、Webサーバー301を有するMFP101に格納されているマニュアルを表示することが可能である。また、Webサーバー301を有するMFP101の操作を行うこともできる。また、VNC151は、入出力制御部320を介して、MFP101の操作パネル上に表示する画面を要求したり、MFP101から送信される操作パネル上に表示する画面を受信しVNC151上にMFP101の操作パネル上に表示する画面を表示できる。
【0022】
次に、Webサーバー301の構成について説明する。Webサーバー301は、Webサービス処理部310、HTML画面生成部311、及びCGI処理部312を備える。Webサービス処理部310は、クライアントであるWebブラウザ150からのリクエストメッセージを受け付け、当該リクエストメッセージに従って、どのWebアプリケーションのサービスと通信するかを決定する、HTTPサービスとしての機能を有する。具体的には、リクエストメッセージとしてURL及びパラメータを受け付け、受け付けたURL及びパラメータを解析し、リクエストを特定する。そして特定したリクエストに従って処理を実行し、そのレスポンスをクライアントであるWebブラウザ150に返す。
【0023】
CGI処理部312は、前述のWebサービス処理部310から呼び出され、Webサービス処理部310からのリクエストメッセージを受け付ける。その後、Webサービスを提供するために、前述のリクエストメッセージに基づいて、後述する画面生成指示処理等を行う。具体的には、Webブラウザ150からリクエストされたリクエストメッセージのパラメータに含まれる、HTML中のタグ名称を解析する。当該パラメータ中にタグ名称が存在する場合、タグ名称の内容に従った画面生成指示処理を画面生成指示部313に要求する。
【0024】
例えば、HTML上のメニュー、“AAA”に下記のようなタグが設定されているものとする。
<div id=”TAG−MENU−01”> AAA </div>
この場合、Webブラウザ150に表示されたマニュアル等のHTML上でメニュー“AAA”が選択されると、id=”TAG−MENU−01”がパラメータとして送信される。CGI処理部312は、タグ名称として”TAG−MENU−01”を受け取ると、本タグ名称を引数として、画面生成指示部313を呼び出し、タグ名称の内容に従った画面生成指示処理を行う。
【0025】
HTML画面生成部311は、前述のWebサービス処理部310から呼び出され、Webブラウザ150から指示されたHTML画面を生成する。具体的には、Webブラウザ150からマニュアルの表示要求があった場合、マニュアルデータ314から該当のマニュアルデータ部分のHTMLソースを読み出し、該当画面を成型し、Webブラウザ150に送信する。ここでマニュアルデータ314は、前述のRAM202又はHDD204領域に予め保存されている。
【0026】
画面生成指示部313は、CGI処理部312からのリクエストを受けて、VNC151に表示すべき操作画面を生成するための情報構築を行う。具体的には、CGI処理部312から通知されたタグ名称より、操作画面に表示すべき項目名を特定する。そして、当該項目名が存在する操作画面の画面ID及びボタンIDを特定し、表示に必要な情報を設定する。当該情報を画面生成部321に通知し、操作画面の生成指示を行う。
【0027】
入出力制御部320は、MFP101の操作パネル、又はVNC151に対して、生成された操作画面を送信したり、操作画面の操作指示を受け付ける。具体的には、MFP101の操作パネルに表示すべき画面を操作部出力I/F205を介して操作表示部211に表示する。同時に、VNC151の接続リクエストがある場合には、ネットワークI/F207を介してVNC151に表示する。また、操作入力部212におけるユーザーの操作指示を操作部入力I/F206を介して受け取る。さらには、VNC151におけるユーザーの操作指示をネットワークI/F207を介して受け取る。
【0028】
画面生成部321は、入出力制御部320又は画面生成指示部313からのリクエストを受けて操作パネルに表示すべき画面を生成する。具体的には、画面生成部321は、リクエストされた画面IDに対応する画面を画面リソースから読み出し、ボタン等を配置し画面を生成し、画面出力部322に送信する。或いは、画面生成部321は、リクエストされた画面IDと項目名より、該当する項目のボタンIDを特定し、新しい画面を生成し、画面出力部322に送信する。画面リソースは、RAM202又はHDD204のメモリ領域に予め保存されていることが望ましい。画面出力部322は、前述の画面生成部321で生成された操作パネルに表示すべき画面を入出力制御部320に送信する。
【0029】
<操作マニュアル>
次に、
図4を参照して、本実施形態におけるWebブラウザ150で表示されるマニュアルの一例について説明する。部品交換に関するマニュアルには、交換される部品をMFP101から取り外し、交換する部品を取り付けるための交換手順と、部品交換後の調整処理とが表示される。当該調整処理には、例えば、当該部品自体の初期化処理、当該部品をMFP101が認識するための処理、当該部品に関わるMFP101の動作の再調整などの事後処理とが含まれる。
【0030】
401は、Webブラウザ150に表示されるコンテンツを示している。
図4では、“ITBユニット”という部品の交換手順を例として示している。402は、「部品交換の方法」が表示され、具体的な操作手順が403で示すようなイラストを用いて説明される。表示領域はスクロール可能となっており詳細な手順を表示させることができる。404において、部品交換後の調整手順の説明が表示される。ここでは、部品を交換した後に実行すべき、交換された部品の初期化処理や、交換によるデバイスの挙動を補正又は再調整するために必要な事後処理の手順が表示される。
【0031】
<画面表示処理>
次に、
図5及び
図6を参照して、外部端末105上のWebブラウザ150にMFP101内のマニュアルデータ314を表示しているときにMFP101の電源を落とした場合のWebブラウザ150に表示される画面遷移と処理シーケンスについて説明する。MFP101のWebサーバー301は、外部端末105上のWebブラウザ150からマニュアル表示要求を受けて、マニュアルトップ画面データを返す。その結果、マニュアルトップ画面501がWebブラウザ150に表示される。また、MFP101のWebサーバー301は、マニュアルトップ画面に用意された複数のメニューがユーザ操作により選択されたことによって発行される画面遷移要求に従い、指定された画面のデータを送信する。その結果、遷移後の画面が外部端末105上のWebブラウザ150に表示される。
【0032】
S601で、Webサーバー301は、ユーザの操作によりマニュアルトップ画面501で部品交換画面503への画面遷移指示を受信すると、Webブラウザ150に部品交換画面503を返す。ここで、部品交換画面503は、メンテナンス部品項目505、0506、507と、それらの項目を選択するチェックボックスと、を含む。さらに、部品交換画面503は、選択した部品を交換するためのマニュアルデータ314をMFP101からオフライン用コンテンツとして取得するキャッシュ実行ボタン504を含む。つまり、部品交換画面503は、MFP101において交換可能な複数の部品の何れかを選択可能な選択画面である。
【0033】
部品交換画面503において、メンテナンス部品が選択され、キャッシュ実行ボタン504が操作されると、S602で、Webブラウザ150は、選択されたメンテナンス部品の選択情報を受け付け、S603でWebサーバー301へ送信する。S604で、Webサーバー301は、選択情報に従って、マニュアルコンテンツをマニュアルデータ314から導き出し、そのデータが含まれるファイルを用いて、キャッシュ指示ファイルを作成する。また、S605で、Webサーバー301は、選択されたメンテナンス部品に対応するマニュアルコンテンツを表示するためのオフライン用メニュー画面(オフライン画面)511を生成する。ここで、オフライン用メニュー画面511とは、
図8に示すように、オフライン状態で操作することが可能な項目のみを表示する画面のことであり、部品交換画面503で選択された部品に関するマニュアルをオフラインで表示するためのメニュー画面である。詳細については後述する。
【0034】
次に、S606で、Webサーバー301は、対象コンテンツデータをコンテンツキャッシュエリアに転送して格納し、シャットダウン実行画面508に遷移する。このときシャットダウン実行画面508のHTMLファイル(shutdown.html)には、
図7の702に示すように、以下の記載が含まれる。
<html manifest=”manifest.appcache”>
上記記載では、604で作成したキャッシュ指示ファイル”manifest.appcache”が含まれる。当該キャッシュ指示ファイルの内容を
図7の701に示す。HTML5のアプリケーションキャッシュ機能をサポートするWebブラウザ150は、上記キャッシュ指示ファイル(拡張子appcache)を読み込む。さらに、Webブラウザ150は、当該キャッシュ指示ファイルに記載されているファイルをWebサーバー301から自身のローカルキャッシュに読み込む。その後、Webブラウザ150は、以降Webサーバー301にアクセスすることなく、ローカルキャッシュ内に格納されたファイルにアクセスするようになり、Webサーバー301と接続されていなくても動作することになる。
【0035】
シャットダウン実行画面508よりシャットダウンボタン509が操作されると、S607で、Webブラウザ150は、Webサーバー301に対し、シャットダウン実行を要求するとともに、S609で、Webサーバー301との接続状態を監視する。S608で、Webサーバー301は、Webブラウザ150からシャットダウン実行要求を受けると、MFP101のシャットダウンを実行する。
【0036】
MFP101がシャットダウンされることで、Webサーバー301も停止する。S609でのWebサーバー301との接続状態の監視において、接続が失われた(オフライン状態になった)ことを検知すると、S610で、Webブラウザ150は、アプリケーションキャッシュとして格納されている上記オフライン用メニュー画面511を表示する。さらに、S611で、Webブラウザ150は、操作記録手段として機能し、オフライン時における操作を記録する。
【0037】
ここで、オフライン用メニュー画面について
図8を用いて説明する。オフライン用メニュー画面801は、部品交換画面503でキャッシュ対処として選択された項目だけがメニューとして表示される。
図8の例示では、部品交換画面503で“ドラム交換”、“ITBユニット交換”、及び“スキャナユニット”が選択された場合のオフライン用メニュー画面である。802、804、806では、それぞれの項目名が表示されている。各項目名802、804、806の右側には、当該交換操作を実施したときにチェックマークを付けることのできるチェックボックス803、805、807が配置されている。これらのチェックボックス803、805、807は、MFP101がオフライン中(シャットダウン中)に、当該MFP101に行われた操作履歴(操作情報)を残すための選択項目となる。
【0038】
項目名802、804、806を選択すると、当該項目の操作のマニュアル画面512に遷移する。当該部品交換を実施するユーザは、操作手順を確認しながら、部品交換を実施し、交換作業が完了すると、当該部品の右に配されているチェックボックスにチェックマークを付ける。つまり、オフライン画面であるマニュアル画面512には、当該部品を交換するためのマニュアルを表示する画面である。
図8の例示では、“ITBユニット交換”804に対応するチェックボックス805のチェックマークが表示されていて、実行されたことを意味している。
【0039】
図5及び
図6の説明に戻る。S613で、オフライン用メニュー画面を表示中のWebブラウザ150は、オンライン状態になることを監視する。当該部品交換を実施したユーザは、部品交換作業が完了すると、再度MFP101の電源を投入する。すると、S612で、MFP101の再起動に伴い、MFP101内のWebサーバー301も再起動し動作を開始する。Webブラウザ150は、オンライン状態になったことを検知すると、S614に進み、オフライン中にチェックマークが付けられていた操作の情報をWebサーバー301に通知する。
【0040】
ここで、
図9を参照して、通知の際のデータ構造について説明する。データは、”KEY”−”VALUE”の組み合わせで表現され、
図9の例示では、{”DRUM_UNIT”=”OFF”}と、{”SCANNER UNIT”=”OFF”}と、{”ITB_UNIT”=”ON”}となっている。Webブラウザ150は、これらの3つの要素からなる配列データを、Webサーバー301へ送信する。
【0041】
図5及び
図6の説明に戻る。次に、S615で、Webサーバー301は、当該操作情報を受信すると、後処理実行中画面513に遷移した後、操作情報の処理を開始する。操作情報の処理についての詳細は、
図10を用いて後述する。S616で、Webサーバー301は、後処理が完了すると、Webブラウザ150に対して後処理完了の通知を行う。通知を受けたWebブラウザ150は、マニュアルトップ画面501に遷移する。
【0042】
<復帰後の処理>
次に、
図10を参照して、オンライン状態に復帰した際に、Webサーバー301が操作情報をWebブラウザ150から受信したときに実行する処理の手順について説明する。
図4の説明において前述したとおり、各部品交換処理後には、部品交換後の調整が必要である。MFP101では、各部品交換ごと部品交換後の後処理を管理している。
図11は、各部品ごとに、交換された場合の後処理を定義したテーブルの例である。例えば、ドラムユニットの交換は、“KEY”値として”DRUM_UNIT”となり、二つの後処理1102、1103が必要であることを示す。以下で説明する処理は、CPU201がROM203、HDD204等に格納された制御プログラムをRAM202に読み出して実行することにより実現される。
【0043】
S1002で、CPU201は、受信したデータを、KEY−VALUEのデータ構造の要素からなる配列データとして変換する。このときの“KEY”値は、前述した値であることを想定する。得られた配列データに対して、その各要素についてS1003からS1007の処理を実行する。
【0044】
具体的には、S1004で、CPU201は、各要素のVALUE値を確認し、“NO”であれば、当該KEY値に相当する作業は実行されなかったと判断し、該作業に応じた後処理も実行する必要がないので、次の要素の処理に遷移する。一方、VALUE値が“YES”であれば、当該KEY値に相当する作業は実行されたと判断し、S1005に進み、CPU201は、当該KEY値に対応した後処理を管理テーブルから取得し、S1006で後処理を実行する。全ての配列要素について、後処理の実行が完了すると、処理を終了する。
【0045】
以上説明したように、本実施形態に係る画像形成装置は、シャットダウンする前に、シャットダウン中に使用されうるマニュアルデータの少なくとも一部を含む画面情報を外部端末に送信する。さらに、再起動後において、本画像形成装置は、シャットダウン中に行われた、画像形成装置に対して行われた操作を示す操作情報を外部端末から受信して、当該操作情報に対応する後処理を実行する。これにより、本実施形態によれば、電源を落としてメンテナンス作業等が行われる場合、再起動時において、電源を落としている間に行われた作業を把握するとともに、当該作業の後処理を好適に実行することができる。
【0046】
<その他の実施形態>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。