〔第1実施形態〕
以下、図面を参照して、本発明の実施形態を詳細に説明する。
図1は、本発明の印刷管理サーバおよびプリンタを適用可能な印刷システムの構成の一例を示すシステム構成図である。
図1に示すように、本実施形態の印刷システムは、1又は複数のクライアント端末400(例えば、ユーザ毎)、複数のプリンタ300(プリンタ300a、プリンタ300b、…)、印刷管理サーバ100、認証サーバ200がローカルエリアネットワーク(LAN)600を介して接続され、印刷管理サーバ100は、携帯端末500と通信を行う構成となっている。
クライアント端末400には、不図示のサーバから帳票生成に必要なフォーム及びテキストデータを取得し、オーバレイを行い帳票を生成する帳票ソフトがインストールされている。この帳票ソフトは、生成された帳票をSOAP等の通信を用いて、当該帳票を帳票の印刷実行命令、ユーザ識別情報とともに印刷管理サーバへ送信する。なお、本実施例では印刷データとして帳票を考え、以降の説明を行うが、印刷データは、プリンタで通常印刷可能なデータであればよく、ワープロソフトで作成される一般的な文書、あるいは画像編集ソフトで作成される画像等も含まれる。
印刷管理サーバ100には、プリンタドライバがインストールされ、受信した帳票(印刷データ)を帳票管理データベース(後述する図5)に蓄積し、出力指示に基づいてプリンタドライバを介してプリンタ300へ印刷データを送信する。
認証サーバ200は、認証用テーブル(後述する図8)を記憶し、プリンタ300のカードリーダ(後述する図3の319)へ携帯端末500をかざすことによってなされる認証依頼に応じて、認証用テーブルを用いて認証処理を行う。
以下、図2を用いて、図1に示したクライアント端末400、印刷管理サーバ100、認証サーバ200に適用可能な情報処理装置のハードウェア構成について説明する。
図2は、図1に示したクライアント端末400、印刷管理サーバ100、認証サーバ200に適用可能な情報処理装置のハードウェア構成を示すブロック図である。
図2において、201はCPUで、処理の実行に際して必要なプログラム等をROM202あるいは外部メモリ211からRAM203にロードして、ロードしたプログラムを実行することで各種動作を実現し、システムバス204に接続される各デバイスやコントローラを統括的に制御する。
また、ROM202あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input/Output System)やオペレーティングシステムプログラム(以下、OS)や、各サーバ或いは各PCの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。203はRAMで、CPU201の主メモリ、ワークエリア等として機能する。
また、205は入力コントローラで、キーボード(KB)209や不図示のマウス等のポインティングデバイス等からの入力を制御する。206はビデオコントローラで、CRTディスプレイ(CRT)210等の表示器への表示を制御する。なお、図2では、CRT210と記載しているが、表示器はCRTだけでなく、液晶ディスプレイ等の他の表示器であってもよい。これらは必要に応じて管理者が使用するものである。
なお、CPU201は、例えばRAM203内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、CRT210上での表示を可能としている。また、CPU201は、CRT210上の不図示のマウスカーソル等でのユーザ指示を可能とする。
207はメモリコントローラで、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク(HD)や、フレキシブルディスク(FD)、或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュ(登録商標)メモリ等の外部メモリ211へのアクセスを制御する。
208は通信I/Fコントローラで、ネットワーク(例えば、図1に示したLAN600)を介して外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いた通信等が可能である。
本発明を実現するための後述する各種プログラムは、外部メモリ211に記録されており、必要に応じてRAM203にロードされることによりCPU201によって実行されるものである。さらに、上記プログラムの実行時に用いられる定義ファイル及び各種情報テーブル等も、外部メモリ211に格納されており、これらについての詳細な説明も後述する。
次に、図3を用いて、図1に示したプリンタ300を制御するコントローラユニット316のハードウェア構成について説明する。
図3は、図1に示したプリンタ300のコントローラユニット316のハードウェア構成の一例を示すブロック図である。
図3において、316はコントローラユニットで、画像入力デバイスとして機能するスキャナ部314や、画像出力デバイスとして機能するプリンタ部312と接続する一方、LAN(例えば、図1に示したLAN600)や公衆回線網(WAN)(例えば、PSTNまたはISDN等)と接続することで、画像データやデバイス情報の入出力を行う。
コントローラユニット316において、301はCPUで、システム全体を制御するプロセッサである。302はRAMで、CPU301が動作するためのシステムワークメモリであり、プログラムを記録するためのプログラムメモリや、画像データを一時記録するための画像メモリでもある。
303はROMで、システムのブートプログラムや各種制御プログラムが格納されている。304はハードディスクドライブ(HDD)で、システムを制御するための各種プログラム、画像データ等を格納する。
307は操作部インタフェース(操作部I/F)で、操作部308とのインタフェース部である。また、操作部I/F307は、操作部308から入力したキー情報(例えば、スタートボタンの押下)をCPU301に伝える役割をする。
305はネットワークインタフェース(Network
I/F)で、ネットワーク(LAN)に接続し、データの入出力を行う。306はモデム(MODEM)で、公衆回線網に接続し、FAXの送受信等のデータの入出力を行う。
318は外部インタフェース(外部I/F)で、USB、IEEE1394、プリンタポート、RS−232C等の外部入力を受け付けるI/F部である。本実施形態においては、認証で必要となる携帯端末500のICカード(記憶媒体、後述する図4の419)の読み取り用のカードリーダ319が外部I/F部318に接続されている。そして、CPU301は、この外部I/F318を介してカードリーダ319(読取部)によるICカードからの情報読み取りを制御し、ICカードから読み取られた情報を取得可能である。以上のデバイスがシステムバス309上に配置される。尚、カードリーダに限らず、指紋リーダ(不図示)を備えてもよく、この場合、指紋リーダで読み取った指紋から値を算出し、この算出された値と識別情報として用いる。
320はイメージバスインタフェース(IMAGE
BUS I/F)であり、システムバス309と画像データを高速で転送する画像バス315とを接続し、データ構造を変換するバスブリッジである。
画像バス315は、PCIバスまたはIEEE1394で構成される。画像バス315上にはイメージバスインタフェース320に加えて、ラスタイメージプロセッサ(RIP)310と、プリンタインタフェース(プリンタI/F)311と、スキャナインタフェース(スキャナI/F)313と、画像処理部317とが配置される。
310はラスタイメージプロセッサ(RIP)で、例えば、PDLコード等のベクトルデータをビットマップイメージに展開する。311はプリンタインタフェース(プリンタI/F)で、プリンタ部312とコントローラユニット316を接続し、画像データの同期系/非同期系の変換を行う。また、313はスキャナインタフェース(スキャナI/F)で、スキャナ部314とコントローラユニット316を接続し、画像データの同期系/非同期系の変換を行う。
317は画像処理部で、入力画像データに対し補正、加工、編集を行ったり、プリント出力画像データに対して、プリンタの補正、解像度変換等を行ったりする。また、これに加えて、画像データの回転や、多値画像データに対してはJPEG、2値画像データに対してはJBIG、MMR、MH等の圧縮伸張処理を行う。
スキャナ部314は、原稿となる紙上の画像を照明し、CCDラインセンサで走査することで、ラスタイメージデータとして電気信号に変換する。原稿用紙を原稿フィーダのトレイにセットし、装置使用者が操作部308から読み取り起動指示することにより、CPU301がスキャナ部314に指示を与え、原稿フィーダは原稿用紙を1枚ずつフィードし原稿画像の読み取り動作を行う。
プリンタ部312は、ラスタイメージデータを用紙上の画像に変換する部分である。その方式は感光体ドラムや感光体ベルトを用いた電子写真方式、微少ノズルアレイからインクを吐出して用紙上に直接画像を印字するインクジェット方式等があるが、どの方式でも構わない。プリント動作の起動は、CPU301からの指示によって開始する。なお、プリンタ部312には、異なる用紙サイズまたは異なる用紙向きを選択できるように複数の給紙段を持ち、それに対応した用紙カセットがある。
操作部308は、LCD表示部を有し、LCD表示部の上にはタッチパネルシートが貼られている。LCD表示部は、システムの操作画面を表示するとともに、表示してあるキーが押されるとその位置情報を操作部I/F307を介してCPU301に伝える。また、操作部308は、各種操作キーとして、例えば、スタートキー、ストップキー、リセットキー等を備える。
尚、表示部はプリンタによって表示性能が異なり、タッチパネルを介して操作をできるプリンタ、単に液晶画面を備え文字列を表示(印刷状態や印刷している文書名の表示)させるだけのプリンタ、あるいは表示部を持たず、操作キーのみ有するプリンタ等があるが、どの方式でも構わない。
ここで、操作部308のスタートキーは、原稿画像の読み取り動作を開始する時などに用いる。また、操作部308のストップキーは、稼働中の動作を止める働きをする。リセットキーは、操作部からの設定を初期化する時に用いる。
カードリーダ319は、CPU301からの制御により、ICカードに記憶されている情報を読み取り、読み取った情報を外部I/F318を介してCPU301へ通知する。読取方法は、非接触型としても、接触型としても構わない。また、本実施例では読取手段としてカードリーダを外付けとする構成について説明するが、読み取り部をプリンタ本体に設ける構成等でもよい。
以上のような構成によって、プリンタ300は、カードリーダ319を介してICカードから読み取った情報やスキャナ部314から読み込んだ画像データをLANを介して送信したり、LANを介して受信した印刷データをプリンタ部312により印刷出力したりすることができる。
また、スキャナ部314から読み込んだ画像データをモデム306により、公衆回線網を介してFAX送信したり、公衆回線網を介してFAX受信した画像データをプリンタ部312により出力したりすることができる。
以下、図4を用いて、図1に示した携帯端末500のハードウェア構成について説明する。携帯端末は、データの送受信を行う送受信部と、各種情報を表示する表示部と、表示情報に基づく選択が可能な入力部があればよい。例えば、携帯電話やPDA(Personal Digital Assistants)などである。本実施例では、携帯端末として携帯電話を用いた場合を説明する。
図4は、図1に示した本実施例の携帯端末500のハードウェア構成を説明するブロック図である。
図4に示すように、携帯端末500は、制御部411と、受話部412と、送話部413と、送受信部414と、表示部415と、入力部416と、ROM417と、RAM418と、ICカード419とを備える。
制御部411は、ROM417に格納されたプログラムに従って動作し、この携帯端末全体の動作を制御する。
受話部412は、スピーカなどを備え、制御部411から供給されるディジタル音声信号をアナログ音声信号に変換し、スピーカから放音する。送話部413は、マイクロフォンなどを備え送信対象の音声データを取り込み、ディジタル信号に変換して制御部411に供給する。
送受信部414は、印刷管理サーバ100との間で、アンテナを介して無線通信を行う。表示部415は、様々な情報を表示する。
なお、携帯端末500と印刷管理サーバ100との無線通信は不図示の基地局を介して行うように構成されている。
入力部416は、ダイアルボタンなどを備え、様々な指示を入力する。ROM417は、制御部411の動作プログラム及び固定データを記憶する。
RAM418は、バッテリによりバックアップされており、制御部411のワークエリアとして機能し、外部から取得した情報を一時記憶する。
ICカード419は、ICチップにより構成される記憶媒体であり、所定の識別情報が書き込まれている。所定の識別情報とは、製造番号や個人を特定する情報などである。また、プリンタ300に備えてあるカードリーダ319との間で通信がなされる。なお、本実施例ではICカード419は携帯端末500に内蔵されている。
以下、図5〜図7を参照して、図1に示した印刷管理サーバ100の外部メモリ211に記憶されるデータについて説明する。
図5は、図1に示した印刷管理サーバ100の外部メモリ211に記憶される帳票管理データベースの一例を示す模式図である。
図5に示すように、帳票管理データベースは、タイムスタンプ501、ユーザ名502、文書名503、印刷状態504、帳票データ505が対応付いて構成される。
タイムスタンプ501は、印刷管理サーバ100が帳票データ505を受信した日時を示す。ユーザ名502、文書名503は、クライアント端末400から帳票データ505とともに受信したユーザ名(ユーザ識別情報)、文書名に対応する。印刷状態504は、帳票データ505の印刷状態を示す。例えば、未出力であることや出力済であることなどである。帳票データ505は、クライアント端末400において作成し、印刷管理サーバ100に送信した帳票データである。
なお、この帳票管理データベースは、上述したようにクライアント端末400から印刷管理サーバ100に登録されるものとする。
図6は、図1に示した印刷管理サーバ100の外部メモリ211に記憶されるプリンタドライバ関連テーブルの一例を示す模式図である。
図6に示すように、プリンタドライバ関連テーブルは、プリンタ名601、プリンタIPアドレス602、プリンタドライバ名603から構成される。
プリンタ名601とプリンタドライバ名603は個々のプリンタとプリンタドライバについて設けられる。プリンタIPアドレスは、個々のプリンタに割り振られるIPアドレスである。
なお、このプリンタドライバ関連テーブルは、印刷管理サーバ100の外部メモリ211に予め登録されているものとする。
図7は、図1に示した印刷管理サーバ100の外部メモリ211に記憶されるプリンタ表示部有無テーブルの一例を示す模式図である。
プリンタ表示部有無テーブルは、プリンタ名とプリンタIPアドレスと、表示部有無情報により構成される。プリンタ名とプリンタIPアドレスは個々のプリンタについて設けられる。表示部有無情報は、個々のプリンタに、(帳票データ一覧を表示できる)表示部があるか否か等を示すものである。
なお、このプリンタ表示部有無テーブルは、印刷管理サーバ100の外部メモリ211に予め登録されているものとする。
以下、図8を参照して、図1に示した認証サーバ200の外部メモリ211に記憶される認証用テーブルについて説明する。
図8は、図1に示した認証サーバ200の外部メモリ211に記憶される認証用テーブルの一例を示す模式図である。
図8に示すように、認証用テーブルは、製造番号801、ユーザ名802、メールアドレス803、部門ID804、部門パスワード805、管理者権限806、携帯端末識別情報807等から構成される。
製造番号801は、携帯端末500内蔵のICカード419の製造番号であり、ICカード(記憶媒体)を識別する情報である。ユーザ名802とメールアドレス803は、ユーザ個人が設定するユーザ名とメールアドレスである。部門ID804と部門パスワード805はユーザが所属する部門ごとに設けられたIDとパスワードである。管理者権限806は、ユーザの持つ管理者権限の情報である。携帯端末識別情報807は、個々の携帯端末を識別するための情報であり、例えば電話番号やIPアドレスなどである。
尚、携帯端末500には、その携帯端末500を所有するユーザ(利用者)を特定するためのICカードが挿入可能に構成されており、このICカードは、他の携帯端末に差し替えるだけで、他の携帯端末が自分の携帯端末と同様に使えるようにするためのものである。つまり、このユーザを特定するためのICカードの識別番号を携帯端末識別情報として使用することも可能である。
以下、図9のフローチャートを参照して、図8に示した認証用テーブルへの製造番号801及び携帯端末識別情報807の登録処理を説明する。なお、本実施形態では、認証サーバ200には、不図示の外部インタフェース(例えばUSB)を介して、携帯端末500内蔵のICカード419の読み取り用のカードリーダ(図3のカードリーダ319と同様の機能)が接続されている。そして、認証サーバ200のCPU201は、カードリーダによるICカード419の情報読み取りを制御し、ICカード419から読み取られた情報を取得可能である。
図9は、本発明における第1の制御処理手順の一例を示すフローチャートであり、本発明における認証用テーブル登録処理に対応する。
なお、図中、S1は、携帯端末500のステップに対応し、携帯端末500の制御部411がROM417に格納されるプログラムを実行することにより実現される。
また、S2〜S3は、認証サーバ200の各ステップに対応し、認証サーバ200のCPU201が外部メモリ211に格納されるプログラムをRAM203上で実行することにより実現される。
まず、ステップS1において、携帯端末500の制御部411は、携帯端末500のROM417等に記憶されている携帯端末識別情報(例えば電話番号やIPアドレス等)を認証サーバ200へ送信する。
ステップS2において、認証サーバ200のCPU201は、携帯端末500から送信される携帯端末識別情報を受信する。
この携帯端末識別情報の受信後の所定期間、認証サーバ200のCPU201は、カードリーダによる携帯端末500内蔵のICカード419の読み取りを行う。
携帯端末500がカードリーダにかざされると、認証サーバ200のCPU201は、これを検知し、ICカード419の製造番号を読み出す(S3)。
次に、ステップS4において、認証サーバ200のCPU201は、ステップS2で受信した携帯端末識別情報と、ステップS3で読み取った製造番号を関連付け、製造番号をキーにして図6に示す認証用テーブルの製造番号801、携帯端末識別情報807へ登録する。
なお、図9に示した処理を実行しなくても、管理者が手作業等により、製造番号801と携帯端末識別情報807とを認証用テーブルに登録しておく方法であっても、本発明を実現可能である。
以下、図10A、図10B、図10Cのフローチャートを参照して、本発明における印刷処理について説明する。
図10Aおよび図10Bおよび図10Cは、本発明における第2の制御処理手順の一例を示すフローチャートであり、本発明における、印刷指示に基づいた印刷に関する処理に対応する。
なお、図10A中、S101〜S103は、認証サーバ200のステップに対応し、認証サーバ200のCPU201が外部メモリ211に格納されるプログラムをRAM203上で実行することにより実現される。
また、図10B中、S201〜S217および図10C中、S501〜S508は、印刷管理サーバ100の各ステップに対応し、印刷管理サーバ100のCPU201が外部メモリ211に格納されるプログラムをRAM203上で実行することにより実現される。
なお、図10C中、S501〜S508は、印刷管理サーバ100のCPU201が常時実行しているメインスレッドのプログラムの各ステップを示し、図10B中、S201〜S217は、印刷管理サーバ100のCPU201が、実際に印刷の制御を行う際に、一連の印刷処理プロセスごとに複数並行して実行可能なサブスレッドのプログラムの各ステップを示している。
また、図10B中、S301〜S314は、携帯端末500のステップに対応し、携帯端末500の制御部411がROM417に格納されるプログラムを実行することにより実現される。
また、図10A中、S401〜S419は、プリンタ300(ここではプリンタ300aとして説明するがどのプリンタであってもよい)のステップに対応し、プリンタ300aのCPU301がROM303に格納されるプログラムを実行することにより実現される。
また、図10A、図10B、図10C中、I601〜I609およびI701〜I703は、図10A、図10B、図10Cで各ステップ間のデータの受け渡しの結びつきを示すための関連づけのための記号である。
また、図10A、図10B、図10C中の各ステップをつなぐ実線は、処理の流れの順序を示し、破線は、各プログラム間のデータの受け渡しの流れを示すものである。
まず、ユーザが携帯端末500にアプリケーション(印刷管理サーバ100との接続を行うための接続アプリケーション)の起動を指示すると、ステップS301において、携帯端末500の制御部411は、アプリケーションを起動し、ステップS302において、携帯端末500の携帯端末識別情報を接続情報として含む接続要求を印刷管理サーバ100に送信する。
印刷管理サーバ100では、ステップS501において、接続要求を受信(I609)すると、ステップS502において、携帯端末500の接続アプリケーションからの接続要求(接続情報として携帯端末識別情報を含む)に基づき、携帯端末500に対応するサブスレッドの存在を検索する。サブスレッドの検索は後述する図11に示すスレッド管理テーブルに対して、携帯端末識別情報をキーにして実施する。初回の検索においては、サブスレッドは存在しないため、検索結果は対象サブスレッド無しとなる。
次に、ステップS503において、印刷管理サーバ100のCPU201は、サブスレッドの検索結果が対象サブスレッド無しであると判断された場合は、ステップS504へ進み、新規のサブスレッドを生成し、図11に示すスレッド管理テーブルに新しいサブスレッドの情報のレコードを追加(書込)する。
図11は、印刷管理サーバ100のRAM203内に記憶されるスレッド管理テーブルの一例を示す図である。
図11に示すように、スレッド管理テーブルでは、サブスレッドを識別するスレッドID1101とユーザ名1102、携帯端末識別情報1103、プリンタIPアドレス(プリンタ識別情報)1104、スレッドポインタ1105が関連付け(対応付け)られている。
スレッドID1101は、サブスレッド生成時にユニークな値が割り当てられる。携帯端末識別情報1103は携帯端末500の接続情報より取得した値を記録する。スレッドポインタ1105は、生成したサブスレッドのRAM203内における実行プログラムのアドレス情報を指し示す情報を記録する。ユーザ名1102、プリンタIPアドレス1104は、この時点ではデータの無い状態である。
以下、図10A、図10B、図10Cのフローチャートの説明に戻る。
次に、ステップS505において、印刷管理サーバ100のCPU201は、ステップS501で受信した内容が携帯端末500からの接続情報を含む接続要求であると判断した場合には、ステップS506へ進む。
次に、ステップS506において、印刷管理サーバ100のCPU201は、ステップS504で生成したサブスレッドに対し、接続情報を含む接続要求の受け渡しを実施(I701)した後、再びステップS501の受信待ち状態となる。
ステップS506において、接続要求の受け渡しを受けたサブスレッドは、ステップS201においてこれを受け渡される(I701)。これにより、印刷管理サーバ100と携帯端末500との接続が確立される。つまり、印刷管理サーバから帳票データの一覧を受け取り、携帯端末500の表示部に帳票データの一覧を表示させ、印刷指示を行うことが可能となる。尚、後述するS401〜S403のICカードをかざすことで認証され、S206で帳票データの一覧を携帯端末に送信(一覧情報送信)する際、印刷管理サーバ100と携帯端末500との接続が確立されていない場合には、後述する第2実施形態の電子メールを用いて帳票データの一覧を表示させるように構成しても良い。
ステップS202において、印刷管理サーバ100のCPU201は、受け渡された情報が携帯端末500からの接続要求であると判断した場合、ステップS203へ進み、携帯端末とのセッションを確立した後、再びステップS201の受信待ち状態となる。
なお、このセッションは、解放されるまで対象のサブスレッドにおいて管理されるものとする。なお、携帯端末500との通信が一定時間なされない場合、セッションを解放するように構成してもよい。
なお、携帯端末500のアプリケーションを印刷管理サーバ100からの命令により起動させる場合は、印刷管理サーバ100が能動的にサブスレッドを生成する前提で、S301、S302、およびS201、S202での接続要求の処理を実行しなくても、本実施形態は実現可能である。
携帯端末500と印刷管理サーバ100とのセッション(接続)が確立したのに続いて、ステップS401において、プリンタ300aのCPU301は、携帯端末500がカードリーダ319にかざされたことを検知すると、携帯端末500内蔵のICカード419の製造番号を読み取る。次に、ステップS402において、製造番号を認証情報として、認証サーバ200へ送信する(認証情報送信)。
そして、認証サーバ200は、ステップS101において、プリンタ300aから送信される製造番号を受信する。次に、ステップS102において、認証サーバ200のCPU201は、受信した製造番号と図8に示す認証用テーブル(認証サーバ200の外部メモリ211内に記憶されている)を参照して正規のユーザか否かの認証を行う。
次に、ステップS103において、認証サーバ200のCPU201は、S102の認証結果を、認証を要求したプリンタ(プリンタ300a)に送信する。具体的には、認証用テーブルに受信した製造番号が登録されていれば、認証された(正常認証)と判断し、製造番号をキーにして取得した認証用テーブルのユーザ名802、携帯端末識別情報807を含む認証結果をプリンタ300aに送信する。また、認証用テーブルに受信した製造番号が登録されていない場合、認証エラーと判断し、認証エラーを示す情報を含む認証結果をプリンタ300aに送信する。
プリンタ300aは、認証サーバ200から送信される認証結果をステップS403において受信する。次に、ステップS404において、プリンタ300aのCPU301は、受信した認証結果に基づいて正常認証されたか否かを判定し、正常認証されなかった(認証結果にユーザ名が含まれていない)と判定した場合には、ステップS401に戻り、再度、携帯端末がかざされるのを待機する状態となる。
一方、ステップS404において、正常認証された(認証結果にユーザ名、携帯端末識別情報が含まれている)と判定した場合には、プリンタ300aのCPU301は、ステップS405に処理を進める。
次に、ステップS405では、プリンタ300aのCPU301は、上記受信した認証結果に含まれるユーザ名、携帯端末識別情報に基づき、印刷管理サーバ100へ図18に示す認証ユーザの印刷情報セット要求を送信する(ユーザ識別情報送信)。(I601)
なお、印刷情報セットとは、プリンタと印刷管理サーバ間で送受信される情報群である。この情報群は図19〜図23のように、情報群の種別を表す情報種別と、S504で生成され図11で管理されているスレッドIDと、情報種別ごとに必要な情報で構成されている。
なお、スレッドIDとは、携帯端末がかざされると、そのかざされた携帯端末の処理があるかを特定するための識別情報である。このスレッドIDを持つことによって、例えば特定の携帯端末500が1回目にかざされると、スレッドIDが生成され、帳票データの一覧を携帯端末500に送るので、同じ携帯端末500がかざされる(2回目)と既に帳票データの一覧を送っていることを特定することができ、2回目にかざされた時には出力指示された帳票データを印刷するための動作に移ることができる。(1回目にかざされたときと2回目にかざされたときにどの処理を行えばよいかがわかる。)
図18は、プリンタ300aから印刷管理サーバ100に送信される印刷情報セット要求の一例を示す図である。
図18に示すように、印刷情報セット要求には、上記受信した認証結果に含まれるユーザ名を1801、携帯端末識別情報を1802、プリンタ300aのIPアドレスを1803に記録して送信する。
なお、本実施の形態では、プリンタ300aが、ICカードの419の製造番号をキーにしてユーザ名(ユーザ識別情報)と携帯端末識別情報を認証サーバ200から取得して、印刷管理サーバ100に送信するように構成したが、印刷管理サーバ100に予めユーザ名と携帯端末識別情報とICカードの製造番号を紐付けて記憶管理するように構成しても良い。この場合、プリンタ300aが、ICカード419の製造番号を印刷管理サーバ100に送信し、印刷管理サーバでICカード419の製造番号をキーにしてユーザ名および携帯端末識別情報を取得することになる。
以下、図10A、図10B、図10Cのフローチャートの説明に戻る。
次に、印刷管理サーバ100では、ステップS501において、ステップS405でプリンタ300aから送信される認証ユーザの印刷情報セット要求を受信すると(ユーザ識別情報受信)、ステップS502へ進み、印刷情報セット要求内の携帯端末識別情報に対応するサブスレッドの存在を検索し、その後、ステップS503へ進む。サブスレッドの検索は図11に示すスレッド管理テーブルに対して、携帯端末識別情報をキーにして実施する。本実施形態では、すでにセッションを確立しているため、必ず対象サブスレッドが検索される。スレッド管理テーブルのユーザ名1102、プリンタIPアドレス1104はデータの無い状態であったが、ここに印刷情報セット要求内のユーザ名1801、プリンタIPアドレス1803を記録する。ステップS503では、サブスレッドの検索結果は対象サブスレッド有りと判断されるため、ステップS505へ進む。
尚、記録(記憶)するプリンタのIPアドレスは、印刷情報セット要求に含まれるように構成したが、プリンタ300aと、印刷管理サーバ1000が通信するプロトコル(例えば、TCP/IP通信)から取得するように構成してもよい。
次に、ステップS505において、印刷管理サーバ100のCPU201は、ステップS501で受信した内容がプリンタ300aからの印刷情報セット要求であると判断した場合には、ステップS507へ進む。
次に、ステップS507において、印刷管理サーバ100のCPU201は、対象サブスレッドに対し、印刷情報セット要求の受け渡しを実施(I702)した後、再びステップS501の受信待ち状態となる。
ステップS507において、印刷情報セット要求の受け渡しを受けたサブスレッドは、ステップS201においてこれを受け渡される。(I702)
次に、ステップS202において、印刷管理サーバ100のCPU201は、受け渡された情報が携帯端末500からの接続要求ではない(印刷情報セット要求である)と判断し、ステップS204へ進む。
次に、ステップS204において、印刷管理サーバ100のCPU201は、プリンタ300aに帳票データ一覧を表示できる表示部があるか否かを図7に示したプリンタ表示部有無テーブルに基づいて判定する。
ステップS204において、印刷管理サーバ100のCPU201は、プリンタ300aに帳票データ一覧を表示できる表示部があると判定した場合にはステップS205へ、表示部がないと判定した場合には、ステップS206へ処理を進める。
プリンタ300aに帳票データの一覧を表示できる表示部があると判定した場合は、ステップS205へ処理を進める。
ステップS205では、印刷管理サーバ100のCPU201は、図5に示した帳票管理データベースを参照する。より詳細には、図5の印刷状態504が未出力(未印刷)になっている帳票データのうち受信した認証ユーザの印刷情報セット要求に含まれるユーザ名1801に対応する帳票データを検索し帳票データの一覧を生成する。生成された帳票データの一覧を取得し、プリンタIPアドレス1803に対応するプリンタ(ここではプリンタ300a)に対して送信する(I602)(一覧情報送信)。このときの形式は、図19に示す印刷情報セット(帳票一覧)の形式である。
図19は、印刷管理サーバ100からプリンタ300aに帳票データ一覧を送信する場合の、印刷情報セット(帳票一覧)の形式の一例を示す図である。
図19に示すように、帳票データ一覧の送信には、情報種別1901に情報の内容が帳票データ一覧であることを示す記号を記録し、スレッドID1902にこの情報を返信したスレッドのIDを記録する。帳票件数1903に送信する帳票データの件数を記録し、帳票データの情報を帳票件数1903に記録された数だけ記録する。帳票データの情報にはタイムスタンプ1904、ユーザ名1905、文書名1906がある。
以下、図10A、図10B、図10Cのフローチャートの説明に戻る。
プリンタ300aは、ステップS406において、印刷管理サーバ100から送信される帳票データ一覧の印刷情報セットを受信(I602)する。すると、ステップS407において、情報種別1901の内容にしたがって、受信内容が帳票データ一覧であると判断され、ステップS408に進む。ステップS408において、プリンタ300aのCPU301は、受信した帳票データ一覧を操作部308の表示部に表示し、ステップS409に進み次のイベントが発生するまで待機を行う。
図13は、本発明においてプリンタ300aの表示部に表示される帳票データ一覧の一例を示す模式図である。
図13において、1301は帳票データ選択エリアであり、ユーザは、この帳票データ選択エリア1301から印刷する帳票データをタッチ選択する(複数の帳票データを選択可能である)。
1302はプリント(Print)ボタンであり、このボタンをタッチ指示することにより、帳票データ選択エリア1301で選択状態となっている帳票データの印刷を、印刷管理サーバ100に要求することができる。つまり、ステップS409において、帳票データ選択エリア1301で帳票データが選択され、プリントボタン1302がタッチ指示されると、ステップS410に進む。ステップS410でユーザ選択のイベントが発生した(プリントボタン1302が押下された)と判断された場合には、ステップS411に進む。
以下、図10A、図10B、図10Cのフローチャートの説明に戻る。
一方、印刷管理サーバ100ではステップS205の処理を行ったあと、ステップS206に進む。尚、本実施の形態では、帳票データの一覧を表示可能な表示部がプリンタにある場合、プリンタ及び携帯端末両方に帳票データの一覧を表示できるように構成したためステップS205の処理後、ステップS206へ進むように構成した。しかしながら、ステップS206を処理しないように構成することも可能である。また、ステップS204において、印刷管理サーバ100のCPU201が、プリンタ300aに帳票データ一覧を表示できる表示部がないと判断していた場合は、ステップS205を行わずに、ステップS206に進む。なお、ステップS205を行った場合(表示部がある場合)は、プリンタ300aはステップS408まで進んでいる(ステップS208で準備完了ステータスが送信され、ステップS409で受信されるまで待機する)のに対し、ステップS205を行っていない場合(表示部がない場合)は、プリンタ300aはステップS406で印刷管理サーバ100からの情報の返信を待機したまま(ステップS307、ステップS207の処理を経て、ステップS208で準備完了ステータスが送信され、ステップS409で受信されるまで待機する)となっている。
ステップS206では、印刷管理サーバ100のCPU201は、図5に示した帳票管理データベースを参照し、受信した認証ユーザの印刷情報セット要求に含まれるユーザ名1801に対応する(一致する)未出力の帳票データの一覧(印刷データの識別情報)を取得し、携帯端末識別情報1802と関連付けられているセッションを介して、携帯端末500に送信する(一覧情報送信)。このときの形式は、図19に示す印刷情報セット(帳票一覧)の形式である。なお、ステップS205を行っている場合は、改めて帳票データ一覧を取得する必要はなく、ステップS205でプリンタ300aに対して送信したものと同じものを送信してもかまわない。
次に、携帯端末500の制御部411は、ステップS303において、印刷管理サーバ100から送信された帳票データの一覧の印刷情報セットを受信し、ステップS304において、帳票データ一覧を表示部415に表示する。その後、ステップS305に進み、次のイベントが発生するまで待機を行う。
図12は、本発明において携帯端末500の表示部415に表示される帳票データ一覧の一例を示す模式図である。
図12において、1201は帳票データ選択エリアであり、ユーザは、この帳票データ選択エリア1201から印刷する帳票データを選択(チェック)する(複数の帳票データを選択可能である)。
1202は送信ボタンであり、このボタンを選択指示することにより、帳票データ選択エリア1201で選択状態となっている帳票データの一覧を、印刷管理サーバ100に送信する。
以下、図10A、図10B、図10Cのフローチャートの説明に戻る。
ステップS305において、帳票データ選択エリア1201で印刷する帳票データが選択(チェック)され、送信ボタン1202が選択指示されると、ステップS306に進み、ユーザ選択のイベントが発生したと判断され、ステップS307に進む。
ステップS307において、携帯端末500の制御部411は、帳票データ選択エリア1201で選択された印刷対象の帳票データの一覧を上述のセッションを介して、印刷管理サーバ100に送信する。その後、ステップS305に進み、次のイベントが発生するまで待機を行う。
なお、このときのデータ形式は、帳票データの一覧を受け取ったときと同じ図19に示す印刷情報セット(帳票一覧)の形式でかまわないが、今回は印刷対象の帳票データのみを返信する点が、受け取り時とは異なる。より詳細には、少なくとも帳票データを識別するためのタイムスタンプが送信される。
一方、帳票データ一覧を表示できる表示部のあるプリンタの場合、プリンタ300aの操作部308の表示部においても以下のような操作を行うことができる。
ステップS409において、帳票データ選択エリア1301で帳票データが選択され、プリントボタン1302がタッチ指示されると、ステップS410に進み、ユーザ選択のイベントが発生したと判断され、ステップS411に進む。
ステップS411において、プリンタ300aのCPU301は、帳票データ選択エリア1301で選択された印刷対象の帳票データの一覧を、印刷管理サーバ100に送信する(I603)。その後、ステップS409に進み、次のイベントが発生するまで待機を行う。
なお、このときのデータ形式は、帳票データの一覧を受け取ったときと同じ図19に示す印刷情報セット(帳票一覧)の形式でかまわないが、今回は印刷対象の帳票データのみを返信する点が、受け取り時とは異なる。より詳細には、少なくとも帳票データを識別するためのタイムスタンプが送信される。
ステップS411において、プリンタ300aのCPU301が、印刷対象の帳票データ一覧の印刷情報セットを送信すると、印刷管理サーバ100のCPU201は、ステップS501において、これを受ける。(I603)
印刷管理サーバ100は、認証ユーザの印刷対象の帳票データ一覧の印刷情報セットを受信すると、印刷情報セット内のスレッドID1902に基づき同ユーザに対応するサブスレッドの存在を検索する。サブスレッドの検索は図11に示すスレッド管理テーブルに対して、スレッドID1902をキーにして実施する。すでにセッションを確立した携帯端末であるため、必ず対象サブスレッドが検索される。
次に、ステップS505において、印刷管理サーバ100のCPU201は、ステップS501で受信した内容がプリンタからの印刷情報セットであると判断し、ステップS508へ進む。
次に、ステップS508において、印刷管理サーバ100のCPU201は、対象サブスレッドに対し、ユーザによって選択された印刷対象の帳票データ一覧の印刷情報セットの受け渡しを実施(I703)した後、再びステップS501の受信待ち状態となる。
ステップS508において、ユーザによって選択された印刷対象の帳票データ一覧の印刷情報セットの受け渡しを受けたサブスレッドは、ステップS207においてこれを受け渡される。(I703)
ステップS207において、印刷管理サーバ100のCPU201は、携帯端末500のステップS307、又はプリンタ300aのステップS411により送信されるユーザによって選択された印刷対象の帳票データ一覧の印刷情報セットのどちらかを受信する(印刷要求受信)と、印刷対象の帳票データ一覧の印刷情報セットに含まれる1又は複数の印刷対象の帳票データを取得する。
なお、印刷管理サーバ100のCPU201は、上記取得した1又は複数の印刷対象の帳票データを、図14に示すサブスレッドごとに生成する印刷管理テーブルに記録する。
図14は、図1に示した印刷管理サーバ100のRAM203に記憶される印刷管理テーブルの一例を示す模式図である。
図14に示すように印刷管理テーブルは、ユーザ名1401、プリンタ名1402、IPアドレス1403、ユーザにより選択された印刷対象の帳票のタイムスタンプ1404(選択された数存在する)から構成される。
次に、図10BのステップS207において、印刷管理テーブルを生成する手順の一例を、図24を用いて説明する。
ステップS2401において、印刷管理サーバ100のCPU201は、RAM203内に印刷管理テーブルを保持するためのメモリ領域を確保する。このとき、テーブルのヘッダーにあたるユーザ名1401、プリンタ名1402、IPアドレス1403を記録するためのメモリ領域のみを確保し、後に順次タイムスタンプ1404の領域を追加していく方式でもよいし、印刷対象の帳票データ一覧の印刷情報セットの帳票件数1903の情報をもとに、最初から、印刷管理テーブル全体のメモリ領域を確保する方式にしてもよい。
次に、ステップS2402において、印刷管理サーバ100のCPU201は、本処理を実行しているサブスレッドのスレッドIDをキーにしてスレッド管理テーブルからユーザ名1102、プリンタIPアドレス1104を取得し、ユーザ名1401、IPアドレス1403に記録する。また、プリンタIPアドレス1104をキーにして、図6のプリンタドライバ関連テーブルからプリンタ名601を取得し、プリンタ名1402に記録する。
次に、ステップS2403において、印刷管理サーバ100のCPU201は、印刷対象の帳票データ一覧の印刷情報セットから順次、タイムスタンプ1904を取得する。最初はテーブルの先頭のタイムスタンプ1904を取得する。
次に、ステップS2404において、印刷管理サーバ100のCPU201は、タイムスタンプ1904が取得できたかを確認し、取得できたと判断されれば、ステップS2405において、タイムスタンプ1904をタイムスタンプ1404に追加する。
以後、印刷管理サーバ100のCPU201は、ステップS2403〜S2405を繰り返し実行して印刷対象の帳票データ一覧の印刷情報セットの最後のレコードまでのタイムスタンプの追加を行う。最後のレコードまでの処理が終わった後、ステップS2404において、タイムスタンプ1904が取得できなかったと判断し、処理を終了する。
以下、図10A、図10B、図10Cのフローチャートの説明に戻る。
次に、ステップS208において、印刷管理サーバ100のCPU201は、印刷管理テーブルへの記録が完了した段階で、印刷の準備が完了したことを示すためのステータスコードを図20に示す印刷情報セット(ステータスコード)の形式で、プリンタ300aと携帯端末500の双方に送信する。尚、本実施の形態では印刷管理テーブルへの記録が完了した段階を印刷の準備が完了したと判断するように構成したが、これに限ることなく、帳票データを出力する先のプリンタの記述言語(ページ記述言語)に変換し、すぐに送信できる状態になったタイミングを印刷の準備完了とすることも可能である。
図20は、印刷管理サーバ100から携帯端末500およびプリンタ300aにステータスコードを送信する場合の印刷情報セット(ステータスコード)の形式の一例を示す図である。
図20に示すように、ステータスコードの送信には、情報種別2001に情報の内容がステータスコードであることを示す記号を記録し、スレッドID2002にこの情報を送信したスレッドのIDを記録する。ステータスコード2003には送信するステータスコードを記録する。今回は印刷の準備完了を示すステータスコードを記録する。
以下、図10A、図10B、図10Cのフローチャートの説明に戻る。
ステップS305において、携帯端末500は印刷管理サーバ100より、図20に示す印刷情報セット(ステータスコード)の形式で、印刷の準備完了のステータスコードを受け取ると、ステップS306へ進み、印刷の準備完了のステータス受信のイベントが発生したと判断され、ステップS308に進む。
なお、印刷管理サーバ100が、ステップS207において、携帯端末500がステップS307において送信した印刷対象の帳票データ一覧を受信していた場合は、携帯端末500ではステップS306〜ステップS307の処理が一度実行されていることになる。一方、印刷管理サーバ100が、ステップS207において、プリンタ300aがステップS411において送信した印刷対象の帳票データ一覧を受信していた場合は、携帯端末500ではステップS306〜ステップS307の処理が実行されていない。しかし、どちらの場合でも、上述の携帯端末500における印刷準備完了のステータスコード受信後の処理(ステップS306〜ステップS308)は同じである。
次に、ステップS308において、携帯端末500の表示部415に印刷の準備が完了したことを知らせるメッセージが表示される。
図15(A)は、図4に示した携帯端末500の表示部415に表示された印刷準備完了を知らせるメッセージの一例を示す模式図である。なお、了解というボタンを押下すると画面を閉じることを想定しているが、了解ボタンを押下しなくても、イベントの発生によって自動的に画面が推移する構成にしてもよい。
以下、図10A、図10B、図10Cのフローチャートの説明に戻る。
プリンタ300aが一覧を表示できる表示部を持っていない場合は、プリンタ300aのCPU301はステップS406で待機しているが、印刷管理サーバ100がステップS208において、図20に示す印刷情報セット(ステータスコード)の形式で印刷準備完了のステータスコードを送信すると、これを受けて(I602)、ステップS407へ進む。さらに、情報種別2001が印刷の準備完了を知らせるステータスコードであることを判断して、ステップS412へ進み、プリンタ300aが小規模のメッセージの表示が可能な表示部を持つ場合は印刷の準備が完了したことを知らせるメッセージを表示する。
例えば、プリンタ300aがテキスト一行分程度の小規模のメッセージが表示可能な表示部を持っているような場合では、表示部に「インサツジュンビカンリョウ」などと表示する。
以下、図10A、図10B、図10Cのフローチャートの説明に戻る。
一方、プリンタ300aが一覧を表示できる表示部を持っている場合、ステップS409において、プリンタ300aは印刷管理サーバ100より、図20に示す印刷情報セット(ステータスコード)の形式で、印刷の準備完了のステータスコードを受け取ると、ステップS410へ進み、印刷の準備完了のステータス受信のイベントが発生したと判断され、ステップS412に進む。
なお、印刷管理サーバ100が、ステップS207において、プリンタ300aがステップS411において送信した帳票データ一覧を受信していた場合は、プリンタ300aではステップS410〜ステップS411の処理が一度実行されていることになる。一方、ステップS207において、印刷管理サーバ100が、携帯端末500がステップS307において送信した帳票データ一覧を受信していた場合は、プリンタ300aではステップS410〜ステップS411の処理が実行されていない。しかし、どちらの場合でも、プリンタ300aにおける印刷準備完了のステータスコード受信後の処理(ステップS410〜ステップS412)は同じである。
次に、ステップS412において、プリンタ300aの表示部に印刷の準備が完了したことを知らせるメッセージが表示される。
例えば、図13に示すプリンタ300aの表示部下端領域に、「印刷準備完了」などとメッセージを出すことなどが考えられる。
以下、図10A、図10B、図10Cのフローチャートの説明に戻る。
次に、プリンタ300aはステップS401に戻り、携帯端末500がカードリーダ319にかざされることを待機する。印刷管理サーバ100もステップS209でプリンタ300aからの印刷情報セット要求を待機する。
印刷を実行せずに待機する理由は、印刷の準備完了と同時に印刷を開始するフローとした場合は、ユーザがプリンタ300aの付近から離れても印刷物が出力されてしまい、印刷出力物に対するセキュリティがそこなわれることを回避するためである。印刷を開始するにはユーザが再度プリンタ300aのカードリーダ319に携帯端末500をかざし、ICカード419を読み取らせることが必要となる。
つまり、1回目に携帯端末500をかざすと、携帯端末500の表示部415に帳票データ一覧が表示され、2回目に携帯端末500をかざすと、1回目にかざされた際に表示された帳票データ一覧で出力指示した帳票がプリンタ300aから出力される。また帳票データ一覧で指示した帳票が複数あれば、2回目以降(3回目から)に携帯端末500をかざすと、指示した帳票がそれぞれプリンタ300aから出力される。(帳票データ一覧から出力指示した帳票データの数だけ、携帯端末500をかざす)。
これによって、ユーザがプリンタ300aから離れた場所で、携帯端末500の表示部415で表示される帳票データ一覧から出力指示を行ったとしても、携帯端末500を再度プリンタ300aにかざさなければならないのでセキュリティの高い印刷を行うことが可能となる。また、出力指示した帳票(印刷データ)の数だけ、(指示した帳票を出すたびに)携帯端末500をかざす必要があるので、出力する時にはユーザがその場(プリンタ300aの前)にいなければならず、更にセキュリティの高い印刷を行うことが可能となる。
ステップS401において、プリンタ300aのCPU301は、携帯端末500がカードリーダ319にかざされたことを検知すると、携帯端末500内蔵のICカード419の製造番号を読み出す。これを認証情報として、プリンタ300aのステップS402〜S404、認証サーバ200のステップS101〜S103における認証を経由した後、プリンタ300aのCPU301は、ステップS404において正常認証と判断された場合に、ステップS405に処理を進め、ステップS405において、印刷管理サーバ100へ図18の形式で印刷情報セット要求を送信(I601)し、ステップS406へ処理を進める。
ステップS405において、プリンタ300aのCPU301が、印刷情報セット要求を送信すると、印刷管理サーバ100のCPU201は、ステップS501において、これを受ける。
印刷管理サーバ100は、ステップS501において、プリンタ300aから送信される認証ユーザの印刷情報セット要求を受信すると、ステップS502〜S503、S505、S507の各ステップを経由して、対象サブスレッドに対し、印刷情報セット要求の受け渡しを実施(I702)した後、再びステップS501の受信待ち状態となる。尚、I702はステップS201とステップS209に処理が移るように構成されているが、ICカードが1回かざされると、ステップS208まで処理が移行している。つまり、ICカードが1回かざされ印刷準備がなされたあとICカードがかざされる(2回目)からはステップS507の後ステップS209の処理へ移る。
ステップS507において、印刷情報セット要求の受け渡しを受けたサブスレッドは、ステップS209においてこれを受け渡される。(I702)
次に、ステップS209において、印刷管理サーバ100のCPU201が印刷情報セット要求を受信すると、ステップS210に進み、図21の印刷情報セット(印刷開始命令)の形式で、印刷開始命令をプリンタ300aに送信する。(I602)
図21は、印刷管理サーバ100からプリンタ300aに印刷開始命令を送信する場合の印刷情報セット(印刷開始命令)の形式の一例を示す図である。
図21に示すように、印刷開始命令の送信には、情報種別2101に情報の内容が印刷開始命令であることを示す記号を記録し、スレッドID2102にこの情報を送信したスレッドのIDを記録する。タイムスタンプ2103、ユーザ名2104には、印刷管理テーブルから印刷する帳票データ1件のタイムスタンプ1404とユーザ名1401を取り出して記録する。
以下、図10A、図10B、図10Cのフローチャートの説明に戻る。
次に、ステップS406において、プリンタ300aは、印刷情報セット(印刷開始命令)の形式で印刷管理サーバ100から送信された印刷開始命令を受信(I602)する。次に、ステップS407において、情報種別2101の内容にしたがって、受信内容が印刷開始命令であると判断され、ステップS413に進む。次に、ステップS413において、プリンタ300aのCPU301は、印刷の実施が可能であることを示すステータスコードを図20と同じ印刷情報セット(ステータスコード)の形式で送信する(I605)。このときステータスコード2003には、印刷可能を示すステータスコードを記録する。また、印刷開始命令はRAM302上に、そのまま保持しておく。
ステップS413において、プリンタ300aのCPU301が、印刷可能を示すステータスコードを送信すると、印刷管理サーバ100のCPU201は、ステップS501において、これを受ける。(I605)
印刷管理サーバ100は、ステップS501において、プリンタ300aから送信される印刷可能を示すステータスコード(図20)を受信すると、ステップS502〜S503、S505、S508の各ステップを経由して、対象サブスレッドに対し、印刷可能を示すステータスコードの受け渡しを実施(I703)した後、再びステップS501の受信待ち状態となる。
ステップS508において、印刷可能を示すステータスコードの受け渡しを受けたサブスレッドは、ステップS211においてこれを受け渡される。(I703)
尚、I703はステップS207とステップS211に処理が移るように構成されているが、既にステップS210の処理まで移行しているため、ステップS210(印刷開始命令送信)の処理後に発生する印刷情報セット(印刷可能を示すステータスコードをもつ印刷情報セット)はステップS211まで処理を移し、ステップS211で受信するものとする。
次に、ステップS211において、印刷管理サーバ100のCPU201が印刷可能を示すステータスコードを受信すると、ステップS212に進み、印刷対象帳票の帳票データを取得(印刷データ取得)し(即ち、印刷管理テーブルのタイムスタンプ1404に基づいて帳票管理データベースから取得し)、印刷管理テーブルのIPアドレス1403が示すIPアドレスのプリンタ(プリンタ300a)に対して、取得した帳票データの印刷処理を実行する(I606)。印刷処理とは、プリンタ300aで印刷すべく、出力命令する(印刷データ出力命令)こと、或いは印刷データをプリンタ300aに出力(送信)することである。
なお、この際、IPアドレス1403に基づき、プリンタドライバ関連テーブル(図6)を検索してプリンタドライバを選択し、この選択されたプリンタドライバを通してプリンタ300aに帳票データの印刷データを出力(送信)する。また、この印刷処理は、LPR印刷であっても、Windows(登録商標)でサポートされている標準TCP/IPポートを利用した印刷処理でも良い。
次に、プリンタ300aでは、印刷管理サーバ100からプリンタドライバを介して出力された帳票データの印刷データを受信(I606)すると、ステップS414において、プリンタ300aのCPU301は、受信した帳票データの印刷データに基づくプリント出力を実行する。なお、印刷ヘッダーなどから、タイムスタンプやユーザIDを取り出し、保持している印刷開始命令の内容と照合することにより印刷の可否を確認する処理を追加してもよい。
次に、帳票データの印刷データに基づくプリント出力が完了すると、ステップS415において、プリンタ300aのCPU301は、印刷管理サーバ100へ図22の印刷情報セット(完了通知)の形式で印刷完了通知を送信する。(I607)
図22は、プリンタ300aから印刷管理サーバ100に印刷完了通知を送信する場合の印刷情報セット(完了通知)の形式の一例を示す図である。
図22に示すように、印刷完了通知の送信には、情報種別2201に情報の内容が印刷完了通知であることを示す記号を記録し、スレッドID2202、タイムスタンプ2203、ユーザ名2204に、保持していた印刷開始命令のスレッドID2102、タイムスタンプ2103、ユーザ名2104を書き写す。タイムスタンプ2203、ユーザ名2204は印刷データ内(例えばヘッダー)から取得してもよい。
以下、図10A、図10B、図10Cのフローチャートの説明に戻る。
ステップS415において、プリンタ300aのCPU301が、印刷完了通知の印刷情報セットを送信すると、印刷管理サーバ100のCPU201は、ステップS501において、これを受ける。(I607)
印刷管理サーバ100では、ステップS501において、プリンタ300aから送信される認証ユーザの印刷完了通知の印刷情報セットを受信すると、ステップS502〜S503、S505、S508の各ステップを経由して、対象サブスレッドに対し、印刷完了通知の印刷情報セットの受け渡しを実施(I703)した後、再びステップS501の受信待ち状態となる。
ステップS508において、印刷完了通知の印刷情報セットの受け渡しを受けたサブスレッドは、ステップS213においてこれを受け渡される。(I703)
次に、印刷管理サーバ100は、印刷完了通知の印刷情報セットを受信すると(S213)、受信したタイムスタンプ2203に対応するタイムスタンプ1404を含むレコードを印刷管理テーブルから削除し、ステップS214に処理を進める。
ステップS214では、印刷管理サーバ100のCPU201は、印刷管理テーブルの残りの件数をカウントし、その結果を残存件数として図23に示す印刷情報セット(残存件数)の形式でプリンタ300a(I608)と携帯端末500の双方に送信する。
図23は、印刷管理サーバ100から印刷帳票の残存件数を送信する(未出力印刷データ数通知をする)場合の印刷情報セット(残存件数)の形式の一例を示す図である。
図23に示すように、残存件数の送信には、情報種別2301に情報の内容が残存件数であることを示す記号を記録し、スレッドID2302にこの情報を送信したスレッドのIDを記録する。残存件数2303に印刷管理テーブルの残りの件数から未出力の帳票の件数を記録して送信する(未出力印刷データ数通知)。
以下、図10A、図10B、図10Cのフローチャートの説明に戻る。
ステップS215では、印刷管理サーバ100のCPU201は、選択された帳票を全て印刷完了したか(印刷管理テーブルにタイムスタンプ1404がないか)否かを判定し、まだ全て印刷完了していない(印刷管理テーブルにまだタイムスタンプ1404がある)と判定した場合には、ステップS209に処理を戻す。
一方、ステップS215において、上記選択された帳票が全て印刷完了した(印刷管理テーブルにタイムスタンプ1404がない)と判定した場合には、ステップS216に処理を進める。
一方、プリンタ300aでは、印刷管理サーバ100のステップS214から送信された残存件数の印刷情報セットをステップS416で受信(I608)すると、ステップS417において、残存件数2303が1以上であれば、未出力の帳票が残っていると判断し、ステップS418へ進み、プリンタ300aが残存件数の表示が可能な表示部を持っている場合は、残りの件数の表示を行う。ステップS417において、残存件数2303が0であれば、未出力の帳票は存在しないと判断し、ステップS419へ進み、プリンタ300aがメッセージの表示が可能な表示部を持っている場合は、印刷が完了したことを知らせるメッセージの表示を行う。
例えば、残存件数を知らせるメッセージとしては、図13に示すプリンタ300aの表示部下端領域に、「X件の印刷書類が残っています」と表示することなどが考えられる。また、印刷完了を知らせるメッセージとしては、図13に示すプリンタ300aの表示部下端領域に、「全書類の印刷が完了しました」と表示することなどが考えられる。
またプリンタ300aがテキスト一行分程度の小規模のメッセージが表示可能な表示部を持っているような場合では、残存件数を知らせるメッセージとしては、表示部に「インサツノコリXケン」と表示することなどが考えられる。また、印刷完了を知らせるメッセージとしては、表示部に「ゼンケンインサツカンリョウ」と表示することなどが考えられる。
以下、図10A、図10B、図10Cのフローチャートの説明に戻る。
以後、プリンタ300aはステップS401に戻り、再び携帯端末500をカードリーダ319にかざすまで待機状態となり、印刷帳票が残っている場合は、携帯端末500をかざすたびにステップS402〜S407〜S413〜S418の流れで印刷を繰り返し、全ての帳票の印刷が終了したときにS419へ進む。
また一方、携帯端末500では、印刷管理サーバ100のステップS214から送信された残存件数の印刷情報セットをステップS309で受信すると、ステップS310において、残存件数2303が1以上であれば、未出力の帳票が残っていると判断し、ステップS311へ進み、残りの件数の表示を行う。ステップS310において、残存件数が0であれば、未出力の帳票は存在しないと判断し、ステップS312へ進み、印刷が完了したことを知らせるメッセージの表示を行う。
図15(B)は、図4に示した携帯端末500の表示部415に表示された残存件数を知らせるメッセージの一例を示す模式図であり、図15(C)は、図4に示した携帯端末500の表示部415に表示された印刷完了を知らせるメッセージの一例を示す模式図である。なお、了解というボタンを押下すると画面を閉じることを想定しているが、了解ボタンを押下しなくても、イベントの発生によって自動的に画面が推移する構成にしてもよい。
以下、図10A、図10B、図10Cのフローチャートの説明に戻る。
全ての印刷が完了すると、ステップS313において、携帯端末500の制御部411は、印刷管理サーバ100へセッションの切断要求を送信し、印刷管理サーバ100のCPU201がステップS216において、セッションの解放処理を行うとセッションが停止する。
次に、ステップS314で、携帯端末500の制御部411は、アプリケーションを終了する。
最後に、ステップS217で、印刷管理サーバ100のCPU201は、印刷管理テーブルをメモリから解放し、スレッド管理テーブルから自分自身のスレッドIDのレコードを削除し、スレッドを終了する。
なお、一定時間、プリンタ300aに携帯端末500がかざされず、プリンタ300aと印刷管理サーバ100との間で通信が行われないために、印刷処理が進まない場合には、印刷管理サーバ100のCPU201が、自動的にスレッド管理テーブルから自分自身のスレッドIDのレコードを削除し、スレッドを終了するようにしてもよい。この場合は、ユーザの事情で印刷ができない場合等でも、印刷管理サーバ100側でユーザの印刷に係る情報を自動的に削除することができる。
なお、S203でセッションが保持されていない場合は、S216、S313の処理は行わない。
〔第2実施形態〕
第1実施形態では、印刷管理サーバ100と携帯端末500との間にセッションをはって通信を行う構成について説明したが、印刷管理サーバ100と携帯端末500との間の通信を電子メールとWebにて行うように構成してもよい。この場合、印刷管理サーバ100と携帯端末500との間でセッションを維持する必要もなく、携帯端末500に、印刷管理サーバ100との接続を行う専用のアプリケーションが存在しなくてもよい。携帯端末500では一般的な電子メール送受信機能とWebブラウザの搭載のみで対応可能である。
この場合、携帯端末500の電子メールアドレスは、図8に示す認証用テーブルのメールアドレス803に格納され、図10AのS102における認証後に、S103において、ユーザ名802等と一緒に、認証サーバ200のCPU201によって、認証要求したプリンタ300aに送信される。
以下、図26を参照して、本実施形態の印刷管理サーバ100のサブスレッドのおよび携帯端末500の処理について説明する。
図26は、本発明における第3の制御処理手順の一例を示すフローチャートであり、本発明の第1実施形態における図10Bの印刷管理サーバ100のサブスレッドと携帯端末500の処理を置きかえるものである。
また、図中、S28201〜S28212は、印刷管理サーバ100の各ステップに対応し、印刷管理サーバ100のCPU201が外部メモリ211に格納されるプログラムをRAM203上で実行することにより実現される。
同様に、図中、S28101〜S28106は、携帯端末500の各ステップに対応し、携帯端末500の制御部411がROM417に格納されるプログラムをRAM418上で実行することにより実現される。
また、図中、I602〜I703は、印刷管理サーバ100のサブスレッドと図10Cまたは図10Aにおける印刷管理サーバ100のメインスレッドまたはプリンタ300との関連づけを行う記号である。
ステップS28201において、印刷管理サーバ100のCPU201は、メインスレッドを経由して送られたプリンタ300aからの印刷情報セット要求を受信する。(I702)
第2実施形態における印刷情報セット要求の形式を図27に示す。印刷情報セット要求は第1実施形態とは異なり、携帯端末識別情報1802の代わりに携帯端末500のメールアドレス2902が含まれている。
また、第2実施形態におけるスレッド管理テーブルを図28に示す。スレッド管理テーブルには、携帯端末識別情報1103の代わりに携帯端末のメールアドレス3003を記録する。
次のステップS28202、S28203は、図10BのステップS204、S205と同じ処理内容である。
次に、ステップS28204において、印刷管理サーバ100のCPU201は、図10BのステップS206と同様に未出力の帳票データ一覧を取得するが、これを印刷情報セットにはせず、HTML形式のファイルに記述し、外部メモリ211に保存する。このHTMLファイルは後述する携帯端末500のWebブラウザで表示可能な形式となっている。
次に、ステップS28205において、印刷管理サーバ100のCPU201は、HTML形式のファイルの存在場所を示すURL情報をリンク情報として記載した電子メールをSMTPプロトコルにより、メールアドレス3003に示されるメールアドレスに送信する。
メールアドレスは携帯端末500のものであるため、ステップS28101において、携帯端末500は電子メールを受信する。
次に、ステップS28102において、携帯端末500のユーザが、受信した電子メールを開き、表示されたリンク情報を選択すると、Webブラウザが起動し、リンク先のURLへの接続要求をHTTPリクエストとして、印刷管理サーバ100に送信する。
次に、ステップS28206において、印刷管理サーバ100のCPU201は、携帯端末500からのHTTPリクエストを受信し、ステップS28207において、指定されたURLにしたがって、HTML形式のファイルをHTTPレスポンスとして、携帯端末500に送信する。
次に、ステップS28103において、携帯端末500は、HTTPレスポンスで受け取ったHTMLファイルをホームページとしてWebブラウザ上に表示する。このときの表示内容は図12の専用アプリケーションによる帳票データ一覧の表示と同様のものである。
次に、ステップS28104において、携帯端末500のユーザが、ホームページを操作して、ボタン1201によって印刷する帳票を選択し、送信ボタン1202を押下すると、選択された帳票データの一覧がHTTPリクエストとして、印刷管理サーバ100に送信される。
次の、ステップS28208は、図10BにおけるステップS207と同様の動作を行うが、I703を通じて受信するプリンタ300aからの帳票データ一覧が第1実施形態と同じ印刷情報セットであるのに対し、携帯端末500からの受信はHTTPリクエストの形式であるという点が異なる。
次の、ステップS28209は、図10BにおけるステップS208と同様の動作を行い、印刷準備完了を通知(印刷準備通知)するが、I602またはI604を通じてプリンタ300aへ送信する印刷準備完了のステータスコードが第1実施形態と同じ印刷情報セットであるのに対し、携帯端末500への送信はHTTPレスポンスの形式であるという点が異なる。ただし、ステップS28208において、携帯端末500からのHTTPリクエストを受信していない場合は、携帯端末500への送信は行わない。
次の、ステップS28210は、実際にプリンタ300aで印刷を実行する一連のプロセスであるが、図10BにおけるステップS209〜S215と同様の動作であるため、省略表記してある。ただし、ステップS214における残存件数の送信はプリンタ300に対してのみ行い、携帯端末500への送信は行わない。
次に、ステップS28211において、印刷管理サーバ100のCPU201は、印刷が完了したことを通知する電子メールをメールアドレス3003に示されるメールアドレスに対して送信する。
メールアドレスは携帯端末500のものであるため、ステップS28106において、携帯端末500は電子メールを受信する。電子メールの内容は図15(C)と同様の内容である。
最後に、ステップS28212において、印刷管理サーバ100のCPU201は、本スレッドを終了して動作を終了する。
〔第3実施形態〕
第1、2実施形態では、表示部415を備え、ICカード419を内蔵する携帯端末500を、プリンタ300aのカードリーダ319にかざすことによって印刷を実行する処理を説明した。第3実施形態は、これに加え、携帯端末と関連付けられていないICカード(以下、「ICカード(独立)」と記載する)を使用する場合でも、印刷を実行できるようにしたものである。これにより、例えば、携帯端末を使用するユーザAと、ICカード(独立)を使用するユーザBとが、同じ印刷システムで印刷を実行することができるようになる。
ICカード(独立)を使用する場合、ICカード(独立)がプリンタ300aのカードリーダ319にかざされると、プリンタ300aから認証サーバ200にはICカード(独立)の製造番号が送信される。
認証サーバ200は、送信された製造番号と図8の認証用テーブルを参照して正規のユーザか否かの認証を行う。正常認証時にはユーザ名と携帯端末識別情報を認証結果としてプリンタ300aに送信する。この時、認証用テーブルにはあらかじめ利用するICカード(独立)に対応する情報を手作業などで追加しておくが、その際、携帯端末識別情報807の内容は空白にしておく。これによりICカード(独立)をかざした場合は認証サーバ200の携帯端末識別情報は空白であるため、プリンタ300aにはユーザ名802とともに、空白の携帯端末識別情報を含む認証結果が送信される。
プリンタ300aは、認証結果を受信する(携帯端末識別情報が空白)と、印刷管理サーバに図18の印刷情報セット要求を送信する際、ユーザ名1801とプリンタ300aのプリンタIPアドレス1803を記録し、携帯端末識別情報1802は空白を記録して送信する。(I601)
印刷管理サーバ100のCPU201は、図10CにおけるステップS501で印刷情報セット要求を受信(I601)すると、ステップS502へ処理を進め、ユーザ名をキーとしてスレッド管理テーブルから対象サブスレッドを検索し(印刷データの一覧情報を送信したか否かを判断)、その後、ステップS503へと処理を進める。ステップS503において、対象サブスレッドが存在しないと判断された場合は、ステップS504でサブスレッドを生成し、スレッド管理テーブルにサブスレッドの識別情報であるスレッドIDを追加する。対象サブスレッドが存在する場合は、そのスレッドを対象として先へ進む。
次に、ステップS505において、印刷管理サーバ100のCPU201は、受信内容が印刷情報セット要求であると判断すると、ステップS507へ進み、対象サブスレッドに印刷情報セット要求を受け渡す。(I702)
以下、図16を参照して、本実施形態の印刷管理サーバ100のサブスレッドの処理について説明する。
図16は、本発明における第4の制御処理手順の一例を示すフローチャートであり、本発明の第1実施形態における図10Bの印刷管理サーバ100のサブスレッドの処理を置きかえるものである。
また、図中、S1601〜S1612は、印刷管理サーバ100の各ステップに対応し、印刷管理サーバ100のCPU201が外部メモリ211に格納されるプログラムをRAM203上で実行することにより実現される。
また、図中、I602、I701、I702、I703は、印刷管理サーバ100のサブスレッドと図10Cまたは図10Aにおける印刷管理サーバ100のメインスレッドまたはプリンタ300との関連づけを行う記号である。
図16において、ステップS1601は図10BのS201と同じ処理である。ステップS1601において、印刷管理サーバ100のサブスレッドは、携帯端末500からの接続要求(I701)、または、プリンタ300aからの印刷情報セット要求(I702)の受信を待ち、いずれかを受信後、ステップS1602へ進む。
ステップS1602において、印刷管理サーバ100のCPU201は、ステップS1601で受信した内容が、携帯端末500からの接続要求(I701)なのか、プリンタ300aからの印刷情報セット要求(I702)なのかを受信した情報の内容から判断し、携帯端末500からの接続要求であった場合は、ステップS1603へ進み携帯端末500とのセッションを確立する。
一方、ステップS1602において、印刷管理サーバ100のCPU201は、ステップS1601で受信した内容が、プリンタ300aからの印刷情報セット要求(I702)であると判断した場合は、ステップS1604へ進む。ICカード(独立)を使用する場合は、携帯端末500からの接続要求は起こりえないため、必ずステップS1604へ分岐する判断となる。
ステップS1604では、印刷管理サーバ100のCPU201は、認証ユーザの印刷情報セット要求の送信元プリンタ300aに一覧を表示できる表示部があるか否かを、図7に示したプリンタ表示部有無テーブルに基づいて判定する。
ステップS1604において、印刷管理サーバ100のCPU201は、プリンタ300aに帳票データの一覧を表示できる表示部があると判定した場合には、ステップS1605に処理を進める。
なお、ステップS1601からステップS1604までの各ステップは、図10BのステップS201からステップS204までの各ステップと同じ内容である。
ステップS1605において、印刷管理サーバ100のCPU201は、図10BのステップS205と同じ処理を行って、未出力帳票データの一覧をプリンタ300aに送信し、その後、ステップS1607に処理を進める。
一方、ステップS1604において、印刷管理サーバ100のCPU201は、プリンタ300aに帳票データの一覧を表示できる表示部がないと判定した場合には、ステップS1606に処理を進める。
ステップS1606において、印刷管理サーバ100のCPU201は、ステップS1601で受信した認証ユーザの印刷情報セット要求の携帯端末識別情報1802の内容が空白であるかどうかを確認する。
ステップS1606において、携帯端末識別情報1802の内容が空白ではないと判断された場合は、プリンタ300aのカードリーダ319にかざしたのは、携帯端末500であると言えるため、ステップS1608に進み、図10BのステップS206と同じ処理を行って、未出力帳票データの一覧を携帯端末500に送信し、その後、ステップS1610に処理を進める。
一方、ステップS1606において、携帯端末識別情報1802の内容が空白であると判断された場合は、プリンタ300aのカードリーダ319にかざしたのは、携帯端末500ではなく、ICカード(独立)であると判断し、ステップS1609へ処理を進める。
また一方、ステップS1607においても、ステップS1606と同じ判断を行い、携帯端末識別情報1802の内容が空白ではないと判断された場合は、ステップS1608へ進み、携帯端末500への未出力帳票の一覧の送信を行うが、携帯端末識別情報1802の内容が空白であると判断された場合は、ステップS1610へ進む。
これにより、ICカード419が内蔵される携帯端末500がかざされたのか、ICカード(独立)がかざされたのかを判定することができるので、帳票データ一覧を携帯に表示させるか否かを判定することができ、携帯端末500ではなく、ICカード(独立)を使用するユーザが存在するような場合でもセキュリティの高い印刷を行うことができる。
ステップS1610において、印刷管理サーバ100のCPU201は、プリンタ300a、あるいは携帯端末500から、印刷を選択された帳票データ一覧の受信を待つが、この処理は図10BのステップS207と同じである。
ステップS1609では、印刷管理サーバ100のCPU201は、ステップS1601で受信した認証ユーザの印刷情報セット要求に含まれるユーザ名に対応する未出力の帳票データを帳票管理データベースから全て取得し、本サブスレッドが管理する印刷管理テーブルに追加する。これは、プリンタ300aに表示部が無く、携帯端末も使用していないため、帳票の一覧を表示するすべがないため、自動的に全帳票を印刷対象とすることで印刷を実行するためである。
次に、図16のステップS1609において、印刷管理テーブルを生成する手順の一例を、図25を用いて説明する。
ステップS2501において、印刷管理サーバ100のCPU201は、RAM203内に印刷管理テーブルを保持するためのメモリ領域を確保する。このとき、印刷管理テーブルのヘッダーにあたるユーザ名1401、プリンタ名1402、IPアドレス1403を記録するためのメモリ領域のみを確保し、後に順次タイムスタンプ1404の領域を追加していく方式でもよいし、帳票管理データベースの対象となるユーザ名502の件数をカウントして、最初から、印刷管理テーブル全体のメモリ領域を確保する方式にしてもよい。
次に、ステップS2502において、印刷管理サーバ100のCPU201は、本処理を実行しているサブスレッドのスレッドIDをキーにしてスレッド管理テーブルからユーザ名1102、プリンタIPアドレス1104を取得し、印刷管理テーブルのユーザ名1401、IPアドレス1403に記録する。また、プリンタIPアドレス1104をキーにして、図6のプリンタドライバ関連テーブルからプリンタ名601を取得し、プリンタ名1402に記録する。
次に、ステップS2503において、印刷管理サーバ100のCPU201は、帳票管理データベースからから順次、ユーザ名502とタイムスタンプ501を取得する。最初はデータベースの先頭のユーザ名502とタイムスタンプ501を取得する。
次に、ステップS2504において、印刷管理サーバ100のCPU201は、ユーザ名502とタイムスタンプ501が取得できたかを確認し、取得できたと判断されれば、ステップS2505に進む。
次に、ステップS2505において、印刷管理サーバ100のCPU201は、取得したユーザ名502が印刷管理テーブルのユーザ名1401と同一であるかを確認し、同一であると判断されれば、ステップS2506に進み、タイムスタンプ501をタイムスタンプ1404に追加する。同一でないと判断されれば、ステップS2503に戻る。
以後、印刷管理サーバ100のCPU201は、ステップS2503〜S2506を繰り返し実行し、帳票管理データベースの最後のレコードまでの処理を行い、最後のレコードの処理が終わった後、ステップS2504において、タイムスタンプ501が取得できなかったと判断し、処理を終了する。
以下、図16のフローチャートの説明に戻る。
ステップS1609の処理が終了すると、印刷管理サーバ100のCPU201は、ステップS1611に処理をすすめる。ステップS1610に向かわないのは、全帳票を印刷することが確定しているため、プリンタや携帯端末から、印刷を選択された帳票の一覧を受け取る必要がないためである。
次のステップS1611は、図10BのステップS208〜S215の一連の動作と同じ処理を実行する。ただし、プリンタ300aのカードリーダ319にかざされるものがICカード内蔵の携帯端末だけではなく、ICカード(独立)である場合もありうるという点が異なっている。そのため、図10BにおけるステップS208とステップS214においては、プリンタ300aへの送信は行うが、ICカード(独立)を使用していた場合は、携帯端末への情報の送信は行わない。これはスレッド管理テーブルにおいて自分のスレッドID1101に対するレコード内の携帯端末情報1103が空白であった場合に携帯端末への情報の送信を行わないようにすることで実現する。
最後に、ステップS1612において、印刷管理サーバ100のCPU201は、本スレッドを終了して動作を終了する。
また、プリンタ表示部有無テーブルの代わりに、プリンタ側で表示部の構成を判断させ、ステップS405で、印刷管理サーバ100に、送信する要求(命令)を変更するように構成してもよい。
この場合、ステップS1604では受信した情報を基にプリンタ表示部の有無を判断する。
〔第4実施形態〕
上記第1、2、3記実施形態では、認証サーバ200の認証用テーブル内に、ICカードの製造番号とユーザ名および携帯端末識別情報またはメールアドレスを紐付けて記録しておく構成について説明したが、印刷管理サーバ100のHD211内に、ICカードの製造番号とユーザ名および携帯端末識別情報またはメールアドレスを紐付けて記録しておくように構成してもよい。
この場合、図10AのステップS103では、認証サーバ200のCPU201は、認証結果としてICカードの製造番号をプリンタ300aに送信し、プリンタ300aは、ステップS405において、ICカードの製造番号を印刷管理サーバ100に送信する。
次に、印刷管理サーバ100のCPU201は、プリンタ300aから送信されたICカードの製造番号をキーにして、印刷管理サーバ100のHD211に保持されるユーザ名および携帯端末識別情報またはメールアドレスを取得し、以降の処理を実行するように構成する。
さらに、認証サーバ200の認証用テーブル内に、ICカードの製造番号とユーザ名を紐付けて記録しておき、印刷管理サーバ100のHD211内に、ユーザ名と携帯端末識別情報またはメールアドレスを紐付けて記録しておくよう構成してもよい。この場合、図10AのステップS103では、認証サーバ200のCPU201は、認証結果としてユーザ名をプリンタ300aに送信し、プリンタ300aは、ステップS405において、ユーザ名を印刷管理サーバ100に送信する。次に、印刷管理サーバ100のCPU201は、プリンタ300aから送信されたユーザ名をキーにして、印刷管理サーバ100のHD211に保持される携帯端末識別情報またはメールアドレスを取得し、以降の処理を実行するように構成する。
さらに、認証サーバ200の認証用テーブル内に、ICカードの製造番号と携帯端末識別情報またはメールアドレスを紐付けて記録しておき、印刷管理サーバ100のHD211内に、携帯端末識別情報またはメールアドレスとユーザ名を紐付けて記録しておくよう構成してもよい。この場合、図10AのステップS103では、認証サーバ200のCPU201は、認証結果として携帯端末識別情報またはメールアドレスをプリンタ300aに送信し、プリンタ300aは、ステップS405において、携帯端末識別情報またはメールアドレスを印刷管理サーバ100に送信する。次に、印刷管理サーバ100のCPU201は、プリンタ300aから送信された携帯端末識別情報またはメールアドレスをキーにして、印刷管理サーバ100のHD211に保持されるユーザ名を取得し、以降の処理を実行するように構成する。
〔第5実施形態〕
上記第1、2、3、4実施形態では、印刷管理サーバ100に帳票データを持たせ、印刷管理サーバ100から認証されたプリンタ300aへ帳票データの印刷データを出力するように構成したが、本実施形態では、1又は複数のプリントサーバを設け、プリントサーバ内に印刷データ(PDL形式)を保持させ、プリントサーバで保持される印刷データの管理情報を、印刷管理サーバ100で管理するように構成する。
そして、印刷管理サーバ100が、プリンタ300aからの印刷要求を受け、印刷要求に対応する印刷データをプリンタ300aへ出力すべく、プリントサーバへ指示を行うように構成してもよい。
なお、この構成の場合、クライアント端末400内で帳票データを生成し、この帳票データを、プリンタドライバを通して、上述のプリントサーバに印刷データとして送信するようにする。そして、プリントサーバは、クライアント端末400から送信される印刷データを保持するものとする。
また、印刷管理サーバ100は、プリントサーバに蓄積した印刷データの書誌情報(ユーザ名、印刷データ格納サーバIPアドレス、印刷データの格納先のパス、ドキュメント名、タイムスタンプ等)を保持するものとする。この書誌情報を持つことにより、印刷管理サーバ100は、プリンタ300aで指定された印刷データがどのプリントサーバに存在するか認識することができ、指定された印刷データの印刷指示を、指定された印刷データを保持するプリントサーバに行うことができる。
また、上記第1〜5実施形態では、携帯端末(またはICカード(独立))をかざすごとに印刷を行う帳票データの数を変更してもよい。第1〜5実施例では、携帯端末(またはICカード(独立))をカードリーダ319にかざすごとに、選択された帳票のうちの1つ(1ジョブ)を印刷するように構成したが、例えば、携帯端末(またはICカード(独立))をかざしたあと、選択された全ての帳票の印刷を一度に行うように構成してもよい。どちらの構成で実施するかを切り替えるために、印刷管理サーバ100の外部メモリ211に、1ジョブごとに印刷するか(1ジョブ印刷モード)、全帳票を一度に印刷するか(全ジョブ印刷モード)を識別するためのフラグ情報をあらかじめ手動などの方法で記憶させておき、印刷管理サーバ100のサブスレッド起動後にフラグ情報を読み込み、フラグ情報が1ジョブごとに印刷する指定になっていた場合は、印刷準備完了後、1ジョブごとに携帯端末(またはICカード(独立))をカードリーダ319にかざしてから印刷する動作とし、全帳票を一度に印刷する指定になっていた場合は、印刷準備完了後、一度だけ携帯端末(またはICカード(独立))をカードリーダ319にかざしたら全帳票を印刷する動作する動作とする。全帳票を一度に印刷する場合は、図10Bの印刷管理サーバ100でのステップS212における印刷処理を、全帳票を順次印刷する処理とする。また、携帯端末(またはICカード(独立))をかざすごとに印刷を行う帳票データの数を識別する情報を、印刷管理サーバ100の外部メモリ211に、あらかじめ手動などの方法で記憶させておけば、同様の手順で、携帯端末(またはICカード(独立))をかざすごとに所望の帳票データの数を印刷するようにすることもできる。
また、上記第1〜5実施形態では、常に同じ携帯端末(またはICカード(単独))をカードリーダ319にかざす前提で説明したが、図10Aにおいて、プリンタ300aがステップS401で待機している段階で、別の携帯端末(またはICカード(単独))を割り込みでかざしても、かざした携帯端末(またはICカード(単独))を特定できるため、問題なくかざした携帯端末(またはICカード(単独))に対する印刷や帳票一覧の表示を行うことができる。つまり複数のユーザが、それぞれ自分の携帯端末(またはICカード(単独))を使って、同じプリンタ300aに対し、任意の順序でカードリーダ319にかざしても、プリンタ300aはかざされた携帯端末(またはICカード(単独))に応じた処理(帳票一覧表示または印刷)を行うことができる。例えば、ユーザAが、10件の帳票のうち3件の印刷までを行っている段階で、ユーザBが自分の携帯端末をプリンタ300aのカードリーダ319にかざすと、プリンタ300aはユーザBに応じた処理(帳票データ印刷または一覧表示)を行う。次に、ユーザAが自分の携帯端末をプリンタ300aのカードリーダ319にかざすと、プリンタ300aは、ユーザAの4件目の帳票の印刷を行う。
また、上記第1〜5実施形態では、常に同じプリンタのカードリーダに携帯端末(またはICカード(単独))をかざす前提で説明したが、印刷準備完了後においては、別のプリンタに携帯端末(またはICカード(単独))をかざしても、携帯端末(またはICカード(単独))をかざしたプリンタのプリンタIPアドレスを特定できるため、前回かざしたプリンタとは別のプリンタから印刷を行うことができる。例えば、プリンタ300aとプリンタ300bが存在する構成のときに、ユーザAが、プリンタ300aのカードリーダ319に順次携帯端末をかざしながら、プリンタ300aで10件の帳票のうち3件の印刷までを行っている段階で、次に、ユーザAが携帯端末をプリンタ300bのカードリーダ319にかざすと、4件目の帳票は、プリンタ300bから印刷される。
より具体的には、図11のプリンタIPアドレス(プリンタ300aのIPアドレス)と、今回携帯端末がかざされたプリンタのIPアドレスが一致するかを判定(プリンタ判定)し、一致した場合にはプリンタ300aに帳票データを出力命令し、一致しない場合(つまり、今回携帯端末がかざされたプリンタがプリンタ300b)には、プリンタ300bに帳票データを出力命令する。
また、上記第1〜5実施形態では、携帯端末を使用する場合、ICカードが携帯端末に内蔵されている前提で説明したが、ICカードと携帯端末が別々に分かれていても、ICカードと携帯端末を関連付けることにより、同様な手順で印刷を行うことができる。この場合、図9において、携帯端末500と関連付けたいICカードを認証サーバ200のカードリーダにかざすことで、ICカードと携帯端末500を関連付けることができる。印刷実行時には、プリンタ300aのカードリーダ319にICカードをかざすと、帳票データ一覧は関連付けられた携帯端末500に送信される。携帯端末500で帳票選択後、プリンタ300aのカードリーダ319に関連付けられたICカードをかざすと、1ジョブごとに印刷を実行し、残存件数は携帯端末500に通知される。
また、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
以下、図17に示すメモリマップを参照して本発明に係るサーバ装置で読み取り可能なデータ処理プログラムの構成について説明する。
図17は、本発明に係るサーバ置で読み取り可能な各種データ処理プログラムを格納する記録媒体(記憶媒体)のメモリマップを説明する図である。
なお、特に図示しないが、記録媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報、作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、インストールするプログラムやデータが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
本実施形態における図9、図10A、図10B、図10C、図16、図24、図25、図26に示す機能をコンピュータに実行させるプログラムを外部からインストールし、これらの機能を、プログラムをインストールしたホストコンピュータにより遂行させてもよい。そして、その場合、CD−ROMやフラッシュメモリやFD等の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給させる場合でも本発明は適用されるものである。
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
この場合、記録媒体から読み出されたプログラムコード自体が本発明の新規の機能を実現することになる。
プログラムコードを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、DVD−ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM、シリコンディスク等を用いることができる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記録媒体をシステムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
さらに、本発明を達成するためのソフトウェアによって表されるプログラムをネットワーク上のサーバ、データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。