以下、画像形成装置の実施の形態を含むネットワークシステムについて、図面を参照しながら詳細に説明する。以下の説明において、同一の機能および作用を有する部品は、各図を通して同じ符号を付し、重複する説明を繰返さない。
[ネットワークシステムの概略構成]
図1を参照して、ネットワークシステムの構成の概要を説明する。図1は、ネットワークシステムSYの構成の例を示す図である。図1に示されるように、ネットワークシステムSYは、画像形成装置1、Webサーバー装置2、ユーザー装置3、および図示しないその他の情報処理装置が、ネットワーク4に接続されることによって構成される。
画像形成装置1は、コピー、ネットワークプリント(PCプリント)、原稿スキャン、ファックス、およびドキュメントサーバーなどの様々な機能が集約された情報処理装置である。画像形成装置1は、「複合機」または「MFP」などと呼ばれることもある。なお、画像形成装置1は、コピーやネットワークプリント等の上記した機能の少なくとも1つを備えていれば良く、これらの機能を複数備えることを要しない。
Webサーバー装置2は、Webブラウザーからの要求に応じて、当該WebブラウザーにWebページを提供する。当該要求は、ネットワーク4を介して、または、インターネット等の公衆通信回線を介して、Webサーバー装置2へ送られる。
ユーザー装置3は、ユーザーが日々の業務に使用する情報処理装置である。ユーザー装置3として、例えば、パーソナルコンピュータが用いられる。ユーザーは、ユーザー装置3を用いて、画像形成装置1に印刷のジョブを与えたり、ネットワーク4を経由して画像形成装置1を操作したりすることができる。
ネットワーク4は、当該ネットワーク4に接続されている情報処理装置の間での通信を可能にするための通信回線である。ネットワーク4は、いわゆるLAN(Local Area Network)であり、ゲートウェイなどを経由してインターネットに接続されることもあり得る。
[画像形成装置のハードウェア構成]
次に、図2を参照して、画像形成装置1のハードウェア構成を説明する。図2は、画像形成装置1のハードウェア構成の例を示す図である。
図2に示されるように、画像形成装置1は、CPU(Central Processing Unit)10a、RAM(Random Access Memory)10b、ROM(Read Only Memory)10c、表示装置10d、入力装置10e、HDD(Hard Disk Drive)10f、原稿読取装置10g、印刷装置10h、FAXモデム10i、およびネットワークI/F(Interface)10jを備える。画像形成装置1は、これらのほかに、画像形成装置1内の各装置の動作のタイミングを制御するための制御用回路を備える場合もあり得る。
CPU10aは、RAM10bをワークエリアにして、ROM10cまたはHDD10fに格納されているプログラムおよびデータの演算処理を実行する。CPU10aは、当該プログラムまたはデータのほかに、外部から必要に応じて入力される種々のデータに基づいて、演算処理を実行する。
表示装置10dは、液晶方式またはCRT(Cathode Ray Tube)方式などの公知の方式に従ったディスプレイによって構成されており、ユーザーに対して各種の画面を表示する装置である。ディスプレイには、操作の案内を行うための画面、ジョブの実行状況を知らせるための画面、およびHDD10fに保存されているデータを確認させるための画面などが、CPU10aからの指令に従って表示される。
入力装置10eは、テンキーおよび各種の操作ボタンによって構成されており、ユーザーから各種の操作を受け付ける装置である。入力装置10eは、ユーザーからのテンキーまたは操作ボタンに対する操作の内容に応じて、CPU10aに、当該操作の内容に応じた指令を発する。発せられる指示は、実行すべきジョブの開始指示を含む。なお、表示装置10dおよび入力装置10eは、タッチパネルとして、一体的に構成される場合もあり得る。
HDD10fは、電源が供給されていないときも記憶されたデータを保持する不揮発性の磁気記憶装置である。画像形成装置1は、HDD10fの代わりに、フラッシュメモリーまたはNVRAM(Non Volatile Random Access Memory)などの半導体メモリーを備えていてもよい。
原稿読取装置10gは、たとえば光源およびイメージセンサーなどによって構成され、原稿に描かれている文字および図形などの画像を光学的に読み取ることにより画像データを生成する装置である。
印刷装置10hは、たとえば電子写真方式、インクジェット方式、または熱転写方式などの印刷機構などによって構成され、HDD10fに保存されているデータ、原稿読取装置10gによって生成されたデータ、およびネットワーク4に接続されている情報処理装置から受信したデータなどに示される画像を用紙に印刷する装置である。
FAXモデム10iは、公衆回線を介して、他のファックス装置との間で、G3などのFAXプロトコルによってデータを送受信するための装置である。
ネットワークI/F10jは、ネットワーク4を介して他の情報処理装置との間でデータを送受信するための装置である。当該データの送受信は、たとえばTCP/IP(Transmission Control Protocol/Internet Protocol)などの通信プロトコルに従う。ネットワークI/F10jは、たとえば、NIC(Network Interface Card)によって構成される。
[画像処理装置の機能構成]
次に、図3および図4を参照して、画像形成装置1の機能構成を説明する。図3は、画像形成装置1の機能構成の例を示す図である。図4は、画像形成装置1において利用されるジョブリストJLの例を示す図である。
図3に示されるように、画像形成装置1は、システム制御部11、UI(User Interface)管理部12、Webブラウザー13、Webサーバー14、CGI管理部15、ジョブキュー管理部16、ジョブ処理部17、設定値管理部18、およびクッキー情報管理部20を有する。これらは、たとえばCPU10aが、ROM10cまたはHDD10fに格納されるプログラムを実行することによって実現される。ジョブ処理部17は、スキャンジョブ処理部17a、プリントジョブ処理部17b、およびFAX受信ジョブ処理部17cによって構成されている。
Webサーバー14は、画像形成装置1自身がサーバー装置として機能する場合の構成である。Webブラウザー13は、Webサーバー装置2から提供されるWebページを表示することもできるし、Webサーバー14から提供されるWebページを表示することもできる。
画像形成装置1は、さらにクッキー情報データベース19を含む。クッキー情報データベース19は、たとえば、HDD10fによって構成される。
システム制御部11は、UI管理部12、Webブラウザー13、Webサーバー14、CGI管理部15、ジョブキュー管理部16、ジョブ処理部17、設定値管理部18、クッキー情報データベース19、およびクッキー情報管理部20の動作、ならびに、表示装置10d、入力装置10e、HDD10f、原稿読取装置10g、印刷装置10h、FAXモデム10i、およびネットワークI/F10jの動作を、統括的に制御する。特に、本実施形態において、システム制御部11は、UI管理部12、Webブラウザー13、Webサーバー14、CGI管理部15、ジョブキュー管理部16、ジョブ処理部17、および設定値管理部18による処理を所定の単位でまとめたものを、画像形成装置1が実行すべき「タスク」として管理する。各タスクには、実行の優先度合いを示すタスク優先度が設定される。例えば、タスク優先度は、高い側から順に、ジョブ処理部17に対応するタスク、Webブラウザー13に対応するタスク、Webサーバー14に対応するタスクとなるように設定される。
また、システム制御部11は、生成された複数のタスクを、タスク優先度に従いつつ、並行して実行し得る。つまり、システム制御部11は、複数のタスクを、マルチタスクで実行し得る。ただし、タスク優先度の低いタスクは、タスク優先度の高いタスクよりも実行に割り当てられる時間が少ないか、タスク優先度の高いタスクの実行が完了するまで待たされる。例えば、タスク優先度の高いジョブ処理部17に対応するタスクが実行されている間は、タスク優先度の低いWebサーバー14に対応するタスクは、動作が進みにくい状態または全く動作ができない状態となる。すなわち、画像形成装置1にジョブが与えられると、当該ジョブを実現するための処理が優先されるため、Webサーバー14の処理能力は実質的に落ちることになる。つまり、Webサーバー14の処理能力は、Webサーバー14自身の負荷の状況だけでなく、画像形成装置1全体の負荷の状況、特に画像形成装置1で実行中のジョブの状況に依存する。
システム制御部11は、各種のジョブの指示の入力を、入力装置10eを介して受け付ける。指示を入力され得るジョブは、原稿の画像を読み取るジョブ(スキャンジョブ)、画像を用紙に印刷するジョブ(プリントジョブ)、および原稿の画像を読み取って印刷するジョブ(コピージョブ)などを含む。また、システム制御部11は、FAXモデム10iを介して、FAXデータを受信するジョブ(FAX受信ジョブ)に基づいたFAXデータを受け付ける。また、システム制御部11は、ネットワークI/F10jを介して、プリントジョブを受け付ける。
ジョブキュー管理部16は、システム制御部11において受け付けられたジョブをそれが受け付けられた順序で、ジョブリストJLにジョブのレコードを登録(追加)する。図4を参照して、ジョブリストJLの内容を説明する。
図4では、(A)〜(C)のそれぞれにジョブリストJLの例が示されている。図4の(A)〜(C)に示されるように、ジョブリストJLは、登録されるジョブごとに、登録番号JL1、ジョブ種類JL2、ジョブ詳細情報JL3、および実行状態JL4の各情報を含む。
図3に戻って、ジョブキュー管理部16は、システム制御部11において新規のジョブが受け付けられると、そのジョブについての新規のレコードをジョブリストJLに追加する。新規のレコードの追加によって、登録番号JL1、ジョブ種類JL2、ジョブ詳細情報JL3、および実行状態JL4に、適切な値が設定される。登録番号JL1には、そのジョブが登録された順番を示す値が設定される。ジョブ種類JL2には、そのジョブの種類を示す値が設定される。ジョブ詳細情報JL3には、そのジョブの実行モードまたはそのジョブに係るデータのサイズなどのそのジョブの詳細な情報を示す値が設定される。実行状態JL4には、まず、そのジョブが実行待ちの状態(実行可能な状態)であることを示す値(図4の(B)および(C)の例における「READY」)が設定される。
ジョブ処理部17は、ジョブリストJLに登録されているジョブを、登録番号JL1により古い順番を示す値が設定されている順序、つまりそれが登録された順序で実行する。その際、複数のジョブを並行して実行することもある。ジョブ処理部17は、スキャンジョブ処理部17a、プリントジョブ処理部17b、およびFAX受信ジョブ処理部17cを含む。
スキャンジョブ処理部17aは、ジョブリストJLにおいてジョブ種類JL2にスキャンジョブを示す値が設定されているジョブを実行する。プリントジョブ処理部17bは、ジョブリストJLにおいてジョブ種類JL2にプリントジョブを示す値が設定されているジョブを実行する。FAX受信ジョブ処理部17cは、ジョブリストJLにおいてジョブ種類JL2にFAX受信ジョブを示す値が設定されているジョブを実行する。
ジョブキュー管理部16は、ジョブ処理部17によるジョブの実行が開始されると、そのジョブについてのレコードの実行状態JL4の値を、そのジョブが実行中の状態であることを示す値(図4の例では「RUN」)へと更新する。また、ジョブキュー管理部16は、ジョブ処理部17によるジョブの実行が終了すると、そのジョブについてのレコードをジョブリストJLから削除し、以降のレコードの登録番号JL1に設定されている値を1つずつ繰り上げる。
以上説明したように、ジョブキュー管理部16は、画像形成装置1で実行すべきジョブをジョブリストJLにおいて待ち行列の要領で管理する。図4の(A)は、1つのジョブが登録され、そのジョブが実行中である、ジョブリストJLの例を示す。図4の(B)は、2つのジョブが登録され、1番目に登録されているジョブが実行中であり、2番目に登録されているジョブが実行待ちである、ジョブリストJLの例を示す。図4の(C)は、5つのジョブが登録され、1〜2番目に登録されているジョブが並行して実行中であり、3〜5番目に登録されているジョブが実行待ちである、ジョブリストJLの例を示す。
システム制御部11は、入力装置10eなどを介して入力されるユーザーの指示、および画像形成装置1における動作の状況などに応じて、表示装置10dに表示させるべき適切な画面を判断し、その画面を表示装置10dに表示するように、UI管理部12に指示する。
UI管理部12は、表示装置10dに表示させるべき画面の内容を管理し、システム制御部11より指示された画面に対応するWebページを取得し、表示装置10dに当該取得したWebページの内容を表示するようWebブラウザー13に指示する。
システム制御部11は、ジョブキュー管理部16が管理しているジョブリストJL(図4)、および設定値管理部18が管理しているタイムアウト時間決定テーブルDTなどに基づいて、タイムアウト時間ETを決定する。
設定値管理部18は、HDD10fなどを用いて、タイムアウト時間ETを特定するタイムアウト時間決定テーブルDTを管理している。各ジョブのタイムアウト時間ETは、たとえば、ジョブの種類(たとえば、スキャン、プリント、FAX)や、ジョブの内容(たとえば、プリントジョブにおける「画質」)や、ジョブで扱われるデータのサイズに基づいて、特定される。
各ジョブのタイムアウト時間ETは、たとえば、基準タイムアウト時間と、プリントジョブの種類やデータのサイズに基づいて決定される付加時間との和として、特定される。たとえば、ジョブが「プリント」である場合、付加時間はプリントジョブに伴う印刷データのサイズおよび画質に応じた区分けがなされており、それぞれについての値が設定されている。印刷データのサイズが合計10MB(Mega Bytes)以上であり、画質が「画像データ」と設定されたジョブのタイムアウト時間ETについて例示する。印刷データのサイズが合計10MB以上の範囲での付加時間として「20秒」が設定され、印刷データの画質が画像データである場合の付加時間として「20秒」が設定されている場合、上記のように例示されたジョブについてのタイムアウト時間ETは、基準タイムアウト時間に、印刷データのサイズに基づく付加時間「20秒」と、画質に基づく付加時間「20秒」とが加えられたものとなる。
[画像形成装置におけるクッキーの取り扱い]
図5を参照して、画像形成装置1における、Webブラウザー13およびクッキー情報管理部20による、Webサーバー(Webサーバー14またはWebサーバー装置2)から提供されるクッキーの取り扱いについて説明する。図5は、画像形成装置1における、Webブラウザー13によるクッキーの取り扱いの態様を説明するための図である。図5では、クッキーの取り扱いが、図5の(A)〜図5の(C)において段階的に示されている。
ユーザーの認証用の情報が入力されると、Webブラウザー13は、当該情報をWebサーバーへ送信する。図5の(A)では、入力された認証用の情報を表示する画面の一例が、画面91として示されている。認証用の情報は、「User ID」で示された、ユーザーごとに割り振られた情報(ユーザーID「aaa」)と、「Pass」で示された当該ユーザーを特定するための情報(パスワード)とを含む。図5の(A)では、パスワードは、直接示されず、実際に入力された文字列が「*」に置き換えられて示されている。
Webブラウザー13から送信された認証用の情報に基づいてユーザーの認証に成功すると、Webサーバーは、Webブラウザー13に対して、当該認証用の情報の送信についてのクッキーを送信する。図5の(A)では、Webブラウザー13に対して送信されるクッキーの一例として、クッキー「
[email protected]」が示されている。当該クッキーのうち、「@」と「.com」に挟まれた文字列「siteA」は、Webサーバーを特定する情報である。
Webサーバーからクッキーを受信すると、クッキー情報管理部20は、受信したクッキーと、当該クッキーの生成に対応する認証用の情報とを、互いに関連付けてクッキー情報データベース19に格納する。図5の(B)では、格納される情報の一例が、情報92として示されている。クッキー情報管理部20は、画面91に対して入力された情報から、認証用の情報を抽出する。
クッキー情報管理部20は、Webブラウザー13によるWebページの提供の開始から終了までの期間ごとにグループ分けをしながら、情報92のような情報を格納する。上記期間の一例としては、画像形成装置1においてユーザーがブラウザープリケーションを起動のための操作を行ってから、当該アプリケーションの終了のための操作を行うまでが挙げられる。なお、ブラウザープリケーションの実行に対してタイムアウト期間が設定されている場合には、上記期間は、ブラウザープリケーションを起動するための操作がなされてからタイムアウト期間が満了するまでの期間となる場合もあり得る。
図6を参照して、上記情報(認証用の情報とクッキーとが関連付けられた情報)のグループ分けについて、より具体的に説明する。図6は、上記情報のグループ分けを説明するための図である。
図6では、パネル上の操作の内容と、当該パネル上の操作を実行する主体(画像形成装置1のパブリックユーザーである使用者)と、作成されるクッキーの内容とが示されている。「パネル」とは、操作パネルを意味し、入力装置10eの具体例である。
図6を参照して、ユーザーAが、ブラウザープリケーション(Webブラウザー13)を起動する操作をした後、サイトAにアクセスする操作をする。これにより、サイトAからブラウザープリケーションに、クッキー(図6中の「クッキーA」)が提供される。これに応じて、クッキー情報管理部20は、クッキーAをクッキー情報データベース19へ格納する。本明細書において、「サイトA」等の標記は、サーバーによって提供されるサービスの一例である。なお、本明細書では、「サーバーにアクセスする」との標記と、「サイトにアクセス」との標記とが、同義で使用される場合がある。
次に、ユーザーAは、ブラウザープリケーション上で、サイトBにアクセスする操作をする。これにより、サイトBからブラウザープリケーションに、クッキー(図6中の「クッキーB」)が提供される。これに応じて、クッキー情報管理部20は、クッキーBをクッキー情報データベース19へ格納する。
次に、ユーザーAは、ブラウザープリケーション上で、サイトCにアクセスする操作をする。これにより、サイトCからブラウザープリケーションに、クッキー(図6中の「クッキーC」)が提供される。ブラウザープリケーションは、サイトCへのアクセスの際に、サイトCに対して認証用の情報を送信している。このような場合、クッキー情報管理部20は、サイトCに送信された認証用の情報とクッキーCとを関連付けて、クッキー情報データベース19へ格納する。認証用の情報は、ユーザーAの認証に利用される情報である。
次に、ユーザーAは、ブラウザープリケーションを閉じる操作をする。これにより、クッキー情報管理部20は、ブラウザープリケーションが起動されてから閉じられるまでにクッキー情報データベース19に格納された情報に対して、1つのグループを定義する。より具体的には、クッキー情報管理部20は、図6においてグループ200として示されるように、ユーザーAによるサイトA〜Cへのアクセスに基づいてクッキー情報データベース19に格納された情報に対して1つのグループを定義する。サイトA,B,Cのそれぞれへのアクセスに基づいて格納された情報は、グループ200内で「A」「B」「C」として示されている。このうち、サイトCへのアクセスに基づいて格納された情報は、当該サイトCに送信された認証用の情報に関連付けられている。サイトA,Bへのアクセスに基づいて格納された情報は、認証用の情報とは関連付けられていない。
次に、ユーザーBが、ブラウザープリケーションを起動する操作をした後、サイトCにアクセスする操作をする。これにより、サイトCからブラウザープリケーションに、クッキー(図6中の「クッキーC」)が提供される。ブラウザープリケーションは、サイトCへのアクセスの際に、サイトCに対して認証用の情報を送信している。このような場合、クッキー情報管理部20は、サイトCに送信された認証用の情報とクッキーCとを関連付けて、クッキー情報データベース19へ格納する。認証用の情報は、ユーザーBの認証に利用される情報である。
次に、ユーザーBは、ブラウザープリケーション上で、サイトDにアクセスする操作をする。これにより、サイトDからブラウザープリケーションに、クッキー(図6中の「クッキーD」)が提供される。これに応じて、クッキー情報管理部20は、サイトDから送信されたクッキーDを、クッキー情報データベース19へ格納する。
次に、ユーザーAは、ブラウザープリケーション上で、サイトCにアクセスする操作をする。これにより、サイトCからブラウザープリケーションに、クッキー(図6中の「クッキーC」)が提供される。これに応じて、クッキー情報管理部20は、サイトBに送信された認証用の情報とクッキーCとを関連付けて、クッキー情報データベース19へ格納する。
次に、ユーザーBは、ブラウザープリケーションを閉じる操作をする。これにより、クッキー情報管理部20は、ブラウザープリケーションが(ユーザーBによって)起動されてから閉じられるまでにクッキー情報データベース19に格納された情報に対して、1つのグループを定義する。より具体的には、クッキー情報管理部20は、図6においてグループ300として示されるように、ユーザーBによるサイトC,Dへのアクセスに基づいてクッキー情報データベース19に格納された情報に対して1つのグループを定義する。サイトC,Dのそれぞれへのアクセスに基づいて格納された情報は、グループ300内で「C」「D」として示されている。このうち、サイトCへのアクセスに基づいて格納された情報は、当該サイトCに送信された認証用の情報に関連付けられている。サイトDへのアクセスに基づいて格納された情報は、認証用の情報とは関連付けられていない。
以上、図6を参照して説明されたように、クッキー情報管理部20は、ブラウザープリケーションの起動から終了までを1つのグループとして、Webサーバーから送信されたクッキーをクッキー情報データベース19に格納する。図6では、グループ200とグループ300とが示された。グループ200は、ユーザーAについてのグループである。グループ300は、ユーザーBについてのグループである。
図7を参照して、グループ分けをされて格納されたクッキーのより具体的な例を説明する。図7は、グループ分けをされて格納されたクッキーの具体例を模式的に示す図である。
図7には、グループ200とグループ300とが示されている。グループ200は、情報201〜203を含む。情報201は、図6のユーザーAによる、サイトAへのアクセスに基づいて格納された情報である。情報202は、図6のユーザーAによる、サイトBへのアクセスに基づいて格納された情報である。情報203は、図6のユーザーAによる、サイトCへのアクセスに基づいて格納された情報である。
グループ300は、情報301,302を含む。情報301は、図6のユーザーBによる、サイトCへのアクセスに基づいて格納された情報である。情報302は、図6のユーザーBによる、サイトDへのアクセスに基づいて格納された情報である。
図7に示されるように、情報201〜203,301,302は、それぞれ、「Cookie」,「User ID」,「Pass」の項目に対応する情報を含む。「Cookie」は、Webサーバーから送信されたクッキーである。「User ID」,「Pass」は、認証用の情報を構成し、図5の画面91における「User ID」,「Pass」のそれぞれに相当する。情報203,301は、「Cookie」,「User ID」,「Pass」の項目に対応するデータを有する。情報201,202,302は、「User ID」,「Pass」の項目に対応するデータを有する。
図5に戻って、クッキーの取り扱いについての説明を続ける。図5の(A)に示されたように、Webサーバーへのアクセスに基づいて、WebサーバーからWebブラウザーにクッキーが送信される。クッキー情報管理部20は、受信したクッキーを、クッキー情報データベース19に格納する。なお、図5の(B)に示されたように、Webサーバーへのアクセスの際に当該Webサーバーに認証用の情報が送信されていれば、クッキー情報管理部20は、クッキー情報データベース19に、クッキーに関連付けて当該認証用の情報を格納する。
そして、クッキー情報管理部20は、新たにWebブラウザーが起動された場合、サイトへのアクセスに際して認証用の情報が送信されると、図5の(C)に示されるように、新たなアクセス先であるサイトから受信したクッキーと、クッキー情報データベース19とを参照する。
より具体的には、クッキー情報管理部20は、クッキー情報データベース19に登録されている情報から、現在のアクセス先のサイトと同じサイトのクッキーを抽出する。クッキー情報管理部20は、現在のアクセス先から送信されてきたクッキーから、当該アクセスのサイトを特定する。サイトの特定は、たとえば、クッキーから特定の部分を抽出することを含む。クッキー情報管理部20は、たとえば、「@」以下の文字列を抽出し、抽出された文字列から「.com」「.jp」等のドメイン名に通常付加される文字列を取り除くことにより、サイトを特定する情報を取得する。たとえば、クッキー「
[email protected]」からは、「siteA」が、サイトを特定する情報として取得される。
そして、クッキー情報データベース19に格納されているクッキーから、現在のアクセス先と同じサイトのクッキーを抽出すると、クッキー情報管理部20は、抽出したクッキーのうち、現在のアクセス先に送信される(または、送信された)認証用の情報と同一の認証用の情報に関連付けられているクッキーを特定する。そして、特定されたクッキーが属するグループに含まれるすべてのクッキーを、次にWebブラウザーが終了するまでのサーバーとの通信に利用する。このようにすでに格納されているクッキーを現在のWebブラウザーによる通信に利用することについての具体例を、説明する。
この例では、クッキー情報データベース19に、図7のグループ200とグループ300とが格納されている。現在のアクセス先のサーバーに対して送信された認証用の情報は、「User ID」としての「bbb」と、「Pass」としての「bb」とを含む。現在のアクセス先のサーバーから送信されたクッキーは、「
[email protected]」である。
クッキー情報管理部20は、現在のアクセス先のサーバーから送信されたクッキーに基づいて、現在のアクセス先のサイト(サーバー)を特定する。特定されるサイト(サーバー)は、「siteC」である。次に、クッキー情報管理部20は、クッキー情報データベース19に登録されているクッキーから、「siteC」と同じサイトのクッキーを抽出される。図7を参照すると、クッキー情報管理部20は、情報203と情報301を抽出する。次に、クッキー情報管理部20は、抽出したクッキーから、「User ID」として「bbb」を含み、かつ、「Pass」として「bb」を含む情報に関連付けられたクッキーを特定する。図7を参照すると、情報301が特定される。次に、クッキー情報管理部20は、Webブラウザー13に、特定したクッキーが属するグループのすべてのクッキーを、現在の通信に利用させる。図7を参照すると、クッキー情報管理部20は、Webブラウザー13に、グループ300のすべてのクッキー(情報301,302に含まれるクッキー)を、現在の通信に利用させる。
なお、上記の例では、抽出されたクッキーから、認証用の情報の中のユーザーIDとパスワードの双方が新たなアクセスによって得られたクッキーのものと一致するクッキーが特定されたが、特定されるクッキーは、少なくとも認証用の情報のいずれか一方が新たなアクセスによって得られたクッキーと一致すれば良い場合もある。
図8に、本実施の形態の処理内容を概略的に示す。図8に示されるように、WebブラウザーによるWebページの提供の開始から終了までの期間(たとえば、ブラウザープリケーションの起動から終了までの期間)ごとに、グループ分けをされて、クッキー(情報201〜203,情報301,302)が格納される。そして、新たに取得したクッキー(情報400の中に示されたサイト「siteC」)が、既に格納されているクッキーと同一のユーザーに対応すると判断された場合に、既に格納されているクッキーと同一のグループに属するクッキーが、ブラウザープリケーションによるWebページの提供に利用される。
次に、図9を参照して、Webブラウザー13がWebサーバーにユーザー認証の情報を送信したときに情報を取り扱う処理の流れを説明する。図9は、当該処理のフローチャートである。
図9を参照して、まずステップS10で、クッキー情報管理部20は、Webブラウザーを終了するための条件が成立したか否かを判断する。たとえば、入力装置10eに対してアプリケーションを終了する操作がなされた場合に、Webブラウザーを終了する条件が成立する。クッキー情報管理部20は、当該条件が成立したと判断すると、ステップS100へ制御を進め、成立していないと判断すると、ステップS20へ制御を進める。
ステップS20では、Webブラウザー13は、入力装置10eへの情報の入力等に基づいて認証用の情報を送信する等により、Webサーバーに、ユーザー認証を要求して、制御をステップS30へ進める。これに応じて、Webサーバーは、ユーザー認証を実行し、成功するとWebブラウザー13に対してクッキーを送信する。
ステップS30では、Webブラウザー13は、Webサーバーから送信されてきクッキーを取得し、当該クッキーを上記ユーザー認証における認証用の情報とともにRAM10b等に一次的に記憶させて、ステップS40制御を進める。
次に、ステップS40で、クッキー情報管理部20は、図7を参照して説明したように、クッキー情報データベース19に格納されているクッキーにおいて、現在のアクセス先と同じサイトのクッキーを検索する。
そして、ステップS50で、クッキー情報管理部20は、ステップS40の検索結果のクッキーに関連付けられたユーザーID(認証用の情報)の中で、ステップS20で送信した認証用の情報のユーザーIDと一致するものがあるかどうかを判断する。クッキー情報管理部20は、クッキー情報データベース19に格納されている中にそのようなクッキーがないと判断すると、ステップS70へ制御を進める。一方、クッキー情報管理部20は、クッキー情報データベース19に格納されている中にそのようなクッキーがあると判断すると、ステップS60へ制御を進める。
ステップS60では、クッキー情報管理部20は、ユーザーIDが一致したクッキーが属するグループと同じグループのクッキー情報(たとえば、図7のグループ300の情報301,302)を、クッキー情報データベース19から読み出す(引き出す)。そして、クッキー情報管理部20は、次にブラウザーアプリケーションが閉じられるまで(または、タイムアウトを迎えるまで)、今回のブラウザープリケーションの起動の後に取得したクッキーとともに、上記のように読み出したクッキーを、Webブラウザー13に利用させる。そして、制御はステップS10へ戻される。
一方、ステップS70では、Webブラウザー13は、ユーザーに対して、ステップS30で取得されたクッキーを画像形成装置1に登録しても良いか否かを確認する。より具体的には、Webブラウザー13は、たとえば、表示装置10dに、登録の可否を問い合わせるメッセージを表示し、ユーザーからの情報の入力を待つ。そして、制御は、ステップS80へ進められる。
ステップS80では、Webブラウザー13は、ユーザーがクッキーの登録を選択したか否かを判断する。Webブラウザー13は、たとえば、上記したような登録の可否の問合せに対してユーザーから入力された情報が、登録を許可する情報であるか、登録を拒否する情報する情報であるかを判断する。そして、Webブラウザー13は、ユーザーがクッキーの登録を選択したと判断すると(ユーザーがクッキーの登録を許可)、ステップS90へ制御を進める。一方、Webブラウザー13は、ユーザーがクッキーの登録を選択しなかったと判断すると(ユーザーがクッキーの登録を拒否)、ステップS100へ制御を進める。
ステップS90では、クッキー情報管理部20は、現在のWebブラウザー13のユーザーが新たなユーザーであると認識する。より具体的には、クッキー情報管理部20は、起動中のWebアプリケーションが終了されるまでにサーバーから受信したクッキーを、RAM10b等に一時的に保存する。そして、クッキー情報管理部20は、ステップS100へ制御を進める。
ステップS100では、Webブラウザー13は、今回ブラウザーアプリケーションが起動されてからステップS60が実行されたか否かを判断する。そして、Webブラウザー13は、ステップS100における判断結果に応じた行き先へと、制御を進める。より具体的には、Webブラウザー13は、ステップS60が既に実行されたことよりクッキー情報データベース19からクッキーが読み出されていると判断すると、ステップS110へ制御を進める。一方、Webブラウザー13は、今回の起動ではクッキー情報データベース19からクッキーが読み出されていないと判断すると、ステップS120へ制御を進める。
ステップS110では、クッキー情報管理部20は、クッキー情報データベース19に、今回のWebブラウザー(ブラウザープリケーション)の起動からRAM10b等に一次的に記憶させていたクッキーを保存して、Webブラウザーを終了させる。なお、ステップS110において、上記のように一次的に記憶されていたクッキーは、ステップS60で読み込まれたクッキーのグループに追加される。
ステップS120では、クッキー情報管理部20は、今回のWebブラウザー(ブラウザープリケーション)の起動からRAM10b等に一次的に記憶させていたクッキーが、認証のキー情報となるクッキー(ユーザー認証を示すクッキー)を含むか否かを判断する。そして、クッキー情報管理部20は、認証のキー情報となるクッキーが含まれると判断すると、ステップS130へ制御を進め、含まれないと判断すると、Webブラウザーを終了させる。
ステップS130では、クッキー情報管理部20は、今回のWebブラウザー(ブラウザープリケーション)の起動からRAM10b等に一次的に記憶させていたクッキーを、新たに識別情報を付与して、1つのグループとして、クッキー情報データベース19に保存する。その後、Webブラウザーが終了する。
図10および図11は、ステップS110の処理内容を説明するための図である。図10は、Webブラウザー13の新たな起動から終了までにクッキー情報データベース19に登録された情報の一例を示す。図10は、新たにクッキー情報データベース19に登録された情報が、グループ310の構成要素として示されている。グループ310は、情報311〜313を含む。情報311は、情報301(図7参照)と、クッキーが対応するサイトとユーザーIDとが一致する。ステップS110では、クッキー情報管理部20は、グループ310に含まれる情報311〜313をグループ300に加え、グループ310を消去する。これにより、グループ300の構成は、図11に示されるように変更される。図11のグループ300は、図7に示された情報301,302に加え、情報311〜313を含む。
以上説明した本実施の形態では、クッキー情報データベース19には、認証用の情報が格納される。そして、クッキー情報管理部20は、ステップS50において、最新のユーザーID(認証用の情報)とクッキー情報データベース19に格納されているユーザーID(認証用の情報)とを比較する。
なお、クッキー情報管理部20は、クッキーからユーザーを特定する情報を取得できる場合、クッキー情報データベース19に、クッキーのみを格納し、認証用の情報を格納しない場合もある。このような場合、ステップS50では、クッキー情報管理部20は、ステップS20で取得したクッキーによって特定されるユーザーと、クッキー情報データベース19に格納されているクッキーから特定されるユーザーとが一致するか否かを判断する。クッキー情報管理部20は、ユーザーが一致すると判断するとステップS60へ制御を進める。ユーザーが一致しないと判断するとステップS70へ処理を進める。たとえば、クッキーが、ユーザーを特定する情報が埋め込まれるように作成された場合、クッキー情報管理部20は、クッキーからユーザーを特定する情報を取得できる。
クッキー情報管理部20は、当該認証用の情報を暗号化して格納することが好ましい。また、クッキー情報データベース19に認証用の情報を格納する場合、クッキー情報管理部20は、クッキー情報データベース19内のアクセスが制限された領域に、当該認証用の情報を格納することが好ましい。アクセスが制限された領域とは、たとえば、読み取りや書き込みが、パスワード等により、システムの管理者のみに制限された領域である。また、本実施の形態において利用されるクッキーは、SSL(Secure Socket Layer)等を利用したセキュアな通信プロトコルを使用されて作成されていることが好ましい。
以上説明した本実施の形態では、Webブラウザー13の起動から終了までの期間が、Webページ提供手段のWebページの提供の開始から終了までの期間の一例である。そして、各期間ごとにグループ分けされて、当該期間にウェバサーバーから送信されたクッキーが、クッキー情報データベース19に格納される。なお、各期間において、クッキーに加えて、画像形成部(原稿読取装置10g、印刷装置10h、および、FAXモデム10iの中の少なくとも1つ)に関する情報が関連付けられても良い。図12は、画像形成部に関する情報の具体例を示す図である。
図12に示された例では、グループ200において、図7を参照して説明された情報201〜203に加えて、印刷設定情報220とスキャンしたファイルの情報230とを含み、カウンター情報290に関連付けられている。印刷設定情報220は、グループ200に対応する期間になされた印刷の設定条件(たとえば、印刷枚数、印刷濃度、等)である。スキャンしたファイルの情報230は、グループ200に対応する期間に画像読取装置10gによるスキャンによって生成されたファイルである。カウンター情報290は、グループ200に対応する期間の画像形成部の動作量であり、たとえば、印刷枚数を含む。グループ300も、同様に、図7を参照して説明された情報301,302に加えて、印刷設定情報320とスキャンしたファイルの情報330とを含み、また、カウンター情報390に関連付けられている。
クッキー情報管理部20は、ステップS60(図9参照)において、Webブラウザー13に、Webページの提供において過去に格納されたクッキーを利用することもあり得る。これに加えて、クッキー情報管理部20は、Webブラウザー13に、印刷設定情報220、スキャンしたファイルの情報230、および、カウンター情報290の中の少なくともに対応する制御を実行させる。
たとえば、クッキー情報管理部20は、Webブラウザー13に、印刷設定情報220において設定された情報に基づいて、表示装置10dに表示させるデフォルトの画面を決定する。たとえば、印刷設定情報220において印刷枚数が「2」と登録されていた場合には、Webブラウザー13は、当該印刷枚数を画像形成部におけるデフォルトの設定とし、また、表示装置10dに表示させる操作画面に当該デフォルトの設定内容を反映させる。
また、たとえば、クッキー情報管理部20は、Webブラウザー13に、スキャンしたファイルの情報230によって特定されたファイル(図12中のファイル231,232)のアクセスを許可させたり、当該ファイルのショートカットアイコンを表示装置10dに表示させる。
また、たとえば、クッキー情報管理部20は、Webブラウザー13に、カウンター情報290に登録された内容に応じた情報(メッセージ等)を表示装置10dに表示させる。クッキー情報管理部20は、たとえば、カラー印刷とモノクロ印刷のそれぞれの枚数を含む。そして、クッキー情報管理部20は、カラー印刷の枚数がモノクロ印刷の枚数と比較して多い場合に、Webブラウザー13に、「カラー印刷の必要のない原稿は極力モノクロ印刷で出力する」ことを促すメッセージを表示させる。
以上のようにクッキー情報管理部20がWebブラウザー13の動作を制御することにより、画像形成装置1では、クッキー情報管理部20によって、画像形成動作の指示の入力態様が管理される。
以上説明した本実施の形態によれば、クッキー情報データベース19において、クッキーが格納され、さらに、各クッキーに関連付けられて種々の情報が格納され得る。なお、クッキーに有効期限が設定されている場合には、有効期限が切れることにより当該クッキーが消去されるのと同時に、当該クッキーに関連付けられている情報も、クッキー情報データベース19から消去されることが好ましい。
以上説明した本実施の形態のクッキー情報管理部20によって実行される処理は、Webブラウザー13によって実行されても良い。つまり、本実施の形態において説明されたクッキーの処理は、Webブラウザー13の拡張的な機能として実現される場合があり得る。
今回開示された各実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。また、実施の形態および各変形例において説明された発明は、可能な限り、単独でも、組合わせても、実施することが意図される。