以下、本発明の実施の形態における画像形成システムについて説明する。
[概要]
画像形成システムは、ウェブサーバとして機能するサーバ装置と画像形成装置とを有している。サーバと画像形成装置のそれぞれとは、ネットワークを介して互いに通信可能に接続されている。ネットワークには、このほか、例えばユーザが利用するPC(Personal Computer)や、ディレクトリサービスを提供する管理装置などが接続されている。
画像形成装置は、スキャナ機能、複写機能、プリンタとしての機能、ファクシミリ機能、データ通信機能、及びサーバ機能を備えたMFP(Multi Function Peripheral)である。スキャナ機能では、セットされた原稿の画像を読み取ってそれをHDD(Hard Disk Drive)などに蓄積する。複写機能では、さらにそれを用紙などに印刷(プリント)する。プリンタとしての機能では、PCなどの外部端末から印刷指示を受けるとその指示に基づいて用紙に印刷を行う。ファクシミリ機能では、外部のファクシミリ装置などからファクシミリデータを受信してそれをHDDなどに蓄積する。データ通信機能では、接続された外部機器との間でデータを送受信する。サーバ機能では、複数のユーザでHDDなどに記憶したデータなどを共有可能にする。
画像形成装置は、サーバにアクセスして、サーバにより提供されているウェブページを表示するウェブブラウザ機能を有している。本実施の形態において、サーバ装置は、ウェブアプリケーションを提供可能に構成されている。画像形成装置は、ウェブブラウザ機能により、サーバにアクセスし、ウェブアプリケーションに関する情報を取得し、ウェブページの表示を行うことで、ウェブアプリケーションを利用可能にすることができる。
画像形成システムにおいて、画像形成装置には、画像形成装置で利用されるウェブアプリケーションが登録されている。画像形成装置には、ウェブアプリケーションの利用時に、そのウェブアプリケーションに関するキャッシュ情報が記憶される。本実施の形態において、キャッシュ情報は、ウェブアプリケーションの登録が解除されたときなど、記憶されている必要がなくなったとき、画像形成装置から削除される。
[第1の実施の形態]
図1は、本発明の第1の実施の形態における画像形成システムの構成を示すブロック図である。
図1を参照して、画像形成システム900は、3つの画像形成装置1,201,301と、クライアントPC(以下、PCと呼ぶことがある)401と、ウェブ(Web)サーバ(サーバの一例)501と、管理装置601とを備える。
画像形成装置1,201,301と、ウェブサーバ501と、PC401と、管理装置601とは、それぞれ、ネットワーク800に接続されている。ネットワーク800は、例えばLAN(Local Area Network)である。画像形成装置1,201,301と、ウェブサーバ501と、PC401と、管理装置601とは、ネットワーク800を介して互いに通信可能である。各装置は、LANケーブルなどを介してネットワーク800に接続されていてもよいし、いわゆる無線LANによりネットワーク800に接続されていてもよい。
画像形成装置201,301は、画像形成装置1と同様の構成を有している。画像形成装置201,301は、それぞれ、画像形成装置1と異なる構成を有していてもよい。
[画像形成装置1の構成]
図2は、画像形成装置1を示す斜視図である。
図2を参照して、画像形成装置1は、給紙カセット3と、排紙トレイ5と、操作部11と、制御部20と、プリント部30と、スキャン部40とを備える。制御部20は、後述するように、CPU21(図3に示す)などを有し、画像形成装置1の動作を制御する。制御部20及びプリント部30は、画像形成装置1の筐体の内部に配置されている。
画像形成装置1は、3つの給紙カセット3(給紙カセット3a,3b,3c)を有している。それぞれの給紙カセット3には、例えば、互いに異なるサイズの用紙(B5サイズ、A4サイズ、及びA3サイズなど)が装てんされている。給紙カセット3は、画像形成装置1の下部に、画像形成装置1の筐体に抜き差し可能に配置されている。各給紙カセット3に装てんされた用紙は、印字時に、1枚ずつ給紙カセット3から給紙され、プリント部30に送られる。なお、給紙カセット3の数は3つに限られず、それより多くても少なくてもよい。
排紙トレイ5は、画像形成装置1の筐体のうちプリント部30が収納されている部位の上方でスキャン部40が配置されている部位の下方に配置されている。排紙トレイ5には、プリント部30により画像が形成された用紙が筐体の内部から排紙される。
操作部11は、画像形成装置1の上部前面(図2において正面)側に配置されている。操作部11には、ユーザにより押下操作可能な複数の操作ボタン11aが配置されている。また、操作部11には、情報をユーザに表示する表示パネル13が配置されている。表示パネル13は、例えば、タッチパネルを備えたLCD(Liquid Crystal Display)である。表示パネル13は、ユーザに案内画面を表示したり、操作ボタンを表示してユーザからのタッチ操作を受け付けたりする。表示パネル13は、CPU21により制御されて表示を行う。操作部11は、ユーザからの操作入力を受け付ける。操作部11は、操作ボタン11aや表示パネル13がユーザにより操作されると、その操作に応じた操作信号又は所定のコマンドをCPU21に送信する。すなわち、ユーザは、操作部11に操作を行うことにより、画像形成装置1に種々の動作を実行させることができる。
プリント部30は、大まかに、トナー像形成部(図示せず)と、用紙搬送部(図示せず)と、定着装置(図示せず)とを有している。プリント部30は、トナー像形成部により形成したトナー像を用紙に転写する電子写真方式で用紙に画像を形成する。
用紙搬送部は、給紙ローラ、搬送ローラ、及びそれらを駆動するモータなどで構成されている。用紙搬送部は、用紙を給紙カセット3から給紙して、画像形成装置1の筐体の内部で搬送する。また、用紙搬送部は、画像が形成された用紙を画像形成装置1の筐体から排紙トレイ5などに排出する。
トナー像形成部は、感光体、現像装置、露光装置、転写ローラなどを有している。トナー像形成部は、用紙に形成するトナー像を形成し、用紙搬送部により搬送される用紙にトナー像を転写する。
定着装置は、加熱ローラ及び加圧ローラを有している。定着装置は、加熱ローラと加圧ローラとでトナー像が形成された用紙を挟みながら搬送し、その用紙に加熱及び加圧を行う。これにより、定着装置は、用紙に付着したトナーを溶融させて用紙に定着させ、用紙に画像を形成する。
スキャン部40は、画像形成装置1の筐体の上部に配置されている。スキャン部40は、ADF(Auto Document Feeder)41を有している。スキャン部40は、上述のスキャナ機能を実行する。スキャン部40は、透明な原稿台に配置された原稿をコンタクトイメージセンサにより走査して、それを画像データとして読み取る。また、スキャン部40は、原稿トレイにセットされた複数枚の原稿をADF41により順次取り込みながら、コンタクトイメージセンサによりその画像データを読み取る。
図3は、画像形成システム900の各装置のハードウェア構成を示すブロック図である。
図3を参照して、画像形成装置1は、上述の各部のほか、HDD15と、ネットワーク部29とを有している。画像形成装置1の各部は、システムバスに接続されている。制御部20は、画像形成装置1の各部と通信可能である。
HDD15は、ネットワーク部29を介して外部から送られた印刷ジョブのデータや、スキャン部40で読み取った画像データなどを記憶する。また、HDD15は、画像形成装置1の設定情報や、画像形成装置1の種々の動作を行うための制御プログラムなどを記憶する。HDD15は、1つのPC401又は複数のPCなどから送信された複数の印刷ジョブを記憶可能である。
HDD15には、例えば、キャッシュデータベース(DB)15a、キャッシュ情報15b、及び履歴データベース15cなどが保存されている。これらの情報は、後述のようなウェブブラウザ機能に基づいて生成され記憶されるものである。
ネットワーク部29は、例えば、NIC(Network Interface Card)などのハードウェア部と、所定の通信プロトコルで通信を行うソフトウェア部とが組み合わされて構成されている。ネットワーク部29は、画像形成装置1をネットワーク800に接続する。これにより、画像形成装置1は、ネットワーク800に接続されているPC401やウェブサーバ501などの外部装置と通信可能になる。画像形成装置1は、PC401やウェブサーバ501などから印刷ジョブを受信可能である。また、画像形成装置1は、スキャン部40で読み取った画像データを、PC401に送信したり、メールサーバ(図示せず)などを介してE−mailにより送信したりすることができる。なお、ネットワーク部29は、無線通信によりネットワーク800に接続可能に構成されていてもよい。
制御部20は、CPU21と、ROM23と、RAM25とを有している。制御部20は、操作部11、プリント部30、及びスキャン部40などとともにシステムバスに接続されている。これにより、制御部20と画像形成装置1の各部とが、信号を送受可能に接続されている。
CPU21は、ROM23に記憶された制御プログラム23aや、RAM25又はHDD15などに記憶された制御プログラム(図示せず)などを実行することにより、画像形成装置1の種々の動作を制御する。CPU21は、操作部11から操作信号が送られたり、PC401などから操作コマンドが送信されたりすると、それらに応じて所定の制御プログラム23aを実行する。これにより、ユーザによる操作部11の操作などに応じて、画像形成装置1の所定の機能が実行される。
ROM23は、例えばフラッシュROM(Flash Memory)である。ROM23には、画像形成装置1の動作を行うために用いられるデータが記憶されている。ROM23には、種々の制御プログラム23aが記憶されている。ROM23には、画像形成装置1の機能設定データなどが記憶されていてもよい。CPU21は、ROM23からのデータの読み込みや、ROM23へのデータの書き込みを行う。なお、ROM23は、書換え不可能なものであってもよい。
RAM25は、CPU21のメインメモリである。RAM25は、CPU21が制御プログラム23aを実行するときに必要なデータなどを記憶するのに用いられる。
スキャン部40は、上述のように、スキャナ機能を実行し、原稿から画像データを読み取る。スキャン部40により読み取られた画像データは、CPU21によりアプリケーションデータ形式に変換され、HDD15などに記憶される。CPU21は、HDD15などに記憶された画像データを、PC401などに送信可能である。
[ウェブサーバ501の構成]
図3を参照して、ウェブサーバ501は、制御部520と、HDD515とを有している。制御部520は、CPU(図示せず)、ROM(図示せず)及びRAM(図示せず)などで構成されており、ウェブサーバ501の制御を行う。
HDD515は、ウェブサーバ501の制御プログラム(図示せず)や、種々の情報を記憶する。制御部520が、制御プログラムに基づいてウェブサーバ501の制御を行うことで、ウェブサーバ501のウェブサーバ機能やその他の機能が実行される。ウェブサーバ501は、ウェブサーバとしての機能や、ファイルサーバとしての機能を実行可能である。また、ウェブサーバ501は、電子メールの送信サーバとしての機能や、画像をファクシミリにより送信する機能などを実行可能である。
本実施の形態において、HDD515には、ページ情報515aと、画像データ515bと、ジョブデータ515cとが記憶されている。ページ情報515aは、例えばHTML(Hyper Text Markup Language)などのマークアップ言語により記述された文書データである。画像データ515bは、例えば、ページ情報に基づいて表示されるウェブページにおいて用いられるものである。ジョブデータ515cは、画像形成装置1,201,301などで実行可能な印刷ジョブなどのデータである。
[管理装置601の説明]
管理装置601は、LDAP(Lightweight Directory Access Protocol)やActive Directory(登録商標)などのディレクトリサービスを提供するサーバである。管理装置601は、制御部620と、HDD615とを有している。制御部620は、CPU(図示せず)、ROM(図示せず)及びRAM(図示せず)などで構成されており、管理装置601の制御を行う。
HDD615は、管理装置601の制御プログラム(図示せず)や、ディレクトリサービスを提供するための情報を記憶する。HDD615には、認証データベース615aが記憶されている。認証データベース615aでは、画像形成システム900を利用するユーザを認証するための認証情報が管理されている。
[ユーザ認証の説明]
本実施の形態において、ユーザは、画像形成装置1を介して行われるユーザ認証機能により、画像形成装置1にログインして画像形成システム900を利用することができる。
ユーザ認証機能は、例えば以下のようにして実現されている。すなわち、認証データベース615aには、ユーザ認証可能なユーザの情報とそのユーザの認証に必要な認証情報とが対応付けられて記録されている。認証情報は、例えばユーザ毎に設定されたパスワードである。認証データベース615aには、各ユーザについて実行を許可する機能に関する情報が、そのユーザに対応付けて記録されている。
ユーザ認証機能では、まず、ユーザに、ユーザ認証画面61(図4に示す。)が提示される。ユーザ認証画面61は、表示パネル13に表示される。ユーザは、操作部11を操作し、画像形成装置1にそのユーザの情報(例えば、アカウント名など)とパスワードとを入力する。操作部11にこれらの情報が入力されると、CPU21は、入力されたデータを管理装置601に送信する。管理装置601では、制御部620が認証データベース615aを参照し、受信したデータに基づいて、そのユーザの認証可否を判断する。認証可能であれば、管理装置601は、そのユーザについて認証成立とし、画像形成装置1に認証結果を送信する。画像形成装置1では、認証結果を受信し、認証が成立した認証ユーザについて実行を許可されている機能を実行可能とする。このとき、認証ユーザは画像形成装置1にログインした状態になる。これにより、画像形成装置1は、画像形成装置1を用いるユーザを識別できる。ユーザ認証機能を用いることにより、表示パネル13の表示や利用可能な機能などを認証されたユーザに適合するものにして、画像形成装置1の利便性を高められる。また、他のユーザの目に触れないようにして、認証されたユーザが画像形成装置1の近くにいるときに印刷物を出力できるなど、高いセキュリティ効果が得られる。
図4は、ユーザ認証画面61の一例を示す図である。
図4を参照して、ユーザ認証画面61には、入力エリア61a,61bと、ログインボタン61cと、バックボタン61fとが配置されている。入力エリア61aは、ユーザのアカウント名が入力されるエリアである。入力エリア61bは、ユーザのパスワードが入力されるエリアである。ログインボタン61cは、入力エリア61a,61bに入力されたデータに基づいて、ユーザ認証を行うためのボタンである。バックボタン61fは、ユーザ認証画面61から通常の画像形成装置1のメニュー画面などに画面を遷移させるためのボタンである。
ユーザにより、操作部11を通じて、これらの入力エリア61a,61bに適切にアカウント名及びパスワードが入力された状態で、ログインボタン61cを押下する操作が行われると、入力されたデータが管理装置601に送信される。これにより、ユーザは、ユーザ認証を行うことができる。
ユーザ認証により、画像形成装置1は、画像形成装置1を使用するユーザを識別可能である。また、画像形成装置1において、CPU21は、画像形成装置1の機能について、識別したユーザに応じて、ユーザの使用権限に関する管理(権限管理)を行う。権限管理を行うことで、ユーザ毎に、所定の機能の使用を制限することができ、高いセキュリティ効果が得られる。
なお、ユーザ認証の方式は上記に限られるものではなく、公知の方法を適宜採用することができる。認証情報の参照先や認証を行う主体などは、上記のものとは異なっていてもよい。例えば、画像形成装置1自身がユーザ認証を行うための認証情報を保有しており、画像形成装置1がユーザからの認証要求を受け付けて、認証情報に基づいて、そのユーザを認証してもよい。また、例えば接触式・非接触式のIDカードを用いたカード認証方式や、ユーザの指紋情報や静脈情報などを利用した生体認証方式などを採用し、ユーザにアカウント名などの情報やパスワードの入力を要求しないようにしてもよい。
ユーザは、画像形成装置1などを介して画像形成システム900にログインし、各画像形成装置1,201,301などがそれぞれ、画像形成システム900にログインしているユーザを識別できるようにしてもよい。権限管理は、画像形成システム900の全体で行われるようにしてもよい。このとき、例えば管理装置601が、画像形成システム900で使用可能な機能やアクセス可能な場所について、ユーザの使用権限に関する情報を各装置に提供するようにしてもよい。
[プルプリント機能の説明]
画像形成システム900において、画像形成装置1は、ウェブサーバ501に記憶されたジョブデータ515cに基づいて、プルプリントにより印刷を行うことができる(プルプリント機能)。
図5は、画像形成システム900におけるプルプリント機能の一例について説明するブロック図である。
図5を参照して、プルプリントについてより詳しく説明する。ユーザは、プルプリントを行う前に、PC401から、ジョブデータ515cをウェブサーバ501に送信する。ジョブデータ515cは、例えば、各画像形成装置1が処理可能なページ記述言語(PDL;Page Description Language)で記述されたデータである。画像形成装置1は、ジョブデータ515cを印刷ジョブの情報として解釈し、制御部20などで実現されるRIP(Raster Image Processor)によりジョブデータ515cに応じてラスタイメージを生成するなどして、印刷を行うことができる。
ジョブデータ515cは、例えば、以下のようにして生成されてウェブサーバ501に記憶される。すなわち、PC401は、HDD415と、CPU(図示せず)が制御プログラムを実行することなどにより実現されるドライバ部455とを有している。ユーザは、例えばPC401でアプリケーションプログラムを動作させ、HDD415に記憶されている文書データ480をウェブサーバ501に送るための指示をPC401に行う。ユーザからの指示に応じて、ドライバ部455は、文書データ480をジョブデータ515cに変換し、ジョブデータ515cを印刷ジョブとしてウェブサーバ501に送信する。すなわち、プルプリントが行われる際、生成されたジョブデータ515cは、直接画像形成装置1に送信されるのではなく、いったんウェブサーバ501にスプールされる。ウェブサーバ501の制御部520は、送信されたジョブデータ515cを、HDD515に保存する。HDD515には、例えばBOXと呼ばれるデータ格納用の、複数の区画が設けられている。ジョブデータ515cは、いずれかのBOXに保存される。各BOXには、アクセスなどを行えるユーザを制限するアクセス権限が設定されている。例えば、あるBOXについてのアクセス権限は、特定のユーザが画像形成装置1にログインしているときに、そのユーザが、そのBOXに、画像形成装置1からアクセスしたりデータを保存したりできるように、設定されている。
ウェブサーバ501は、ジョブデータ515cが送信されたとき、送信されたジョブデータ515cについて、ジョブ状況テーブル515eを更新する。ジョブ状況テーブル515eは、例えば、各ジョブデータ515cの実行状況に関する情報を含むものである。
ジョブデータ515cがウェブサーバ501のHDD515に記憶されている状態で、画像形成装置1においてプルプリントを実行する旨の指示が受け付けられると、画像形成装置1は、ウェブサーバ501と通信して、ジョブデータ515cを取得する。画像形成装置1は、ジョブデータ515cを取得すると、その印刷ジョブを実行し、印刷物を出力する。ここで、プルプリントを実行する旨の指示は、画像形成装置1の制御部20がプルプリントを行うための制御プログラム23aを実行することで受け付け可能であってもよいし、後述のようにウェブアプリケーションが実行されることで受け付け可能であってもよい。
プルプリントは、例えば、ユーザがプルプリントの出力先となる画像形成装置1へログインしているときに行われる。ユーザがログインした画像形成装置1において、ユーザによりプルプリントを実行する旨の操作が行われると、ユーザ自身が画像形成装置1の側にいる状態で印刷物が出力される。このようにプルプリントが実行されることで、高いセキュリティ効果が得られる。本実施の形態において、画像形成装置201,301も画像形成装置1と同様の構成及び機能を有しており、画像形成装置201,301でプルプリントを行うことが可能である。ユーザは、画像形成装置1などにログインしたとき、印刷を行う画像形成装置1,201,301を選択できるようにしてもよい。例えば、画像形成装置1にログインしたとき、印刷先として画像形成装置1,201,301のいずれかを指定できるようにしてもよい。
[ウェブブラウザ機能の説明]
画像形成装置1のウェブブラウザ機能は、ウェブブラウザ(取得手段の一例)により、ウェブサーバ501により提供されているウェブページが表示パネル13に閲覧可能に表示される機能である。ウェブブラウザは、ウェブサーバ501にアクセスして、ウェブサーバ501により提供されているウェブページの情報を取得する。
図6は、ウェブブラウザ機能を説明する図である。
図6を参照して、画像形成装置1において、ウェブブラウザ53は、CPU21が所定の制御プログラム23aを起動することにより起動されて動作する。ウェブブラウザ53は、例えば、機能選択画面63が表示パネル13に表示されている状態で、操作部11を介してユーザの所定の操作指示があったとき、それに応じて起動される。
機能選択画面63は、CPU21の制御に基づいて、表示パネル13に表示される。機能選択画面63には、例えば、画像形成装置1において利用可能な各種機能を選択するボタン63a,63b,63c,63dが配置されている。ユーザは、表示パネル13や操作部11のボタンを介して、これらのボタン63a,63b,63c,63dを指定する操作を行うことで、指定したボタン63a,63b,63c,63dに対応する機能を利用することができる。コピーボタン63aは、複写機能に対応するものである。スキャンボタン63bは、スキャナ機能に対応するものである。検索ボタン63cは、検索機能に対応するものである。ウェブボタン63dは、ウェブ閲覧機能に対応するものである。検索機能は、所定のサーチエンジンに接続して検索作業を行えるようにする機能である。ウェブ閲覧機能は、所望のウェブサーバにより提供されるウェブページを閲覧可能に表示したり、そのウェブページをプリントしたりする機能である。検索機能及びウェブ閲覧機能は、ウェブブラウザ機能を利用して利用可能になる。すなわち、検索ボタン63c又はウェブボタン63dが指定される操作が行われたとき、画像形成装置1において、ウェブブラウザ53が起動する。
ウェブブラウザ53は、ウェブページを表示するための情報(例えば、HTMLで記述されたデータ及びウェブページに含まれる画像データなど)に基づいて、ウェブページの表示画像を生成し、生成したウェブページの表示画像を表示パネル13に表示する。
ウェブブラウザ機能では、画像形成装置1は、ウェブサーバ501を含むネットワーク800を経由して通信可能なウェブサーバにより提供されているウェブページを閲覧可能にすることができる。ウェブブラウザ53は、例えば、所定の通信プロトコル(例えば、HTTPなど)により、ユーザにより指定されたURI(Uniform Resource Identifier)に基づいて、ウェブページを表示するための情報(表示データ)の取得を要求する(GET)。要求を受けたウェブサーバは、ウェブブラウザ53に表示データを送信する。これにより、ウェブブラウザ53は、表示データを取得できる。表示データは、例えば、ページ情報515a及びそれに対応する画像データ515bなどである。
URIは、例えば、ユーザが操作部11などを介して直接に入力操作を行うことで指定される。URIは、例えば、閲覧可能に表示されているウェブページに含まれる別のウェブページを示すハイパーリンクを指定する操作が行われることで指定される。
ウェブブラウザ53が機能しているとき、キャッシュ管理部(記憶手段の一例;キャッシュ管理手段の一例;削除手段の一例)55及び履歴管理部57が機能する。キャッシュ管理部55及び履歴管理部57は、それぞれ、ウェブブラウザ53の一機能として実現される。すなわち、キャッシュ管理部55及び履歴管理部57は、CPU21が制御プログラム23aなどを実行することなどにより実現される。
キャッシュ管理部55は、ウェブブラウザ53が取得した情報を、キャッシュ情報15bとしてHDD15に記憶させる。キャッシュ情報15bには、マークアップ言語により記述されたページ情報と、ページ情報に基づいて閲覧されるウェブページに含まれる画像データとが含まれる。キャッシュ情報15bには、ページ情報や画像データのほか、ウェブページを表示するために用いられる情報やプログラムなどが含まれていてもよい。また、キャッシュ管理部55は、各キャッシュ情報15bについてキャッシュデータベース15aを用いて管理する。キャッシュデータベース15aでは、例えば、キャッシュ情報について、URI、ファイル名、取得時刻などの情報が記憶される。
履歴管理部57は、ウェブブラウザ53が情報を取得した履歴に関する情報を、履歴データベース15cを用いて、履歴情報として管理する。履歴情報には、例えば、取得された情報のURI及び取得時刻などの情報が含まれている。
キャッシュ管理部55は、例えばユーザの操作指示に従って、指定されたキャッシュ情報15b及びそのキャッシュ情報15bに関するキャッシュデータベース15aの情報を削除する。また、履歴管理部57は、例えばユーザの操作指示に従って、履歴データベース15cのレコードのうち指定されたものを削除する。
キャッシュ管理部55は、キャッシュ情報15b及びそのキャッシュ情報15bに関するキャッシュデータベース15aの情報のうち一方又は両方について、所定のタイミング(例えば、キャッシュ情報15bを記憶してから所定時間が経過したとき、又は最後にそのウェブページにアクセスしてからの所定時間が経過したときなど)で削除を行ってもよい。同様に、履歴管理部57は、履歴データベース15cのレコードについて、所定のタイミング(例えば、履歴情報を記憶してから所定時間が経過したとき、又は最後にそのウェブページにアクセスしてから所定時間が経過したときなど)で削除を行ってもよい。
ウェブブラウザ機能によれば、ユーザは、ウェブブラウザ53を動作させて所望のウェブページを表示パネル13などに表示させることにより、ウェブページを閲覧することができる。また、ユーザは、閲覧しているウェブページに含まれるハイパーリンクを指定することで、そのハイパーリンクのリンク先のウェブページなどを閲覧することができる。ウェブブラウザ53によりウェブページが表示されているとき、ユーザは、ウェブブラウザ53に所定の操作指示を行うことで、表示中のウェブページについて、画像形成装置1に画像を形成させることができる。
[ウェブアプリケーションの説明]
ウェブサーバ501は、ウェブアプリケーションを提供可能に構成されている。すなわち、ウェブサーバ501は、アプリサーバ(ウェブアプリケーションのサーバ)として機能する。ウェブブラウザ53は、ウェブサーバ501にアクセスし、ウェブアプリケーションに関する情報を取得し、ウェブページの表示を行う。これにより、ウェブブラウザ53は、ユーザに、ウェブアプリケーションを利用可能に提示することができる。ウェブアプリケーション方式の長所としては、画像形成装置1などに個々にアプリケーションソフトウェアを利用可能に設定する必要がない点、ウェブサーバ501側のプログラムなどを変更するだけで、画像形成システム900の全体で変更後のウェブアプリケーションを利用できる点などが挙げられる。画像形成システム900を、利便性が高く、メンテナンスが容易なものにすることができる。
ここで、本実施の形態において、画像形成装置1には、1つのウェブアプリケーション又は複数のウェブアプリケーションが登録可能である。ウェブアプリケーションの登録とは、そのウェブアプリケーションを速やかに起動できるように、画像形成装置1に設定しておくことをいう。本実施の形態では、例えば、ウェブアプリケーションを実行するための情報(例えば、ウェブアプリケーションの起動時に表示するウェブページの情報など)を取得するための情報(例えば、URIなど)の登録が行われる。ウェブアプリケーションが登録されると、ウェブアプリケーションを起動するためのショートカットアイコンなどが、ユーザが容易に選択できるように所定の機能選択画面に表示される。このとき、ウェブアプリケーションを登録するために必要な所定の情報や、登録されたウェブアプリケーションの使用時に必要な所定の情報(例えば、URIなど)が、ウェブサーバ501から画像形成装置1に送られ、画像形成装置1で記憶される。ウェブブラウザ53は、アプリ管理部51により登録された、ウェブページの情報を取得するためのURIなどの情報に基づいて、ウェブアプリケーションを実行するための情報を取得する。ウェブアプリケーションの登録を行うことで、ユーザは、容易にそのウェブアプリケーションを利用できるようになる。
なお、ウェブアプリケーションの登録は、以下のような態様で行われるものであってもよい。例えば、ウェブアプリケーションを起動するためのURIなどの情報を含む、いわゆるブックマークを記録すること(ウェブページのURIをウェブブラウザ53などに記録し、再度選択可能にすること)により行われてもよい。また、例えば、ショートカットアイコンなどを表示しなくても、ユーザが行う所定の操作入力や、画像形成装置1が検知可能なユーザによる所定の振る舞いなど(例えば認証動作など)に応じて、所定のウェブアプリケーションが起動するように、画像形成装置1に設定することにより行われてもよい。
以下、画像形成システム900で利用されるウェブアプリケーション機能の具体例について説明する。画像形成システム900では、例えば、ウェブアプリケーション機能により、プルプリント機能や、スキャン送信機能が実現される。以下の説明において、プルプリント機能を実現するためのウェブアプリケーションを「APP1」と呼ぶことがある。また、スキャン送信機能を実現するためのウェブアプリケーションを「APP2」と呼ぶことがある。本実施の形態において、APP1及びAPP2は、画像形成装置1に登録して利用可能である。
図7は、ウェブアプリケーション機能により実現されるプルプリント機能の一例を説明する図である。
プルプリント機能の説明に入る前に、ウェブアプリケーションの登録の流れについて説明する。図7を参照して、画像形成装置1には、アプリ管理部(登録手段の一例;登録解除手段の一例)51が設けられている。アプリ管理部51は、CPU21が所定の制御プログラム23aを実行することなどにより実現される。
アプリ管理部51は、ウェブサーバ501により提供されるウェブアプリケーションの登録を行う。ウェブアプリケーションは、例えば、画像形成装置1において所定の操作入力などが行われると、アプリ管理部51により、画像形成装置1に登録される。画像形成装置1において、登録対象となるウェブアプリケーションとしてウェブサーバ501が提供するウェブアプリケーションが指定されると、アプリ管理部51は、ウェブサーバ501から指定されたウェブアプリケーションに関する情報を取得する(S51)。アプリ管理部51は、例えば、ウェブアプリケーションのURI及び識別情報(Cookieなど)など、ウェブアプリケーションを使用する際に必要な情報を取得する。なお、このとき、アプリ管理部51は、ウェブアプリケーションについて表示するウェブページの情報などをキャッシュ管理部55に記憶させる。アプリ管理部51は、取得した情報に基づいて、ウェブアプリケーションの登録を行う。
ウェブアプリケーションの登録は、例えば、登録するアプリケーションのURIなどを、ウェブアプリケーションを管理するためのデータベースに記録することなどによって行われる。ウェブアプリケーションが登録されると、本実施の形態においては、機能選択画面63において、画像形成装置1の種々のスタンドアロンアプリケーションに対応するボタン63a,63b,63c,63dに並んで、ウェブアプリケーションに対応するボタンが表示される。図7に示す例においては、ウェブアプリケーションとして、APP1及びAPP2が画像形成装置1に登録されている。機能選択画面63には、ボタン63a,63b,63c,63dとともに、APP1を動作させるためのボタン63e及びAPP2を動作させるためのボタン63fが表示されている。ユーザは、ボタン63eについて操作入力を行うことで、画像形成装置1においてAPP1を利用することができる。ユーザは、ボタン63fについて操作入力を行うことで、画像形成装置1においてAPP2を利用することができる。
なお、このとき、ユーザ認証機能により画像形成装置1にログインしている所定のユーザのみが、ウェブアプリケーションの登録を行えるようにしてもよい。例えば、画像形成装置1の管理者権限を有するユーザや画像形成システム900の管理者権限を有するユーザのみがウェブアプリケーションの登録を行えるように制限することができる。
登録可能なウェブアプリケーションは、限定的であってもよい。所定のウェブアプリケーションのみが登録可能になるようにアプリ管理部51が設定されており、登録対象としてウェブアプリケーションが指定されたとき、それが登録可能なものであるか否かをアプリ管理部51が判断するようにしてもよい。例えば、アプリ管理部51が、予め登録可能なウェブアプリケーションを示すテーブルなどを有し、そのテーブルに基づいて、アプリ管理部51が、ウェブアプリケーションを登録可能であると判断してもよい。また、例えば所定の要件を満たしたウェブアプリケーションには認定情報を付与することとして、認定情報が付与されているウェブアプリケーションのみが登録可能になるようにしてもよい。例えば、アプリ管理部51は、ウェブアプリケーションの登録に先立ち、ウェブサーバ501からウェブアプリケーションに関する認定情報を取得し、その認定情報に基づいて、ウェブアプリケーションを登録可能か否かを判断するようにしてもよい。
なお、画像形成装置1へのウェブアプリケーションの登録は、ウェブサーバ501や画像形成装置1と通信可能な外部機器からの指示に基づいて行われるようにしてもよい。例えば、ウェブサーバ501が、登録対象の画像形成装置1にウェブアプリケーションに関する情報を送信し、画像形成装置1のアプリ管理部51は、送信された情報を受信したとき、そのウェブアプリケーションについて登録を行うようにしてもよい。
プルプリント機能では、前もって、プリントジョブがウェブサーバ501に登録される。すなわち、ステップS101において、PC401からウェブサーバ501に、プリントジョブが送信される。プリントジョブが送信されると、ウェブサーバ501のHDD515において、ジョブデータ515cが記憶される。なお、プリントジョブは、ウェブサーバ501とは別の、プルプリント用のファイルサーバなどに登録されてもよい。
ステップS102において、ウェブアプリケーションが利用されるとき、操作部11は、アプリ管理部51により登録されたウェブアプリケーションを選択する指示を受け付ける。画像形成装置1では、ユーザによりプルプリントを行う旨の指示を受け付ける。すなわち、画像形成装置1の表示パネル13に、機能選択画面63が表示される。表示された機能選択画面63において、ボタン63eについて操作入力が行われると、そのボタン63eに対応するAPP1が起動する。すなわち、APP1のウェブページがウェブブラウザ53で表示され、ユーザが閲覧及び操作入力することが可能になる。同様に、表示された機能選択画面63において、ボタン63fについて操作入力が行われると、そのボタン63fに対応するAPP2が起動する。すなわち、APP2のウェブページがウェブブラウザ53で表示され、ユーザが閲覧及び操作入力することが可能になる。
ステップS103において、ウェブアプリケーションが起動するとき、ウェブブラウザ53は、ウェブサーバ501に対して、ウェブページに関する情報を要求する。なお、このとき、要求を行うウェブページについて、キャッシュ情報15bが既に記憶されており、ウェブページが更新されていない場合には、ウェブブラウザ53は、キャッシュ情報15bをそのウェブページのコンテンツとして取得可能である。
ステップS104において、ウェブサーバ501は、ウェブブラウザ53からの要求に応じて、ウェブページに関する表示データを送信する。これにより、ウェブブラウザ53は、ウェブアプリケーションを選択する指示に応じて、ウェブアプリケーションを実行するための情報を取得する。
ステップS105において、ウェブブラウザ53は、受信した表示データに基づいて、表示パネル13に表示を行う。これにより、プリント指示画面65が表示される。
ここで、プリント指示画面65には、ジョブ選択ボタン65a,65bと、プリントボタン65cと、送信ボタン65dと、次ページ遷移ボタン65eと、バックボタン65fとが配置されている。プリント指示画面65は、一見、スタンドアロンのアプリケーションの操作画面であるとユーザに感じさせるような画面構成を有するものである。ユーザは、これらの各ボタン65a〜65fを選択する操作を操作部11を介して行うことができる。
ジョブ選択ボタン65a,65bには、ウェブサーバ501に記憶されているプリントジョブの情報が表示される。ユーザは、これらのプリントジョブのうちプリントしたいものを選択することができる。プリントボタン65cは、ボタン65a,65bで選択されているプリントジョブを実行する指示を行うためのボタンである。送信ボタン65dは、ボタン65a,65bで選択されているプリントジョブのデータを送信する指示を行うためのボタンである。データは、例えばファクシミリにより送信したり、電子メールにより送信したりすることができる。次ページ遷移ボタン65eは、例えば記憶されているプリントジョブの数が多く、プリントジョブを複数ページに分割して表示している場合などにおいて、現在のページの次のページを表示させる指示を行うためのボタンである。バックボタン65fは、プリント指示画面65が表示されている状態からそれ以前に表示されていた機能選択画面63に戻るためのボタンである。
ステップS106において、ウェブブラウザ53は、ユーザがプリントボタン65cを操作したとき、それに応じた指示情報をウェブサーバ501に送信する。ここで、指示情報には、プリント対象とするプリントジョブを特定する情報と、そのプリントジョブのプリント指示とが含まれる。指示情報は、例えば所定のURIを取得するための形式の情報であってもよいし、他のコマンドのような形式のものであってもよい。
ステップS107において、ウェブサーバ501は、指示情報を受けると、特定されたプリントジョブのデータを画像形成装置1に送信する。
ステップS108において、画像形成装置1のプリント部30は、ウェブサーバ501から送信されたプリントジョブのデータに基づいて、プリントを行う。すなわち、画像形成装置1において、プリント指示画面65において指示された通りに、プリントジョブが実行される。
図8は、ウェブアプリケーション機能により実現されるスキャン送信機能の一例を説明する図である。
スキャン送信機能は、画像形成装置1のスキャン部40により原稿をスキャンして生成した画像データを、ウェブサーバ501を介して外部機器に送信する機能である。画像形成装置1に送信先情報が記憶されていなくても、ウェブサーバ501や画像形成システム900内の他の装置に記憶されている送信先情報に基づいて、データの送信を行うことができる。例えば、画像形成装置1や画像形成システム900にログインしているユーザに応じて管理装置601などに送信先情報が記憶されているとき、ログインしているユーザに応じた送信先にデータを送信できるようにしてもよい。
スキャン送信機能は、例えば、上述の機能選択画面63において、スキャン送信機能に対応するボタン63fが操作されたときに起動される。すなわち、ウェブブラウザ53は、ウェブサーバ501にアクセスし、ウェブページなどの情報を取得する。ウェブブラウザ53は、取得した情報に基づいて、スキャン送信機能の設定画面をユーザに閲覧可能に表示する。これにより、スキャン送信機能が利用可能になる。
図8を参照して、スキャン送信機能が利用可能になると、スキャン送信機能の設定画面67が表示される。設定画面67には、ファクシミリ送信選択ボタン67aと、電子メール送信選択ボタン67bと、バックボタン67fとが含まれる。バックボタン67fは、バックボタン65fと同様のボタンである。ファクシミリ送信選択ボタン67aは、スキャン部40によりスキャンして生成された画像をファクシミリ送信することを選択するためのボタンである。ファクシミリ送信選択ボタン67aが操作されると、後述のように、生成された画像データがウェブサーバ501からファクシミリ送信される。電子メール送信選択ボタン67bは、スキャン部40によりスキャンして生成された画像を電子メールにより送信することを選択するためのボタンである。電子メール送信選択ボタン67bが操作されると、後述のように、生成された画像データがウェブサーバ501から電子メールにより送信される。
なお、ファクシミリ送信選択ボタン67a又は電子メール送信選択ボタン67bが操作されると、設定画面67から送信先を設定するための送信先選択画面(図示せず)に画面が遷移する。送信先選択画面は、例えば、スキャン送信機能により画像データの送信を行うことが可能な送信先の候補を表示し、それらのうちから実際に画像データの送信先とするものをユーザに選択させる画面である。送信先の候補は、例えば、ウェブサーバ501に記憶されている情報や、管理装置601に記憶されている送信先情報に基づいて表示されればよい。また、画像形成装置1に記憶されている情報に基づいて送信先の候補が表示されるようにしてもよい。
ステップS201において、設定画面67において送信方法(例えば、ファクシミリ送信を行うか、電子メールによる送信を行うかなど)の選択操作が行われると、それに応じて、ウェブブラウザ53は指示情報をウェブサーバ501に送信する。ここで、指示情報は、例えば所定のURIを取得するための形式の情報であってもよいし、他のコマンドのような形式のものであってもよい。
ステップS202において、ウェブサーバ501は、指示情報を送信した画像形成装置1に対し、スキャン開始指示を送信する。
ステップS203において、画像形成装置1は、スキャン開始指示に応じて、原稿のスキャンを行う。スキャンは、スキャン部40により行われる。これにより、画像データが生成される。
ステップS204において、画像形成装置1は、生成された画像データをウェブサーバ501に送信する。送信は、例えばFTP(File Transfer Protocol)やWebDAV(Web Distributed Authoring and Versioning)などのプロトコルにより行われる。画像データは、ウェブサーバ501に記憶される。
ステップS205において、ウェブサーバ501は、指示情報に基づいて、設定画面67において指定された方法で、指定された送信先に、画像データを送信する。例えば、ファクシミリ送信を行うことが指示されているときには、ウェブサーバ501は、画像データを、指定された電話番号を送信先として、電話回線を通じて送信する。また、電子メールによる送信を行うことが指示されているときには、ウェブサーバ501は、画像データを、指定されたメールアドレスを送信先として、MIME(Multipurpose Internet Mail Extension)などに基づいて電子メールによって送信する。なお、画像データは、ファクシミリ送信が行われる際、インターネットFAXなど、IP(インターネット・プロトコル)ネットワークを経由して送信されてもよい。
画像形成装置1は、スキャン部40で生成した画像データに画像処理を施した上で、処理後の画像データをウェブサーバ501に送信するようにしてもよい。また、ウェブサーバ501が、送信された画像データについて画像処理を施した上で、送信を行うようにしてもよい。このとき、画像処理として、設定画面67において指定されたものが行われるようにしてもよい。画像形成装置1で画像処理が行われる場合、スキャン開始指示とともに、画像データについて行われるべき画像処理を特定するための情報が、ウェブサーバ501から画像形成装置1に送られるようにすればよい。この場合、例えば、送信方法についての情報が画像形成装置1に送られ、画像形成装置1が、送信方法に応じた画像処理を行うようにしてもよい。
指示情報において、スキャンを行う画像形成装置を指定する情報が含まれるようにし、ウェブサーバ501が、指示情報において指定された画像形成装置にスキャン開始指示を送信するようにしてもよい。この場合、スキャン開始指示が送信された画像形成装置が、原稿のスキャンを行い、生成した画像データをウェブサーバ501に送信するようにすればよい。
上記の説明において、画像データはウェブサーバ501から送信されるが、これに限られるものではなく、他の装置から送信されるようにしてもよい。例えば、画像データは、画像形成装置1から送信されるようにしてもよい。この場合、ウェブサーバ501から画像形成装置1に、選択された送信先の情報と、選択された送信方法の情報とを送信指示として送信し、画像形成装置1が、送信指示に基づいて送信を行うようにしてもよい。また、画像形成装置1から別の送信サーバに画像データが送信され、送信サーバが、ウェブサーバ501から送信方法と送信先の指示を受け、画像データの送信を行うように構成されていてもよい。
図9は、ウェブアプリケーション利用時の画像形成装置1の動作を示すフローチャートである。
図9を参照して、ステップS301において、CPU21は、ウェブアプリケーション(ブラウザアプリ)を起動開始させる。表示パネル13に表示された機能選択画面63などに、登録されているウェブアプリケーションが表示されている場合において、そのウェブアプリケーションを選択する操作が行われると、そのウェブアプリケーションの起動が開始される。CPU21によりウェブブラウザ53が起動され、そのウェブブラウザ53でウェブアプリケーションが起動される。
ステップS303において、CPU21は、キャッシュデータベース15aの有無を確認する。
ステップS303でキャッシュデータベース15aがなければ、ステップS305において、CPU21は、キャッシュデータベース15aを作成する。
ステップS303でキャッシュデータベース15aがある場合、又はステップS305の処理を行った場合、ステップS307からステップS315において、CPU21は、ウェブページを表示するための情報(コンテンツ;例えばページ情報や画像データなど)を取得する。
ステップS307において、CPU21は、ウェブブラウザ53で表示すべきURL(Uniform Resource Locator;URIの一例)を確認する。ここで、表示すべきURLとは、起動が開始されたウェブアプリケーションで表示されるウェブページや画像データなどのURLである。
ステップS309において、CPU21は、キャッシュデータベース15aを参照し、ウェブブラウザ53が取得するべきウェブページに関するキャッシュ情報15bがあるか否かを確認する。
ステップS309においてキャッシュ情報15bがある場合、ステップS311において、CPU21は、キャッシュ情報15bのうち、ウェブサーバ501において供給されている情報が更新されているものであるか否かを確認する。
ステップS311においてキャッシュ情報15bが更新されていなければ、ステップS313において、CPU21は、ウェブページを表示するための情報をキャッシュから取得する。すなわち、CPU21は、キャッシュ情報15bをウェブページを表示するために用いられる情報として取得する。
他方、ステップS309においてキャッシュ情報15bがない場合、又はステップS311においてキャッシュ情報15bについて更新されているものである場合、ステップS315において、CPU21は、ウェブページを表示するための情報をウェブサーバ501から取得する。
ステップS317において、CPU21は、取得した情報に基づいて、ウェブページの表示を行う。すなわち、CPU21は、コンテンツを表示する。
ステップS319において、CPU21は、取得した情報について、キャッシュ情報15bとして保存する。このとき、キャッシュデータベース15aが更新される。
ステップS321において、CPU21は、起動したウェブアプリケーションの固有処理を行う。例えば、上述のようなプルプリント機能を実現するウェブアプリケーションが起動されているとき、ユーザからのプリント指示が受け付けられる。また、例えば、スキャン送信機能を実現するウェブアプリケーションが起動されているとき、ユーザからの送信先の設定操作などが受け付けられる。
ステップS323において、CPU21は、現在のウェブページから別のウェブページへの遷移を要求する操作指示(画面遷移指示)があるか否かを判断する。すなわち、CPU21は、ウェブアプリケーションに基づくウェブページの表示中に、画面遷移指示をユーザから受け付ける。画面遷移指示の受け付けは、例えば、表示しているウェブページの内容や、起動しているウェブアプリケーションの内容に応じて実行される。
ステップS323において画面遷移指示があれば、ステップS325において、CPU21は、遷移先のウェブページの表示を要求し、ステップS307以降の処理を再度行う。ステップS307以降の処理が再度行われることで、画面遷移先のウェブページを表示するための情報が取得され、キャッシュ情報15bとして保存される。換言すると、ウェブブラウザ53は、ウェブアプリケーションの実行中に、取得することを要求されたウェブページに関する情報を取得する。キャッシュ管理部55は、ウェブブラウザ53により取得されたウェブページに関する情報をキャッシュ情報15bとして記憶する。すなわち、ウェブアプリケーションが起動されたときにウェブブラウザ53により取得されたウェブアプリケーションを実行するための情報に加えて、ウェブブラウザ53により取得された別のウェブページに関する情報が、キャッシュ情報15bとして記憶される。
ステップS323において画面遷移指示がなければ、CPU21は、ウェブアプリケーションを終了する。
[キャッシュに関する説明]
本実施の形態において、キャッシュ管理部55は、キャッシュデータベース15aにおいて、キャッシュ情報15bとウェブアプリケーションとの対応関係を示す情報を管理する。
図10は、画像形成装置1で管理されるキャッシュデータベース15aの一例を示す第1の表である。
図10を参照して、キャッシュデータベース15aには、キャッシュ情報15bの各ファイルについて、ファイル名、URL、アプリケーション番号(アプリNo.)、及び有効期限の各情報が対応付けて記録される。画像形成装置1には、複数のウェブアプリケーションを登録可能である。
ここで、画像形成装置1に登録されている各ウェブアプリケーションには、特有のアプリケーション番号が割り当てられている。キャッシュ管理部55は、キャッシュデータベース15aにおいて、キャッシュ情報15bの各ファイルについて、ウェブアプリケーションに関するものであれば、そのファイルの情報とアプリケーション番号とを併せて記録する。すなわち、キャッシュ情報15bとウェブアプリケーションとの対応関係を示す情報が、キャッシュ情報15bの各ファイルのレコードとして、キャッシュデータベース15aにおいて管理される。なお、ウェブアプリケーションが動作中に、画面遷移に伴って取得されたウェブページについても、同様に、アプリケーション番号が付与され、URLとウェブアプリケーションとが関連付けられて記録される。
図10に示すように、キャッシュデータベース15aで管理されているキャッシュ情報15bとしては、アプリケーション番号が「1」であるウェブアプリケーション(以下、アプリ1と称する。)に関するものと、アプリケーション番号が「2」であるウェブアプリケーション(以下、アプリ2と称する。)に関するものとがある。また、キャッシュ情報15bには、有効期限が設けられているものと、有効期限が設けられていないものとがある。
アプリ1に関するキャッシュ情報15bのうち、ページ情報としては、ファイル名が「app1.html」であるものがある。また、アプリ1に関するキャッシュ情報15bのうち、画像データとしては、ファイル名が「0.gif」であるもの、「1.gif」であるもの、「2.gif」であるもの、及び「logo.jpg」であるものがある。これらのページ情報及び画像データは、図10にURLが示されているように、「http://www.aaa.com/bbb/」以下の階層の場所に記憶されているものである。アプリ1は、「app1.html」に基づくウェブページが表示されて使用可能になり、そのウェブページには、「0.gif」、「1.gif」、「2.gif」、及び「logo.jpg」の各画像データに基づく画像が表示される。
同様に、アプリ2に関するキャッシュ情報15bのうち、ページ情報としては、ファイル名が「app2.html」であるものがある。また、アプリ2に関するキャッシュ情報15bのうち、画像データとしては、ファイル名が「0.gif」であるもの、「1.gif」であるもの、「2.gif」であるもの、及び「logo.jpg」であるものがある。これらのページ情報及び画像データは、図10にURLが示されているように、「http://www.ddd.com/eee/」以下の階層に記憶されているものである。アプリ2は、「app2.html」に基づくウェブページが表示されて使用可能になり、そのウェブページには、「0.gif」、「1.gif」、「2.gif」、及び「logo.jpg」の各画像データに基づく画像が表示される。
なお、キャッシュデータベース15aにおいて、ウェブアプリケーションに関連しないウェブページについて取得されたキャッシュ情報15b(例えば、図10においてファイル名「www.google.co.jp/」で示されるもの)には、アプリケーション番号は付与されない。本実施の形態において、アプリ管理部51は、ウェブアプリケーションに関連するウェブページについて取得されたキャッシュ情報15bについてのみ、対応するアプリケーション番号を付与して管理を行う。
[ウェブアプリケーションの登録解除時の動作]
画像形成装置1において、ウェブアプリケーションの登録は、解除可能である。また、ウェブアプリケーションの登録が解除されたとき、そのウェブアプリケーションに対応するキャッシュ情報15bが削除される。登録の解除は、例えば、所定のユーザ(管理者すなわち管理権限を有するユーザなど)の操作入力に基づいて行われる。すなわち、所定のユーザは、登録されているウェブアプリケーションを画像形成装置1から削除できる。すべてのユーザのそれぞれが、アプリケーションの削除を行うことができるようにしてもよい。
本実施の形態において、CPU21は、ウェブアプリケーションの登録を解除する指示(解除指示)を受け付ける。解除指示は、所定のユーザが、操作部11を介して操作入力を行うことで行われる。解除指示が受け付けられると、アプリ管理部51は、受け付けられた解除指示に応じて、ウェブアプリケーションの登録解除処理を行う。また、キャッシュ管理部55は、アプリ管理部51による登録の解除に連動して、記憶されたキャッシュ情報15bのうち、アプリ管理部51により登録が解除されたウェブアプリケーションに対応するものを削除する。
図11は、ウェブアプリケーションの登録解除時の画像形成装置1の動作を示すシーケンス図である。
図11を参照して、ステップS401において、所定のユーザ(管理者)は、ウェブアプリケーションの登録解除を行うとき、操作部11を介して解除指示(アプリ削除要求)を行う。解除指示は、画像形成装置1において受け付けられる。ここで、解除指示には、例えば、登録解除対象となるウェブアプリケーションを特定する識別子(アプリID)が含まれる。ここで、アプリIDとしては、ウェブアプリケーションの固有の名称やアプリケーション番号など、いずれであってもよい。管理者は、表示パネル13に表示されたウェブアプリケーションのアイコンなどを指定することで、登録解除するウェブアプリケーションを指定可能であってもよい。このとき、管理者により指定されたウェブアプリケーションのアプリIDが、解除指示に含まれる。また、管理者は、操作部11を介してアプリIDを直接入力することで解除指示を行ってもよい。
ステップS403において、アプリ管理部51は、受け付けられた解除指示に基づいて、ウェブアプリケーションの登録解除(アプリ削除)を行う。解除指示に含まれるアプリIDに基づいて、アプリIDに対応するウェブアプリケーションの登録が解除される。これにより、登録解除されたウェブアプリケーションは、登録されていたときと同様には利用できなくなる。
ステップS405において、アプリ管理部51は、登録を解除したウェブアプリケーションに対応するキャッシュ情報15bの削除指示(キャッシュ削除要求)をキャッシュ管理部55に対して行う。削除指示には、登録が解除されたウェブアプリケーションのアプリIDが含まれる。
ステップS407において、キャッシュ管理部55は、削除指示を受け付け、削除指示に応じてキャッシュ管理を行う。すなわち、キャッシュ管理部55は、削除指示に含まれるアプリIDに対応するキャッシュ情報15bを削除する。キャッシュ管理部55は、キャッシュデータベース15aにおいて管理されている情報すなわちアプリケーション番号に基づいて、キャッシュ情報15bの削除を、選択的に行う。また、キャッシュ管理部55は、キャッシュデータベース15a中の、削除指示に含まれるアプリIDに対応するレコードを削除する。ここで、キャッシュ管理部55は、ウェブアプリケーションが動作中に画面遷移したことにより取得されたウェブページのキャッシュ情報も同様に削除するようにしてもよい。
ステップS409において、キャッシュ管理部55は、キャッシュ管理が終了すると、アプリ管理部51に、結果情報を送信する。結果情報としては、例えば、削除したキャッシュ情報15bに関する情報や、削除が完了した旨の情報などが含まれる。
ステップS411において、アプリ管理部51は、キャッシュ管理部55からの結果情報を受信すると、その結果情報に関する通知及びウェブアプリケーションの登録解除の結果情報に関する通知を管理者に対して行う。通知は、例えば、表示パネル13に結果情報に関する表示を行うことで行われる。この通知が行われることで、解除指示を行った管理者は、ウェブアプリケーションの登録解除が行われたことや、キャッシュ情報15bが削除されたことを知ることができる。
図12は、ウェブアプリケーションの登録解除時の画像形成装置1の動作を示すフローチャートである。
図12を参照して、ステップS501において、CPU21は、ウェブアプリケーション(ブラウザアプリ)の解除指示を受け付ける。
ステップS503において、CPU21は、解除指示に基づいて、登録解除対象となるウェブアプリケーションの有無を確認する。登録解除対象となるウェブアプリケーションがなければ、登録解除(アプリ削除)動作を完了する。
ステップS503において登録解除対象となるウェブアプリケーションがあれば、ステップS505において、CPU21は、ウェブアプリケーションの登録を解除する。ウェブアプリケーションの登録が解除されると、登録に伴ってウェブアプリケーションを管理するためのデータベースなどに記録されていた、ウェブアプリケーションに関する情報が削除される。
ステップS507において、CPU21は、登録が解除されたウェブアプリケーションに関して記録されていたキャッシュ情報15bの有無を確認する。キャッシュ情報15bの有無の確認は、例えば、キャッシュデータベース15aなどを参照することで行われる。
ステップS507においてキャッシュ情報15bがあるときには、ステップS509において、CPU21は、そのキャッシュ情報15bの削除を行う。
ステップS507においてキャッシュ情報15bがないとき、又はステップS509の処理が終了したとき、ステップS511において、CPU21は、キャッシュデータベース15aの管理を行う。すなわち、キャッシュ管理部55は、登録が解除されたウェブアプリケーションについてのキャッシュデータベース15aのレコードなどを削除する。
キャッシュデータベース15aの管理が終了すると、一連のウェブアプリケーションの登録解除時の動作が終了する。図12において、アプリ管理部51及びキャッシュ管理部55の各処理の結果情報を送信する処理については、説明を省略している。
図13は、画像形成装置1で管理されるキャッシュデータベース15aの一例を示す第2の表である。
図13に示される表は、キャッシュデータベース15aが図10に示される表の状態である場合においてウェブアプリケーション(アプリ1)の登録解除が行われた後の、キャッシュデータベース15aを示すものである。アプリ1の登録が解除されると、アプリ1に対応する、アプリケーション番号が「1」であるキャッシュ情報15bが削除される。また、キャッシュデータベース15aの各レコードのうち、アプリケーション番号が「1」であるキャッシュ情報15bに対応するものが、キャッシュデータベース15aから削除される。これにより、図13に示されるように、キャッシュデータベース15aのレコードが減少する。
以上説明したように、第1の実施の形態においては、ウェブアプリケーションの登録解除が行われたとき、キャッシュ管理部55により、登録が解除されるウェブアプリケーションに関するキャッシュ情報15b及びキャッシュデータベース15aのレコードが削除される。したがって、ウェブアプリケーションに関するキャッシュ情報が、ウェブアプリケーションの登録が解除されて不要になったとき、そのキャッシュ情報を削除するために、ユーザの操作入力は必要ではなくなり、ユーザの操作にかかる負担が低減する。また、キャッシュ情報15bなどの削除は、ウェブアプリケーションの登録解除に連動して行われるので、不要になったキャッシュ情報15bが速やかに削除され、HDD15のリソースが開放される。常に画像形成装置1のHDD15の残容量を比較的多く確保することができるので、HDD15として小型のものを用いることができ、画像形成装置1の製造コストを低減することができる。
[変型例の説明]
図14は、ウェブアプリケーションの登録解除時の画像形成システム900の動作の一例を示す図である。
ウェブサーバ501など、画像形成装置1と通信可能な外部機器から、画像形成装置1に対して、解除指示を行うことができるようにしてもよい。
また、画像形成装置1において、履歴管理部57は、キャッシュ管理部55によるキャッシュ情報15bの削除に連動して、履歴情報の削除を行ってもよい。このとき、履歴管理部57は、履歴情報のうち、削除されたキャッシュ情報15bに対応するものすなわち登録が解除されたウェブアプリケーションに対応するものが、削除されるようにしてもよい。履歴管理部57は、履歴情報をいったんすべて削除するようにしてもよい。
すなわち、図14を参照して、ステップS601において、ウェブサーバ501の制御部520は、画像形成装置1に対し、解除指示(アプリ削除要求)を送信する。解除指示は、ユーザなどがウェブサーバ501に対して指示することにより送信されてもよいし、ウェブサーバ501で動作する種々のプログラムなどに従って、自動的に送信されてもよい。例えば、設定されていた期日が到来したときなど、所定の条件に合致する場合に自動的に解除指示が送信されてもよい。
ステップS602において、アプリ管理部51は、ウェブアプリケーションの登録解除とともに、キャッシュ情報15bの削除指示をウェブブラウザ53に送信する。キャッシュ管理部55は、削除指示に応じて、キャッシュ情報15bの削除を実行する。履歴管理部57は、削除指示に応じて、履歴情報の削除を実行する。
ステップS603及びステップS604の処理は、上述の図11におけるステップS409及びステップS411の処理と同様である。すなわち、キャッシュ管理部55からの結果情報がアプリ管理部51を介してウェブサーバ501に送信される。また、アプリ管理部51からの結果情報が、ウェブサーバ501に送信される。このとき、履歴管理部57で履歴情報を削除したことに関する結果情報が、アプリ管理部51を介してウェブサーバ501に送信されるようにしてもよい。
このように、ウェブサーバ501などから解除指示を行うようにする場合、例えばウェブアプリケーションが登録された複数の画像形成装置1,201,301について、ウェブサーバ501などが一括してウェブアプリケーションの登録解除を行うことができる。ウェブアプリケーションの登録が解除されたとき、各画像形成装置1,201,301において、登録解除に応じたキャッシュ情報の削除を実行させることができ、画像形成システム900のメンテナンス作業などを容易に行うことができる。
上記のように、ウェブアプリケーションの登録解除に伴って履歴情報が削除されるようにすることで、不要な情報を容易にかつ速やかに削除することができる。したがって、HDD15の残容量などを多く確保でき、かつ、不要な履歴情報がない状態で、ウェブブラウザ53を使用することができる。
[第2の実施の形態]
第2の実施の形態における画像形成システムの基本的な構成は、第1の実施の形態におけるそれと同じであるためここでの説明を繰り返さない。第2の実施の形態においては、以下の点が第1の実施の形態と異なる。すなわち、画像形成システムを利用するユーザ毎に、ウェブアプリケーションの登録解除及びそれに伴うキャッシュ情報の削除が可能である。換言すると、ユーザ毎にウェブアプリケーションの権限変更(使用権限の解除など)が可能であり、また、権限変更に伴い、キャッシュ情報が削除される。以下に、所定のユーザが画像形成装置1に対して操作入力を行うことで解除指示(ユーザ権限変更要求)が行われる場合について説明する。
ウェブアプリケーションの権限変更は、例えば、画像形成装置1にログイン可能なユーザについて、ウェブサーバ501により提供されるウェブアプリケーションを利用不可能に設定するような場合に行われる。画像形成装置1において、登録されているウェブアプリケーションの権限変更がされたユーザは、例えば、機能選択画面を表示させてもそのウェブアプリケーションを選択不可能になり、そのウェブアプリケーションを利用できなくなる。
なお、あるユーザについてウェブサーバ501により提供されるウェブアプリケーションについて、複数の画像形成装置1,201,301のそれぞれに共通して、画像形成システム900にログインするユーザの権限変更を行えるようにしてもよい。一度の操作により、各画像形成装置1,201,301におけるユーザの権限が一括して容易に変更される。
第2の実施の形態においてキャッシュ管理部55が管理するキャッシュデータベース15aについて説明する。キャッシュ管理部55は、キャッシュデータベース15aにおいて、画像形成装置1で識別されたユーザ毎に、キャッシュ情報15bとウェブアプリケーションとの対応関係を示す情報を管理する。
図15は、第2の実施の形態において画像形成装置1で管理されるキャッシュデータベース15aの一例を示す第1の表である。
図15を参照して、キャッシュデータベース15aにおいて、キャッシュ情報15bの各ファイルについて、ファイル名、URL、アプリケーション番号(アプリNo.)、及び有効期限の各情報が対応付けて記録される点は、第1の実施の形態と同様である。第2の実施の形態においては、これらの情報に加えて、ユーザIDの情報が、各ファイルについて記録されている。
ユーザIDは、画像形成装置1を用いるユーザ又は画像形成システム900を用いるユーザについて、それぞれに対応付けて一意に付与されているものである。ユーザIDにより、ユーザを特定可能である。図15に示す例において、キャッシュ情報15bの管理対象となっているユーザとしては、ユーザIDが「1」であるユーザ(ユーザ1)と、ユーザIDが「2」であるユーザ(ユーザ2)とがある。
キャッシュ管理部55は、各ユーザがログインしている状態でウェブブラウザ53でウェブページを取得したとき、そのウェブページのページ情報などを、ユーザ毎に区別して管理する。例えば、ファイル名が「app1.html」のファイル名のキャッシュ情報15bに関して、ユーザ1とユーザ2とのそれぞれに関して取得されたときには、キャッシュデータベース15aにおいて、ユーザ1とユーザ2とで別々のレコードとして、その情報が記録される。
図15に示す例において、ユーザ1に関し、アプリケーション番号が「1」であるアプリ1のキャッシュ情報15bと、アプリケーション番号が「2」であるアプリ2のキャッシュ情報15bとが管理されている。他方、ユーザ2に関し、アプリケーション番号が「1」であるアプリ1のキャッシュ情報15bが管理されている。
図16は、第2の実施の形態におけるウェブアプリケーションの権限変更時の画像形成装置1の動作を示すシーケンス図である。
図16を参照して、ステップS701において、所定のユーザ(管理者)は、画像形成システム900を利用する個々のユーザについてウェブアプリケーションの権限変更を行うとき、操作部11を介して解除指示を行う。第2の実施の形態において、解除指示には、例えば、アプリIDのほか、ユーザIDが含まれる。アプリIDは、権限変更の対象となるウェブアプリケーションを示すものである。ユーザIDは、権限変更の対象となるウェブアプリケーションについて、使用権限が変更されるユーザを示すものである。
ステップS703において、アプリ管理部51は、解除指示に応じて、ユーザについての権限変更を行う。これにより、権限変更の対象となるユーザは、ウェブアプリケーションを利用できなくなる。このとき、アプリ管理部51は、解除指示に応じて、ウェブアプリケーションの登録を解除するようにしてもよい。例えば、ユーザ毎にウェブアプリケーションが登録されているとき、解除指示にユーザIDが含まれるユーザについてのウェブアプリケーションの登録を解除するようにすればよい。
ステップS705において、アプリ管理部51は、権限変更の対象となったウェブアプリケーション及びユーザに対応するキャッシュ情報15bの削除指示(キャッシュ削除要求)をキャッシュ管理部55に対して行う。削除指示には、権限変更の対象となったウェブアプリケーションを示すアプリIDと、使用権限が変更されたユーザを示すユーザIDとが含まれる。
ステップS707において、キャッシュ管理部55は、削除指示を受け付け、削除指示に応じてキャッシュ管理を行う。キャッシュ管理部55は、キャッシュデータベース15aにおいて管理されている情報すなわちアプリケーション番号及びユーザIDに基づいて、キャッシュ情報15bの削除を、選択的に行う。キャッシュ情報15bの削除は、ユーザ毎に、かつ、ウェブアプリケーション毎に行われる。すなわち、キャッシュ管理部55は、削除指示に含まれるアプリID及びユーザIDに対応するキャッシュ情報15bを削除する。また、キャッシュ管理部55は、キャッシュデータベース15a中の、削除指示に含まれるアプリID及びユーザIDに対応するレコードを削除する。
ステップS709及びステップS711の処理は、第1の実施の形態のステップS409及びステップS411の処理と略同様に行われる。キャッシュ管理部55は、キャッシュ管理が終了すると、アプリ管理部51に結果情報を送信する。アプリ管理部51は、キャッシュ管理部55からの結果情報を受信すると、その結果情報に関する通知及びウェブアプリケーションの権限変更の結果情報に関する通知をユーザに対して行う。
図17は、ウェブアプリケーションの権限変更時の画像形成装置1の動作を示すフローチャートである。
図17を参照して、ステップS801において、CPU21は、ウェブアプリケーションの解除指示(ユーザ権限変更要求)を受け付ける。
ステップS803において、CPU21は、解除指示に基づいて、権限変更対象となるウェブアプリケーションの有無を確認する。このとき、CPU21は、例えば、そのウェブアプリケーションが登録されているか否かと、そのウェブアプリケーションが権限変更対象のユーザが使用可能であるか否かとを確認する。換言すると、CPU21は、登録されているウェブアプリケーションについてユーザに付与されている使用権限の有無を確認する。権限変更対象となるウェブアプリケーションがなければ、ユーザ権限変更動作を完了する。
ステップS803において権限変更対象となるウェブアプリケーションがあれば、ステップS805において、CPU21は、ウェブアプリケーションの使用権限を変更する。
ステップS807において、CPU21は、権限が変更されたウェブアプリケーションに関して記録されていたキャッシュ情報15bのうち、権限が変更されたユーザに関するものの有無を確認する。キャッシュ情報15bの有無の確認は、例えば、キャッシュデータベース15aなどを参照することで行われる。キャッシュ情報15bがないときには、ユーザ権限変更動作が完了する。
ステップS807においてキャッシュ情報15bがあるときには、ステップS809において、CPU21は、そのキャッシュ情報15bの削除を行う。キャッシュ情報15bが削除されると、ユーザ権限変更動作が完了する。
図18は、第2の実施の形態において画像形成装置1で管理されるキャッシュデータベース15aの一例を示す第2の表である。
図18に示される表は、キャッシュデータベース15aが図15に示される表の状態である場合に、ウェブアプリケーション(アプリ1)に関するユーザ1の使用権限が解除された後のキャッシュデータベース15aを示すものである。使用権限が変更されると、アプリ1に対応する、アプリケーション番号が「1」であるキャッシュ情報15bであって、使用権限が解除されたユーザ1に対応するものが削除される。また、キャッシュデータベース15aの各レコードのうち、アプリケーション番号が「1」であるキャッシュ情報15bであってユーザ1に対応するものが、キャッシュデータベース15aから削除される。これにより、図18に示されるように、キャッシュデータベース15aのレコードが減少する。
以上説明したように、第2の実施の形態においては、ユーザのウェブアプリケーションの使用権限の解除が行われたとき、キャッシュ管理部55により、そのユーザに関して、使用権限が解除されるウェブアプリケーションに関するキャッシュ情報15b及びキャッシュデータベース15aのレコードが削除される。個々のユーザの使用権限が変更されて不要になったキャッシュ情報15bなどに関する情報が自動的に削除されるので、ユーザの操作にかかる負担を低減でき、かつ、HDD15として小型のものを用いることができる。キャッシュ情報15bなどの削除は、使用権限の変更に連動して、不要になったときに速やかに削除される。
図19は、ウェブアプリケーションの権限変更時の画像形成システム900の動作の一例を示す図である。
第2の実施の形態においても、第1の実施の形態と同様に、ウェブサーバ501など、画像形成装置1と通信可能な外部機器から、画像形成装置1に対して、ウェブアプリケーションの権限を変更する指示を行うことができるようにしてもよい。ウェブサーバ501などから解除指示を行うようにする場合、例えばウェブアプリケーションが登録された複数の画像形成装置1,201,301について、ウェブサーバ501などが一括してウェブアプリケーションの権限変更を行うことができる。ウェブアプリケーションの使用権限が解除されたとき、各画像形成装置1,201,301において、解除されたユーザについて、権限変更に応じたキャッシュ情報の削除を実行させることができ、画像形成システム900のメンテナンス作業などを容易に行うことができる。
図19を参照して、ステップS901において、ウェブサーバ501の制御部520は、管理装置601との間で認証情報を送受する。これにより、画像形成システム900において、ウェブサーバ501が提供するウェブアプリケーションについてのユーザ権限が変更される。
ステップS902において、ウェブサーバ501は、画像形成装置1においてユーザ権限を変更するように、画像形成装置1に対し、解除指示(ユーザ権限変更要求)を送信する。
ステップS903において、アプリ管理部51は、ウェブアプリケーションの権限変更を行うとともに、キャッシュ情報15bの削除指示をウェブブラウザ53に送信する。キャッシュ管理部55は、削除指示に応じて、キャッシュ情報15bの削除を実行する。
ステップS904及びステップS905の処理は、上述の図16におけるステップS709及びステップS711の処理と同様である。すなわち、キャッシュ管理部55からの結果情報がアプリ管理部51を介してウェブサーバ501に送信される。また、アプリ管理部51からの結果情報が、ウェブサーバ501に送信される。
[その他]
上述の実施の形態を適宜組み合わせて画像形成システムを構成してもよい。
キャッシュ情報がウェブアプリケーションに関連しているかどうかは、アプリケーション番号のほか、ページ情報などのページ名やファイル名、又はURIの一部分に所定の文字が含まれるか否かによって判断されてもよい。
キャッシュ情報などの削除が、ウェブアプリケーションの登録解除時又は使用権限の変更時から時間を置いて行われるようにしてもよい。例えば、所定時間が経過したタイミングや、次にユーザなどによる操作入力が行われるタイミングで、キャッシュ情報が削除されるようにしてもよい。
ウェブアプリケーションは、上述のようなものに限られない。1つのウェブアプリケーションが、画像形成システムを構成する複数のウェブサーバにより提供されていてもよい。複数のウェブアプリケーションが1つのウェブサーバにより提供されていてもよい。ウェブアプリケーションは、ウェブサーバ機能を有する画像形成装置によって提供されていてもよい。
画像形成装置は、登録されているウェブアプリケーションを起動しようとした場合であって、そのウェブアプリケーションのウェブページを取得できなかったときには、ウェブアプリケーションの登録を解除する指示を受け付けたと判断してもよい。すなわち、ウェブアプリケーションがウェブサーバによって提供不能になっているとき、画像形成装置は、ウェブサーバからその旨の情報を解除指示として受け取り、自動的にウェブアプリケーションの登録を削除してもよい。
ウェブサーバと画像形成装置などを通信可能に接続するネットワークとしては、インターネットを介したものであってもよい。
画像形成装置としては、モノクロ/カラーの複写機、プリンタ、ファクシミリ装置やこれらの複合機(MFP)などいずれであってもよい。電子写真方式により画像を形成するものに限られず、例えばいわゆるインクジェット方式により画像を形成するものであってもよい。
上述の実施の形態における処理は、ソフトウェアによって行っても、ハードウェア回路を用いて行ってもよい。
上述の実施の形態における処理を実行するプログラムを提供することもできるし、そのプログラムをCD−ROM、フレキシブルディスク、ハードディスク、ROM、RAM、メモリカードなどの記録媒体に記録してユーザに提供することにしてもよい。プログラムはインターネットなどの通信回線を介して、装置にダウンロードするようにしてもよい。上記のフローチャートで文章で説明された処理は、そのプログラムに従ってCPUなどにより実行される。
上記実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。