以下に添付図面を参照して、この発明にかかる情報処理システム、画像出力機器、およびサーバーの一実施の形態を詳細に説明する。
(実施の形態)
本情報処理システムは、管理サーバー側でユーザーが過去に印刷出力した機器の情報を集計し、ユーザーがよく使う機器の情報をユーザーPCのプリンタドライバへ通知可能とするものである。管理サーバー側の集計機能は、ユーザーが複合機で実際に印刷出力したタイミングで情報取得と集計されるようにし、管理サーバーでのユーザーの利用履歴は、ユーザーが複合機で印刷出力する度に更新されるようになる。また、管理サーバーの集計結果は、ユーザーのPCにあるプリンタドライバに通知され、ユーザーはプリンタドライバを介して過去に利用した機器一覧と、それぞれの複合機の現在の状態を把握できるようにしている。
また、本実施の形態の情報処理システムは、使用頻度の高い機器でジョブを投入してから先行して認証を実施し、ユーザーが機器の前でログインを実施したときに即座に認証を行う。また、ユーザーがジョブを投入してから機器で処理するまでの履歴情報をもとに、先行認証の適切なタイミングを決定する。すなわち、ユーザーによる機器使用履歴を参照して、ユーザーが使用する確率の高い機器を(少なくとも1つ)特定し、特定された機器に対して認証サーバーから認証済みのトークン情報を通知することにより、ユーザーが(何れかの)機器側でログイン操作を行うときには、ユーザーを特定する情報の照合のみでユーザー認証を完結することを可能とするものである。以下、具体例を挙げて説明する。
図1は、本実施の形態にかかるシステム構成を示す説明図である。図示するように、本システムのシステム構成は、LF管理サーバー100、情報処理装置であるユーザーのPC110、および複数の画像出力機器としての複合機120A,120Bなどが通信手段としてのネットワーク(LAN)130を介して接続されている。なお、以下、ユーザーのPC110について、単にPC110と記し、複合機120A,120Bについても支障のない限り適宜単に複合機120と記す。また、図1では、複合機120について説明上、2台で示しているがこの限りではない。また、PC110についても複数台が接続されている。
なお、この実施の形態では、複数の画像出力機器として複合機120A,120Bを例に挙げて説明するが、この限りではなく一般的に用いられている複写機やプリンタなどであってもよい。
LF管理サーバー100は、ユーザー認証機能を持つLF印刷の管理サーバーである。認証機能とは、ユーザーが自分のPC110にログインする際の認証情報を利用した集中管理型の認証システムである。LF管理サーバー100は、複合機120への認証情報と整合が取れると、複合機120側でユーザーが投入した印刷要求を取り出すことが可能になる。ユーザーは、前述の取り出した印刷要求をもとに複合機120で印刷出力することができる。この機能により、ユーザーはどの複合機120からでも印刷出力が可能になる。
また、LF管理サーバー100は、ユーザーが最終的に印刷出力した複合機120の情報を履歴として管理する機能を持つ。ユーザーが複合機120に認証し、LF管理サーバー100に蓄積されている印刷要求を引出した段階で、印刷出力する複合機120を特定する。このため、LF管理サーバー100において、ユーザーが利用した複合機120や利用回数などを管理することができる。
その後、複合機120側で印刷出力した際、その印刷条件も受け取ることができる。これにより、ユーザーが利用した複合機120の情報だけでなく、ユーザーが印刷出力する条件などの利用率もカウントすることができるようになる。
また、LF管理サーバー100は、ユーザーPC110から指示した任意のタイミングで複合機120のMIB(Management Information Base)情報を取得し、ユーザーのPC110へ通知することができる。これにより、ユーザーのPC110では、過去に使用したことのある複合機120の現在の状態を知ることができるようになる。MIB情報とは、ネットワーク管理プロトコル(SNMP:Simple Network Management Protocol)によってアクセスできるデータであり、RFC3805に代表される標準規格によって定義されている。LF管理サーバー100は、ネットワーク130を介して複合機120のMIB情報を取得することで、複合機120のステータス状態など様々な状態情報が取得できる。本例では、このMIB情報が複合機120の一例を状態情報の一例として示すものである。
また、LF管理サーバー100は、ユーザーPC110から印刷ジョブを投入した後、ユーザーが認証を行うための認証トークンを自動で発行する機能を有しており、発行された認証トークンはユーザーがよく利用する複合機120へ適切なタイミングで通知することができるものとする。複合機120は、受取った認証トークンを一定時間保持しておくことで、ユーザーが複合機120で認証を行うときは、複合機120単体で認証できるようになる。
PC110は、LF印刷に対応したプリンタドライバがインストールされており、ユーザーはプリンタドライバを介してLF管理サーバー100に印刷データ(PDL:ページ記述言語)を送信する。ユーザーはPCにログインして、例えばMS WORD(マイクロソフト社、ワード)を利用して、プリンタドライバに印刷指示を与える。プリンタドライバは印刷データを複合機120が解釈できるデータ形式(PDL:ページ記述言語)に変換してLF管理サーバー100に送信する。
また、プリンタドライバは、LF管理サーバー100からユーザーの利用した機器情報を取得することができる。機器情報とは、ユーザーが前回までに利用した複合機120のIPアドレスやMACアドレスなどの機器を特定する情報である。プリンタドライバは、ユーザーが指定したタイミングで上記機器情報を取得することができる。
機器情報とは、ユーザーがよく利用する複合機120のIPアドレスなど機器を特定する情報と、その機器の現在の状態であり、これらの情報はプリンタドライバの画面(GUI)に表示することができる。よく利用するかどうかの判定は、LF管理サーバー100で蓄積された利用履歴のうち、利用回数と最終利用日時から算出することとする。このため、ユーザーはよく利用する複合機120の現在の状態や、他の複合機120の状況を知ることができる。
複合機120とLF管理サーバー100との通信は、HTTP(Hyper Text Transfer Protocol)などの汎用プロトコルを利用したWebAPI(Web Application)を利用するものとし、データ構造もXML(Extensible Markup Language)などの汎用フォーマットとする。ユーザーは、プリンタドライバの画面(GUI:Graphical User Interface)から自身が過去に利用した機器一覧を閲覧できるものとし、利用回数や最終利用日時などでソートできるものとする。
プリンタドライバは、ユーザーが上記GUIの中から特定の複合機120を選択すると、そのタイミングで指定した複合機120へネットワーク130を介してMIB情報を取得し、ユーザーに複合機120の状態を通知することができる。MIB情報とは、ネットワーク管理プロトコル(SNMP)によってアクセスできるデータであり、RFC3805に代表される標準規格によって定義されている。プリンタドライバは、ネットワーク130を介して複合機120のMIB情報を取得することで、複合機120の状態など様々な情報が取得できる。
複数の複合機120A,120Bは、LF管理サーバー100により一元管理されている複合機であり、複合機120はLF管理サーバー100からユーザーの印刷データの引取りを行うことができる。ユーザーは、自身のPC110から印刷データをLF管理サーバー100へ送信する。この際、LF管理サーバー100ではユーザーPC110から送信された印刷データをユーザー情報と紐付けた状態で蓄積しておき、ユーザーが複合機120にログインした時点で、ユーザー情報(ユーザーID)をキーにして蓄積された印刷データのリストを取得する。複合機120は、取得したリストを印刷可能リストとして操作パネル(不図示)に表示し、ユーザーが印刷可能リストから必要なデータを選択すると印刷出力を行うことができる。
また、複合機120は、MIBと呼ばれるネットワーク管理プロトコル(SNMP)に対応しており、ユーザーのPC110などから専用のアプリケーションを利用して複合機120の状態を把握できる。通常は管理サーバー側に専用アプリケーションを用意しておくことで全ての機器を一元管理するような運用が考えられるが、汎用のPC(パーソナルコンピュータ)からでもネットワーク130を介してMIB情報を取得することはできる。
図2は、LF管理サーバー100のハードウェア構成を示すブロック図である。LF管理サーバー100は、バス上に、CPU(Central Processing Unit)101、メモリユニット102、記憶装置制御ユニット103、ネットワーク制御部105、入出力装置制御ユニット106が接続されている。記憶装置制御ユニット103には記憶装置104が接続されている。入出力装置制御ユニット106には外部メディア入出力装置107、各種インターフェース108が接続されている。
CPU101は、各装置の制御やデータの演算、加工を行う。CPU101は主記憶部に記憶されたプログラムを実行する演算装置で、入力装置や記憶装置からデータを受け取り、演算、加工した上で、出力装置や記憶装置に出力する。
メモリユニット102は、ROM(Read Only Memory)やRAM(Random Access Memory)などである。メモリユニット102は、演算処理装置が実行する基本ソフトウェアであるOS(オペレーティングシステム)やアプリケーションソフトウェアなどのプログラムやデータを記憶又は一時保存する記憶装置である。
記憶装置制御ユニット103は、HDD(ハードディスクドライブ)などの記憶装置104を接続し、アプリケーションソフトウェアなどに関連するデータを記憶するための制御を行う。また、記憶装置104は、各種情報(例えば、ユーザ情報など)が格納され、データベース、ファイルシステムなどの機能により管理される。
ネットワーク制御部105は、イーサネット(登録商標)コントローラなどであり、LAN(Local Area Network)やWAN(Wide Area Network)を用いて他のコンピュータと通信を行うための機能がある。入出力装置制御ユニット106は、外部メディア入出力装置107や各種インターフェース装置108の管理を行い、外部機器からのデータの入出力を行う。
外部メディア入出力装置107は、USBメディアやCF(コンパクトフラッシュ(登録商標))、SDカードなどの外部メディアを制御してデータ入出力を行う。各種インターフェース108は、シリアルポートやUSBポート、IEEE1394などの外部機器を接続するためのインターフェースである。各種インターフェースにより汎用的な入出力装置も使用できる。
図3は、PC110のハードウェア構成を示すブロック図である。PC110は、バス上に、CPU111、メモリユニット112、記憶装置制御ユニット113、ネットワーク制御部115、入出力装置制御ユニット116が接続されている。記憶装置制御ユニット113には記憶装置114が接続されている。入出力装置制御ユニット116には外部メディア入出力装置117、各種インターフェース118が接続されている。
CPU111は、各装置の制御やデータの演算、加工を行う。CPU111は主記憶部に記憶されたプログラムを実行する演算装置で、入力装置や記憶装置からデータを受け取り、演算、加工した上で、出力装置や記憶装置に出力する。
メモリユニット112は、ROMやRAMなどであり、演算処理装置が実行する基本ソフトウェアであるOS(オペレーティングシステム)やアプリケーションソフトウェアなどのプログラムやデータを記憶又は一時保存する記憶装置である。
記憶装置制御ユニット113は、HDD(ハードディスクドライブ)などの記憶装置114を接続し、アプリケーションソフトウェアなどに関連するデータを記憶するための制御を行う。また、記憶装置114は、各種情報(例えば、ユーザ情報など)が格納され、データベース、ファイルシステムなどの機能により管理される。
ネットワーク制御部115は、イーサネットコントローラなどであり、LANやWANを用いて他のコンピュータと通信を行うための機能がある。入出力装置制御ユニット116は、外部メディア入出力装置117や各種インターフェース装置118の管理を行い、外部機器からのデータの入出力を行う。
外部メディア入出力装置117は、USBメディアやCF(コンパクトフラッシュ)、SDカードなどの外部メディアを制御してデータ入出力を行う。各種インターフェース118は、シリアルポートやUSBポート、IEEE1394などの外部機器を接続するためのインターフェースである。各種インターフェースにより汎用的な入出力装置も使用できる。
図4は、複合機120のハードウェア構成を示すブロック図である。複合機120は、バス上に、CPU121、ROM122、RAM123、補助記憶装置124、操作パネル126、カードリーダI/F127、ネットワークI/F128、エンジン部129が接続されている。補助記憶装置124には、さらに記憶装置125が接続されている。
CPU121は、複合機120を制御する各種プログラムを実行する。ROM122およびRAM123は、複合機120の動作中にプログラムやデータを一時的に格納する記憶媒体であり、当該プログラムやデータは複合機120の起動時に補助記憶装置124からロードされる。
補助記憶装置124は、プログラムやデータなどを格納するHDDなどの記憶媒体である。また、補助記憶装置124は、印刷、スキャン、ファクシミリなどによって生成されたデータも格納される。
操作パネル126は、ユーザーからの操作によってジョブの設定や実行要求、メンテナンス動作の実行要求、その他の要求を受け付けるものであり、例えば、液晶ディスプレイ、有機ELディスプレイなどである。また、操作パネル126は設定を行う操作画面などの各種画面やユーザーに対するメッセージなどを表示する。
カードリーダI/F127は、ユーザーの持つICカードから、ユーザー情報を非接触で読み取ることのできる装置である。カードリーダI/F127は、主に複合機120へのログインに利用される。ICカードによるログインを行わない場合は、ユーザーは操作パネル126からユーザー情報を入力するなどして複合機120へログインすることができる。
ネットワークI/F128は、イーサネットコントローラなどであり、LANやWANを用いて他のコンピュータと通信を行う。
エンジン部129は、プロッタやスキャナなどのエンジンを制御して、印刷やスキャン動作を実行する。
図5は、LF管理サーバー100のソフトウェアの機能構成を示すブロック図である。認証部30は、先行認証処理部9、認証処理部10、認証管理部11、WebAPI処理部12の機能を含む。抽出部31は、MIB情報取得部13、蓄積データ処理部14、履歴処理部15、統計処理部16の機能を含む。情報出力部32は、印刷データ管理部17、印刷データ送受信部18の機能を含む。
先行認証処理部9は、印刷ジョブが投入されたユーザーの履歴情報を利用して、利用頻度の高い複合機120の情報と、印刷ジョブ投入から印刷出力までの時間情報を元に、ユーザーが複合機120にログインする時間を算出してタイマーをセットする。先行認証処理部9は、タイマーによるトリガが発生すると、ユーザーの過去の認証情報を元に、認証を自動的に行い、その認証結果(認証トークン)を上記の複合機120、すなわち利用頻度の高い機器に通知しておく。これにより、ユーザーが複合機120に到着した頃には、バックグラウンドでの認証処理が済んでいる状態になり、複合機120の認証処理を迅速で処理することができる。
認証処理部10は、ログイン・ログアウトなどのユーザー認証を司る処理部でありユーザー情報を管理する認証管理部と共に利用される。LF環境では、ユーザーが自身のPC110にログインする際の認証は主に認証サーバーによって認証される。このLF管理サーバー100は、認証サーバーの機能も兼ねており、ユーザーのPC110への認証と、複合機120への認証(ユーザーのIDなどを入力するログイン形態)を同一のセッションとして管理することができる。そのため、ユーザーが自身のPC110から印刷指示を出した印刷データは、同じユーザーがログインする複合機120でも同じ印刷データを共有することが可能となる。
認証管理部11は、ユーザー情報を管理しており、認証処理部10と共に利用される。
WebAPI処理部12は、PC110のプリンタドライバと通信するための処理部であり、HTTP(S)などの汎用プロトコルを用いて通信が実現される。データフォーマットはXML(Extensible Markup Language)などの汎用フォーマットを用いることとし、プラットフォームなどに依存しないようにする。
MIB情報取得部13は、統計処理部16よって算出された複合機120のリストのうち、例えば上位3機の複合機120についてネットワーク130を介してMIB情報を取得する。元のデータには複合機120を特定するIPアドレスなどが含まれているため、IPアドレスを元に複合機120に対してアクセスし、MIB情報を取得する。ただし、ユーザーのPC110との通信ができていない場合に複合機120にアクセスしてもネットワーク130の負荷を高くしてしまうだけであるため、ユーザーのPC110のプリンタドライバからの要求時にのみバックグラウンドで実施する。
蓄積データ処理部14は、PC110のプリンタドライバから蓄積データ要求の依頼が発生した際に利用される処理部である。
履歴処理部15は、ユーザーが印刷出力した複合機120の情報を利用履歴データとして永続化し管理する処理部である。
統計処理部16は、履歴処理部15が取得した履歴データを元に、ユーザーが過去から現在までに利用した複合機120のリストを生成し、最も直近まで利用され、かつ、利用回数の多い複合機120を抽出する。企業内の複合機120は一定期間で入れ替わる可能性もあるため、利用回数だけでなく、最終利用日時なども考慮に入れる。これにより、ユーザーのよく利用する複合機のリストを算出することができる。
印刷データ管理部17は、PC110のプリンタドライバが生成した印刷データを蓄積しておく管理部であり、主にデータ保存用ストレージなどに保存しておく。印刷データ送受信部18によってデータが引取られ、印刷出力が成功した場合はデータ保存用ストレージから削除し、ストレージ領域を節約する。
印刷データ送受信部18は、PC110のプリンタドライバが生成した印刷データを受信し、複合機120が要求した際に送信する処理部である。
LF管理サーバー100のデータ保存領域33には、ユーザー情報19、印刷データ20、利用履歴データ21が保存される。これら各データの内容については後述する表1−1〜1−5に示す。
なお、上述したLF管理サーバー100の機能構成の一部または全部をハードウェアによって構成してもよい。
認証部30は、LF管理サーバー100に対してPC110から送られる複合機120のユーザー情報に基づいて認証処理を行い、当該複合機120を特定する。抽出部31は、特定された当該複合機120の利用可否に関する情報および履歴情報を含む機器情報を抽出する。情報出力部32は、特定した当該複合機120の機器情報をPC110に対して出力する。表示処理部(GUI処理部43、図6参照)は、情報出力部32から送られた機器情報を表示部に表示する。
このように、抽出部31は、PC110(プリンタドライバ)から印刷要求を受けるLF管理サーバー100において、ユーザーの過去の印刷出力情報(出力機器のIPアドレス、印刷条件など)を抽出する。これにより、ユーザーが指定した機器の情報を直接取得し、プリンタドライバを介してその機器の状況(他ユーザーが印刷中など)を事前に通知することができる。
また、抽出部31は、履歴処理部15を有する。履歴処理部15は、蓄積している複合機120の履歴情報を、既に蓄積している履歴情報に重複しないように統合する。このとき履歴処理部16は、当該履歴情報が前回取得時から現時点の期間が予め定めた期間以上経過している場合は、前記期間の単位に区切って、履歴情報を分割して取得する。
また、抽出部31は、履歴処理部15によって抽出されたユーザーの利用履歴を元に、過去から現在まで最も利用している前記画像形成装置の一覧を抽出する統計処理部16を有する。
また、抽出部31は、印刷要求後にLF管理サーバー100が印刷要求を受け付けたとき、統計処理部16によって抽出された複合機120の一覧の上位から順番に複合機120の状態を示すMIB情報を取得し、現在の複合機120の機器情報を取得する。
また、履歴処理部15は、ユーザーが特定の複合機120から印刷出力するタイミングでLF管理サーバー100のユーザーに対する履歴情報を追記し、少なくとも、ユーザー名、日時、機器名、機器の接続状態の項目のうちの一つ以上の項目で検索可能とする。
また、統計処理部16は、履歴処理部15によって抽出されたユーザーの履歴情報を元に、過去から現在まで最も利用している複合機120の一覧を抽出し、この一覧の上位の複合機120から接続可能な複合機120の機器情報のみ抽出する。
このように、履歴処理部15および統計処理部16によって抽出された複合機120のリストの上位から、最も利用する複合機120の現在の情報を取得し、ユーザーがプリンタドライバのGUI画面に表示できるようになる。
また、LF管理サーバー100には全ユーザーの利用履歴が蓄積されるため、タグ付けすることで後々の検索が高速化できるようになる。
また、履歴情報から統計処理を実施するだけではなく、抽出した複合機120のリストから、現時点で接続可能(利用可能)な複合機120のみを抽出することができるようになる。
図6は、PC110におけるプリンタドライバのソフトウェア機能構成を示すブロック図である。
なお、上述したPC110におけるプリンタドライバの機能構成の一部または全部をハードウェアによって構成してもよい。
認証処理部40は、ユーザーが自身のPC110にログインした際のセッション情報を元に、LF管理サーバー100の認証処理部10に対してユーザー認証を行う処理部である。また、認証処理部40は、ユーザーが複合機120にログインした際のセッションと統一的に扱うことが可能になる。これは統合認証システムやシングルサインオンなどと呼ばれる認証システムである。このようなシステムにより、一元管理されたユーザー情報、および、認証システムによって実現され、同じユーザーで同じアカウント情報でログインされるネットワーク内であれば、同一ユーザーとして扱うことができるようになる。
WebAPI処理部41は、LF管理サーバー100との通信を司る処理部であり、LF管理サーバー100に蓄積されている利用履歴を取得する際に用いる。LF管理サーバー100には全ユーザーの過去から現在までの利用履歴が蓄積されており、HTTP(S)などの汎用プロトコルで要求することができる。
印刷データ送信部42は、プリンタドライバが作成した印刷データをLF管理サーバー100に送信する処理部である。
GUI処理部43は、プリンタドライバのGUI画面を処理する。GUI画面はユーザーと対話型操作が可能であり、ユーザーからの要求も受け付ける。GUI処理部43は、プリンタの印刷設定や印刷後の綴じ処理、パンチ孔処理、仕分けなどを行うフィニッシャ(用紙後処理装置)の条件など設定できる。また、ユーザーが過去に利用した複合機120の一覧を表示し、ユーザーが選択した任意の複合機120の詳細情報を表示できる。ユーザーが過去に利用した複合機120の一覧は、LF管理サーバー100との通信を行い取得し、取得した情報を元にプリンタドライバが任意の複合機120の情報を取得する。複合機120の情報とはMIB情報であり、MIB情報処理部13が取得する。
印刷データ生成部44は、ユーザーから指定されたドキュメントの印刷データを生成する。ドキュメントとはテキストファイルやMS WORD(登録商標)、または、画像ファイルなどであり、印刷データとは、複合機(プリンタ)120が解釈できるPDL(ページ記述言語)、および、それに付随するデータである。生成した印刷データは、LF管理サーバー100に送られるが、データ作成中やネットワーク130で送信する直前は一時的にストレージ領域に保存される。
印刷データ管理部45は、印刷データ生成部44で作成した印刷データを管理する。ユーザーは複数のドキュメントの印刷を要求した場合は、ドキュメントごと、または、ドキュメントのページ単位で印刷データが生成されるため、このセットを管理する。
PC110のデータ保存領域には、ドキュメント46、印刷データ47が保存される。
図7は、複合機120のソフトウェア機能構成を示すブロック図である。操作制御部50は、ユーザーが操作する操作画面を操作パネル126に表示したり、ユーザーからの入力を受け付けるGUIである。操作制御部50は、ユーザーからの操作によって複合機120にジョブを実行させる要求を受け付ける。
ネットワーク通信部51は、ネットワーク130を介して外部のコンピュータと通信を行うものであり、ユーザーのPC110やLF管理サーバー100と通信を行う。また、ユーザーのPC110やLF管理サーバー100からのネットワーク管理プロトコル(SNMP)であるMIB情報の取得要求を受け付ける。MIB取得要求を受け付けると、機器情報処理部52が収集している情報を要求元へ返す。
機器情報処理部52は、複合機120内部の様々な情報を定期的に集計し、蓄積している処理部である。様々な情報とは、複合機120の用紙状態やトナー状態、機器のオンライン・オフライン状態、省エネルギーモードへの移行や復帰状態、および、これらを総合的に判断した複合機120を代表する総合状態を管理している。機器情報処理部52は、定期的(例えば1分程度)に上記状態を診断し複合機120の状態として管理するが、外部コンピュータなどからの要求により即時取得する場合もある。
実行判断処理部53は、残りの用紙枚数やトナー状態などの印刷消費サプライの状況を鑑みて操作制御部50やネットワーク130を介したジョブを実行可能か判断する。
印刷処理部54は、操作制御部50またはネットワーク130を介して要求されたジョブに対して印刷を実行する処理部である。例えば、印刷処理部54は、操作パネル126からの上部では、スキャナにより原稿の読み取りを行って印刷データを取得するか、または予め蓄積しておいた印刷データを選択して印刷出力する。
先行認証情報管理部55は、LF管理サーバー100の先行認証処理部9から通知された認証情報を管理しておく処理部であり、複合機120を利用するユーザーごとの認証情報が管理される。
次に、LF管理サーバー100、PC110、複合機120の各情報について順に説明する。表1−1は、LF管理サーバー100が管理する全ユーザーの利用履歴・機器情報のテーブルになる。このテーブルには、ユーザーごとの利用日時や印刷出力した複合機120の情報が蓄積され、いつ・誰が・どの機器を使用したかが分かるようになっている。この表は、ユーザーが自身のユーザーPC110から印刷要求を出し、LF管理サーバー100に印刷データの蓄積要求が発生した時点で更新され、ユーザーが特定の複合機120で印刷出力したタイミングでも更新される。
表1−2は、複合機120の現在の状態を表したテーブルになる。このテーブルでは、ユーザーの利用した機器の接続情報を管理する。この表は、上記に記したユーザーPC110による印刷出力のタイミングと、定期的な間隔(例えば毎日深夜1時)など予め指定したタイミングで更新される。接続状態は、主に接続可・不可の2値を取り、プリンタドライバへ通知する履歴情報には、接続可能機器の情報のみ通知するようにする。これにより、ネットワーク130上のパケットを低減し、ネットワーク130の負荷を抑える。
表1−2のテーブルに格納するデータは、主に複合機120との接続状態、情報更新日時、複合機120を特定するためのIPアドレスとなる。同一機器でもIPアドレスなどが変更され、接続不可となったデータは新しいデータで上書きされ重複を防ぐようにする。接続不可状態が継続している場合は、情報更新日時は古いままにしておく。
表1−3は、LF管理サーバー100が管理するユーザーの利用履歴である。この情報は、ユーザーが複合機120で印刷出力した履歴情報であり、過去全てのユーザーの利用履歴を蓄積している。ユーザーが利用した複合機120の名称、IPアドレス、利用日時のリストとして更新され、LF管理サーバー100のストレージ領域などで永続化されている。
表1−4は、LF管理サーバー100で永続化されている履歴データから統計を算出した結果を表すテーブルであり、永続化を開始してから現在までの履歴から特定機器の利用回数などを集計する。利用回数が多く、かつ、最終利用日時も最近のものであれば、ユーザーがよく使う機器として把握することができる。
表1−5は、特定のユーザーで抽出した、表1−4で集計したデータを利用率の高い順に並べ替えたテーブルであり、上から順番にユーザーがよく使う複合機120と判断できる。このとき、以前のIPアドレスと異なっていたりしてネットワーク接続できない場合もあるため、ping(packet internet groper)コマンドなどを使って表を更新する際に簡単な接続テストを実施し、接続できない機器は除外する。除外処理は、同じ機器で複数のIPアドレスが登録される場合や、同じIPアドレスで複数の複合機120が登録されていることがないようにするための処理である。
表1−6は、特定ユーザーにおける特定機器での印刷ジョブ投入から認証処理を実施するまでの経過時間の履歴を表している。例えば、ユーザー1がユーザーPC110から印刷ジョブを投入し、複合機120(出力機器ID_0123)で認証を行って印刷出力を実施するまでは、直近の履歴からは11分間の時間を要していることが分かる。このユーザーおいては、表1−4から複合機120(出力機器ID_0123)の利用率が高いと判断可能であり、かつ、ユーザーPC110から印刷ジョブを投入した後に複合機120(出力機器ID_0123)で認証および印刷出力するまでの時間は概ね10分程度と判断可能である。昼時間(12:00−13:00)を跨ぐ場合は時間が長引く傾向にあることが分かる。
このケースでは、ユーザー1が印刷ジョブ投入から5〜10分後に先行認証情報を複合機120(出力機器ID_0123)が受信しておくことで、ユーザーが複合機120で認証するタイミング(11分後〜12分後)には既に認証を完了させておくことができるようになる。
また、昼時間を跨ぐようなケースでは、ジョブ投入から1時間程度掛かる場合も考えられるため、複合機120側で先行認証情報のタイムアウト(認証破棄)を行うタイミングは例えば1時間に設定できることが分かる。
表2−1は、特定の複合機120から取得したMIB情報を表したテーブルである。このテーブルは、複合機120の現在の状態(利用可、印刷中、故障中、用紙不足、トナー不足、など)を表しており、LF管理サーバー100はこの情報を元に、空いている複合機を把握できる。このテーブルが更新されるタイミングは、ユーザーがプリンタドライバのGUI画面の利用履歴から特定の複合機を選択したタイミングで複合機120に対してMIB情報を取得して更新されるものとする。更新タイミングは、予め設定された間隔(例えば起動から1分後、その後、1分間間隔など)で更新されるものとし、統計処理によって抽出したリストにおける上位から下位に向かって更新する。
表2−2〜2−7は複合機120が持っている代表的なMIB情報となる。複合機120はネットワーク130を介して現在の状態を取得できるMIB機能が備わっており、ネットワーク管理プロトコル(SNMP)を使ってアクセスできる。特にPrinterMIBv2と呼ばれるMIB情報には、複合機120特有の情報がデータベース形式で取得することが可能になる。LF管理サーバー100では、上記のデータを取得することで複合機120の現在の状態を判断することができる。
次に、印刷出力、印刷要求、機器情報の取得における各処理の流れについて説明する。図8は、ユーザーが複合機120から印刷出力する際に、LF管理サーバー100側に履歴情報が蓄積される処理の流れを示すシーケンス図である。
図8において、まず、ユーザーは複合機120の操作パネル126を操作し、複合機120にログインする(ステップS1)。ログインは、ユーザーが操作パネル126で事前に設定しているIDか、自身を特定する情報が埋め込まれたICカードを利用するものとする。ログインが実行されると、認証サーバーとなるLF管理サーバー100への問合せが発生する(ステップS2)。ユーザー情報はLF管理サーバー100側で一元管理されているものとし、ユーザーがPC110にログインすると、複合機120と同じように認証サーバー(LF管理サーバー100)への問合せが発生する(ステップS3)。
LF管理サーバー100は、クライアント側(複合機120かPC110か)からログイン要求が来ると、認証機能を司る処理部で認証を行い、一元管理されたユーザー情報と照合を行う。照合に合致するとログインされた状態とする(ステップS4)。
ユーザーがログインされた状態になると、LF管理サーバー100にある蓄積された印刷データのリストを取得することができる(ステップS5〜S7)。印刷データは、事前にユーザーのPC110から送信されたデータであり、印刷出力が未実施のリストとなる。複合機120はログインされたユーザーの蓄積データのリストを受け取ると、操作パネル126に印刷可能リストとして表示する。場合によっては印刷しないこともあるため、リストから削除することも可能とする。
ユーザーが複合機120の操作パネル126から印刷したいデータを選択し、印刷を開始すると、複合機120はリストの印刷データを一つ一つLF管理サーバー100から取得し、印刷を開始することができる(ステップS8〜S10)。また、複合機120が印刷データを引き取ることにより、ユーザーが印刷出力する機器としてLF管理サーバー100内部に履歴登録される(ステップS11)。このとき、印刷出力される際の複合機120の情報として、機器を特定するIPアドレスや機器名(ホスト名など)が登録対象となる。
複合機120は印刷処理を実行(ステップS12)すると、印刷結果をLF管理サーバー100に通知する(ステップS13)。
印刷結果の登録が完了(ステップS14)すると、印刷データの削除(ステップS15)、さらにユーザーごとに登録してある機器の利用履歴を更新するため、LF管理サーバー100はバックグラウンドで処理を実行する(ステップS16〜S17)。処理内容は、利用履歴の更新と、利用回数の再集計などであり、ユーザーが印刷出力するたびに更新処理を実施する。
図9−1および図9−2は、図8のシーケンスにおけるプリンタドライバとLF管理サーバー100との処理を詳細に記載したシーケンス図である。この図9では複合機120の利用履歴を取得する箇所までは図8とほぼ同じになる(ステップS21〜S35)。
LF管理サーバー100は、PC110のプリンタドライバからの履歴取得要求を受けた後(ステップS36)、LF管理サーバー100で蓄積している履歴情報をプリンタドライバ側へ通知する(ステップS37)。プリンタドライバへ通知する情報は、例えば1ヶ月単位や一定件数などに分割してデータ送信量が一定以下になるように配慮する。プリンタドライバ側は送られてきた履歴データをGUIに表示する(ステップS38)。
LF管理サーバー100は、プリンタドライバに履歴情報を通知した後、履歴情報に統計処理を行い、ユーザーの利用率の高い複合機120を抽出する(ステップS39)。抽出された複合機120のリストから、最も利用率の高い順にMIB情報を取得(ステップS40〜S43)し、複合機120の現在の状況を取得する。取得したデータは、その都度プリンタドライバ側へ通知する(ステップS44)こととし、ユーザーが現時点の複合機120の状況を把握できるようにする(ステップS45)。ユーザーがプリンタドライバの履歴から、特定の複合機120を選択した場合は、その選択された複合機120の情報と共に、LF管理サーバー100へ通知し、リアルタイムなMIB情報を取得する処理を実施する(ステップS46〜S50)。ただし、MIB情報取得が頻繁に起こるとネットワーク130の負荷を高めてしまう。このため、過去取得時からある程度(例えば1分)を超えた場合のみMIBの取得処理を実施することとし、短い間隔でのリクエストには、前回実施時のMIB情報を返すようにする(ステップS51〜S59)。
図10は、ユーザーのPC110におけるプリンタドライバのGUI画面例を示す説明図である。ユーザーは、テキストエディタソフトなどのアプリケーションから印刷指示を出すと、プリンタドライバのGUI画面を表示することができる。プリンタドライバのGUIでは、一般的な印刷設定などの他、ユーザーが過去に使用したことのある複合機と現在の状態を表示できる画面が用意され、ユーザーが任意のタイミングで表示できる。
ユーザーが上記画面を表示すると、その時点で取得済みの複合機120の利用履歴データ(GUI画面の上部のテーブル)が表示される。これは、ユーザーが今まで利用したことのある複合機120のリストであり、複合機120ごとの利用回数、IPアドレス、現在の接続状態を表示できる。また、プリンタドライバはLF管理サーバー100へバックグラウンドで利用履歴データを取得しており、前回データから更新されていれば、その都度GUIの表示も更新する。
プリンタドライバは、LF管理サーバー100からバックグラウンドで複合機120の詳細情報も取得しており、上部のリストの内、選択されている(例えば、背景と文字処理が反転して表示する)複合機120の詳細情報をGUIの下部に表示する。ただし、選択されていない複合機120の情報もバックグラウンドで取得しているため、ユーザーによって選択する複合機120が替わった際も、即時に下部に詳細情報を表示することができる。
以上説明してきた実施の形態では、ネットワーク130を介し、LF管理サーバー100と情報処理装置(ユーザーPC110)と複数の複合機120とが相互接続された情報処理システムであって、LF管理サーバー100は、複数の複合機120の履歴情報に基づいてユーザーの利用頻度の高い複合機120を特定し、特定された複合機120に対して認証済みの情報を通知する先行認証処理部9と、複合機120のユーザー情報に基づいて認証処理を行い当該複合機120の認証処理を行う認証処理部10と、を有し、LF管理サーバー100は、認証済みの情報を通知した複合機120のユーザー操作が行われた際に、通常のユーザー認証処理を行わずに認証済みの情報に基づく認証処理を行う。
したがって、ユーザーが利用する複合機120に対して先行して認証を実施して認証結果を複合機120に通知することにより、LF環境にある複数の複合機120のうち、ユーザーがよく使用する複合機120の認証処理を迅速に処理することができる。
また、LF管理サーバー100は、印刷要求を受け付けた時点で、複数の複合機120の一覧の上位から順番に、利用頻度を含む機器情報を取得する機器情報取得部(MIB情報取得部13)を備える。
これにより、LF管理サーバー100の履歴処理部15、統計処理部16によって抽出された複合機120のリストの上位から、最も利用する複合機120の現在の情報を取得し、ユーザーがプリンタドライバのGUI画面に表示できるようになる。
また、LF管理サーバー100は、ユーザーが特定の画像出力機器から印刷出力するタイミングで、F管理サーバー100のユーザーに対する履歴情報を追記し、少なくともユーザー名、機器名、機器の接続状態を含むキーワードで検索する機能を有する履歴処理部15を備える。
これにより、LF管理サーバー100には全ユーザーの利用履歴が蓄積されるため、タグ付けうることで後々の検索が高速化ができるようになる。
また、LF管理サーバー100は、履歴処理部15によって抽出されたユーザーの利用履歴を元に、現時点までに最も利用している複合機120の一覧を抽出し、その一覧の上位の複合機120から、現時点でネットワーク130を介した接続が可能であるかを判断し、接続可能な複合機120の情報のみを抽出する統計処理部16を備える。
これにより、履歴情報から統計処理を実施するだけではなく、抽出した複合機120のリストから、現時点で接続可能(利用可能)な複合機120のみを抽出することができるようになる。
また、先行認証処理部9は、統計処理部16によって抽出された複合機120の利用頻度に基づき、当該複合機120におけるユーザーの印刷ジョブの投入から認証までの経過時間を抽出し、先行認証のタイミングを算出する。また、先行認証処理部9は、算出された先行認証のタイミングに応じたタイマー処理を開始し、当該複合機120に先行認証の結果を通知する。
これにより、特定のユーザーが特定の複合機120での認証に要する時間を処理することで、先行認証の適切なタイミングを把握することが可能になる。また、ユーザーの利用履歴を用いることで、先行認証が必要な複合機120を特定することができるので、むやみに他の複合機120に認証情報を渡す必要がなくセキュリティ低下の影響を抑えることが可能となる。
このように、上述した実施の形態によれば、ジョブが実行可能になる時間を短縮して操作性を向上させるべく、ユーザー認証のための認証情報が受信された場合、その認証情報をLF管理サーバー100に送信して先行認証としてユーザー認証を実行し、ユーザー操作に基づいて認証情報を入力した場合、その認証情報が、既に記憶済の認証情報と一致することを条件として、先行認証の結果を反映させることによりジョブ設定情報の範囲内でのジョブの実行を可能にすることができる。
ところで、本実施の形態の情報処理システム100で実行されるプログラムは、メモリユニット102,112等に予め組み込まれて提供される。また、上記プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供してもよい。
さらに、本実施の形態で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施の形態で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
本実施の形態で実行されるプログラムは、上述した各部を含むモジュール構成となっている。実際のハードウェアとしてはCPU(プロセッサ)101,111が上記メモリユニット102,112からプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、各部が主記憶装置上に生成されるようになっている。
なお、上述してきた実施の形態は本発明を実現するための一例として提示したものであり、発明の範囲を限定することは意図しない。これらの新規な実施の形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。また、これら実施の形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。