[第1実施形態]
以下、添付の図面を参照して、本実施形態に係るネットワークシステムおよびネットワークシステムの認証方法について、添付の図面を参照しながら詳細説明する。本発明の第1実施形態のネットワークシステムは、クライアント端末に専用のプリンタードライバーをインストールすることなく、プリンターの利用制限(プリンターを使用する利用者の制限)を行なって印刷をするシステムである。
図1は、ネットワークシステムSY1のシステム構成図である。同図に示すように、ネットワークシステムSY1は、Webアプリケーションサーバー1と、Webアプリケーションサーバー1にアクセスする1以上のクライアント端末2(同図では1台を例示)と、クライアント端末2からの要求に基づき印刷を行なう1以上のプリンター3と(同図では3台のプリンター3A、3B、3Cを例示)、プリンター3に装着される(着脱可能な)インターフェースボード4(デバイスサーバー)と、により構成されている。Webアプリケーションサーバー1とクライアント端末2は、インターネットを介して通信可能に接続される。また、クライアント端末2とインターフェースボード4とは、LANにより通信可能に接続される。また、1台のプリンター3(本実施形態ではプリンター3A)にはインターフェースボード4が装着され、残りの2台のプリンター3(プリンター3Bおよび3C)は、当該インターフェースボード4が備える通信部33を介して接続される。
なお、ネットワーク(インターネットやLAN)への接続方式は、有線接続であるか無線接続であるかを問わない。また、図1では、1台のクライアント端末2および3台のプリンター3を例示しているが、これ限るものではなく、その台数は任意である。
Webアプリケーションサーバー1は、制御部11、記憶部12(デバイスリスト記憶部)、通信部13の他、一般的なコンピューターに搭載されるハードウェア構成を有している。制御部11は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)を主要な構成要素とする。CPUは、ROMに記憶されているプログラムを実行し、Webアプリケーションサーバー1全体を制御する。ROMは、CPUが各種処理を実行するための制御プログラムや制御データを記憶する。RAMは、CPUが各種処理を行なうためのワーク領域として利用される。
記憶部12は、HTTPサーバー14、Webアプリケーション15、デバイスリスト16および利用者データベース17(利用者情報記憶部)を記憶する。デバイスリスト16は、利用可能なプリンター3の一覧である。このデバイスリスト16に含まれる情報(以下、「デバイス情報」と称す)としては、プリンター3毎に、プリンター3に割り当てられているプリンターID、プリンター名、プリンター3が接続されている通信ポートが含まれる。なお、このデバイス情報はあくまでも一例であり、これに限るものではない。また、利用者データベース17は、Webアプリケーション15の利用を許可する利用者の情報(以下、「利用者情報」と称す)を管理するためのデータベースであり、利用者を特定するための利用者IDおよびパスワードが関連付けられて登録されている。
通信部13は、クライアント端末2(Webブラウザ56)と通信を行なうためのインターフェースである。Webアプリケーションサーバー1とクライアント端末2との通信は、HTTPサーバー14によりHTTP(Hypertext Transfer Protocol)に基づいて行なわれる。Webアプリケーションサーバー1は、クライアント端末2からのWebアプリケーション15へのアクセス(HTTPリクエスト)に際し、クライアント端末2から入力された情報(以下、「ユーザー識別情報(識別情報)」と称する)に基づいてログイン認証を行い、認証が成功した場合にのみWebアプリケーション15へのアクセスを許可し、対象となるWebページ21を送信する。また、Webアプリケーションサーバー1は、許可されたクライアント端末2(利用者)に対して利用可能なプリンター3のデバイスリスト16を送信する。
なお、詳細は後述するが、上記Webページ21には、Webページ21自体を制御するためのページ制御用スクリプト22(JavaScript(登録商標))に加え、Webページ21に関する印刷制御を行なうための印刷制御用スクリプト23(JavaScript(登録商標))が組み込まれており(埋め込まれており)、クライアント端末2は、Webブラウザ56において(Webページ21の内部で)印刷制御用スクリプト23を実行することにより、印刷処理を行なう。
インターフェースボード4は、制御部31、記憶部32、通信部33およびボード側I/F34を備えている。制御部31は、CPUおよびRAMを主要な構成要素とする。CPUは、記憶部32に記憶されているプログラムを実行し、インターフェースボード4全体を制御する。RAMは、CPUが各種処理を行なうためのワーク領域として利用される。記憶部32は、例えば、不揮発性メモリー(フラッシュROM等)であり、CPUが各種処理を実行するための制御プログラムや制御データを記憶する。また、記憶部32は、HTTPサーバー35を記憶する。
ボード側I/F34は、プリンター3(プリンター3A)に装着するための受け口であり、プリンター3Aとはこのボード側I/F34を介して通信を行なう。通信部33は、クライアント端末2(Webブラウザ56)およびプリンター3(本実施形態ではプリンター3Bおよび3C)と通信を行なうためのインターフェースであり、LANインターフェースやUSBインターフェース等の各種接続形態に対応可能なインターフェース群により構成されている。
インターフェースボード4とクライアント端末2(Webブラウザ56)との通信は、HTTPサーバー35によりHTTPに基づいて行われる。即ち、クライアント端末2から、インターフェースボード4に割り当てられたサービスエンドポイントアドレス(URI(Uniform Resource Identifier))に対して、出力先のプリンター3のデバイス情報(プリンターIDおよび通信ポート)および印刷データが送信されると、インターフェースボード4は受信した印刷データを、出力先として指定されたプリンター3に送信する(詳細は後述する)。
プリンター3は、制御部41、記憶部42、印刷機構43、通信部44、プリンター側I/F45を主要な構成要素とする。なお、プリンター3A、3B、3Cは同一構成であるため、図1では、プリンター3Aの構成要素のみを記載する。制御部41は、CPUおよびRAMを主要な構成要素とする。CPUは、記憶部42に記憶されているプログラムを実行し、プリンター3全体を制御する。RAMは、CPUが各種処理を行なうためのワーク領域として利用される。記憶部42は、例えば、不揮発性メモリー(フラッシュROM等)であり、CPUが各種処理を実行するための制御プログラムや制御データを記憶する。
印刷機構43は、用紙送り機構、印刷ヘッド、用紙切断機構などを含み、CPUの制御の下で印刷動作を行う。なお、印刷方式は、インクジェット方式やレーザー方式など、その種類を問わない。
プリンター側I/F45は、インターフェースボード4(ボード側I/F34)と接続するものであり(インターフェースボード4を装着する受け口であり)、プリンター側I/F45を介してインターフェースボード4と通信を行なう。通信部44は、インターフェースボード4と通信を行なうためのインターフェースであり、LANインターフェースやUSBインターフェース等の各種接続形態に対応可能なインターフェース群により構成されている。プリンター3は、プリンター側I/F45または通信部44を介して、クライアント端末2から(インターフェースボード4を介して)送信される印刷データを受信し印刷を実行する。
なお、上述のように、本実施形態では、プリンター3Aにインターフェースボード4を装着する構成としているため、プリンター3Aは、プリンター側I/F45を介してインターフェースボード4と通信し、プリンター3Bおよび3Cは、通信部44を介してインターフェースボード4と通信する。即ち、本実施形態では、プリンター3Aの通信部44は未使用(未接続)となり、またプリンター3Bおよび3Cのプリンター側I/F45は未使用(未接続)になる。
クライアント端末2は、主要な構成要素として、制御部51、記憶部52、表示部53、操作部54、通信部55を有している。制御部51は、CPUおよびRAMを主要な構成要素とする。CPUは、記憶部52に記憶されているプログラムを実行し、クライアント端末2全体を制御する。RAMは、CPU各種処理を行なうためのワーク領域として利用される。記憶部52は、例えば、HDD(Hard Disk Drive)や不揮発性メモリー(フラッシュROM等)であり、CPUが各種処理を実行するための制御プログラムや制御データを記憶する。また、記憶部52は、Webブラウザ56を記憶する。
表示部53は、Webブラウザ56上に、当該Webブラウザ56により取得(ダウンロード)したWebページ21を表示したり、Webブラウザ56での操作に伴う各種イベントを通知する画面や各種設定・選択画面等を表示する。これら画面は、Webブラウザ56で表示中のWebページ21内に表示しても良いし、あるいは新規にWebページ21を作成して表示するようにしても良い。操作部54は、Webブラウザ56で表示したWebページ21において、ユーザー識別情報(利用者IDおよびパスワード)の入力をはじめ、各種入力操作(文字入力や図形描画等)や、選択・決定操作および印刷操作等を行うための操作手段である。なお、表示部53と操作部54とは、別々の要素として構成するようにしても良いし、表示部53をタッチパネルで形成することで一体に構成しても良い。
通信部55は、Webアプリケーションサーバー1およびインターフェースボード4と通信を行なうためのインターフェースであり、クライアント端末2は、Webブラウザ56を使用して各機器と通信を行なう。このWebブラウザ56は、プラグインモジュールを有さない単機能ブラウザ(標準ブラウザ)であり、クライアント端末2(制御部51)は、このWebブラウザ56を使用して、ネットワーク接続(インターネット接続)されたWebアプリケーションサーバー1にアクセスし、Webアプリケーション15が提供するWebページ21を取得する。このWebページ21の取得に際し、クライアント端末2は、まず、Webアプリケーション15にログインするために、ユーザーにより入力されたユーザー識別情報をWebアプリケーション15(Webアプリケーションサーバー1)に送信する。そして、Webアプリケーション15でユーザー識別情報に基づくログイン認証が成功した後に、即ち、Webアプリケーション15へのアクセスが許可された後に、所望のWebページ21を取得する。
このWebページ21には、上述のようにページ制御用スクリプト22および印刷制御用スクリプト23が組み込まれており、ページ制御用スクリプト22によりWebブラウザ56がユーザーからの入力操作を受け付けると、その入力結果(文字や画像の入力結果)を所定の描画領域に描画する仕様となっている。この描画領域は、例えば、ページ制御用スクリプト22内にCanvas(HTML5 Canvas)で定義(設定)した領域であり、入力結果が当該描画領域に描画され、画像データとして記憶される。
また、ユーザーによりWebページ21で印刷操作(印刷ボタンの押下等)が行なわれると、クライアント端末2(Webブラウザ56)は、当該Webページ21に組み込まれた印刷制御用スクリプト23を実行してWebアプリケーションサーバー1からデバイスリスト16を取得し、これに基づいて出力先となるプリンター3を選択するためのプリンター選択画面(本実施形態では、プリンター3A〜3Cのいずれかを選択する画面)を表示する。そして、ユーザーによりプリンター選択画面のリストの中から所望のプリンター3が選択され、印刷の実行開始が指示されると(例えば、プリンター選択画面内に配置された印刷開始ボタンの押下等)、描画領域に描画された画像データを変換して印刷データを生成し、通信部55を介して、印刷データと共に指定されたプリンター3のデバイス情報(プリンターIDおよび通信ポート)をインターフェースボード4に対して(インターフェースボード4のサービスエンドポイントに対して)送信する。
なお、上記クライアント端末2は、Webブラウザ56が動作するコンピューターであれば良く、例えば、携帯端末(例えば、携帯電話やスマートフォン等)やパーソナルコンピューター(PC)など、その種別を問わない。
次に、図2を参照して、ネットワークシステムSY1の機能構成について説明する。Webアプリケーションサーバー1は、ユーザー識別情報受信手段71(識別情報受信部)、利用者認証手段72(利用者認証部)およびデバイスリスト送信手段73を有している。ユーザー識別情報受信手段71は、制御部11、HTTPサーバー14およびWebアプリケーション15を主要部とし、クライアント端末2から送信されるユーザー識別情報(利用者IDおよびパスワード)を受信する。
利用者認証手段72は、制御部11、Webアプリケーション15および利用者データベース17を主要部とし、利用者がクライアント端末2(Webブラウザ56)を用いてWebアプリケーション15にアクセスする際の、利用者の認証(ログイン認証)を行なう。具体的には、ユーザー識別情報受信手段71により受信したユーザー識別情報が利用者データベース17に登録されているか否かを判定する。受信したユーザー識別情報が利用者データベース17に登録されている場合は(認証成功の場合)、当該利用者によるWebアプリケーション15の利用(Webアプリケーション15へのログイン)を許可し、利用者データベース17に登録されていない場合は(認証失敗の場合)、当該利用者によるWebアプリケーション15の利用(Webアプリケーション15へのログイン)を却下し、クライアント端末2に対して、再度、ユーザー識別情報の入力を促す。
デバイスリスト送信手段73は、制御部11およびHTTPサーバー14を主要部とし、クライアント端末2からデバイスリスト16の取得要求を受けた場合に、その応答として記憶部12に保存したデバイスリスト16を送信する。
クライアント端末2は、ログイン画面表示手段81(識別情報入力画面表示部)、ユーザー識別情報入力手段82、ユーザー識別情報送信手段83(識別情報送信部)、Webページ取得手段84(Webページ取得部)、描画処理手段85、デバイスリスト取得手段86(デバイスリスト取得部)、プリンター選択手段87(選択画面表示部、デバイス選択部)、印刷データ生成手段88、および印刷データ送信手段89(印刷指示部)を有している。
ログイン画面表示手段81は、制御部51、表示部53およびWebブラウザ56を主要部とし、Webアプリケーション15にログインするためのユーザー識別情報を入力するログイン画面(識別情報入力画面)をWebブラウザ56上に(表示部53に)表示する。ユーザー識別情報入力手段82は、制御部51、操作部54およびWebブラウザ56を主要部とし、利用者によるログイン画面上の操作に基づいてユーザー識別情報を入力する。ユーザー識別情報送信手段83は、制御部51およびWebブラウザ56を主要部とし、ユーザー識別情報入力手段82により入力されたユーザー識別情報を、Webアプリケーションサーバー1(Webアプリケーション15)に送信する。
Webページ取得手段84は、制御部51およびWebブラウザ56を主要部とし、Webアプリケーションサーバー1(Webアプリケーション15)でログイン認証が成功した場合に、Webブラウザ56によりWebアプリケーションサーバー1(Webアプリケーション15)から対象となるWebページ21(ページ制御用スクリプト22および印刷制御用スクリプト23が組み込まれたWebページ21)を取得する。描画処理手段85は、制御部51およびページ制御用スクリプト22を主要部とし、取得したWebページ21(Webブラウザ56で表示しているWebページ21)に対してユーザーによる入力操作が行なわれた場合、その入力操作の結果を、描画領域に描画する。
デバイスリスト取得手段86は、制御部51および印刷制御用スクリプト23を主要部とし、印刷制御用スクリプト23によりWebアプリケーションサーバー1に対してデバイスリスト16の取得要求を行い、その応答としてWebアプリケーションサーバー1からデバイスリスト16を取得する。プリンター選択手段87は、制御部51および印刷制御用スクリプト23を主要部とし、印刷制御用スクリプト23により、デバイスリスト16の中から1のプリンター3を選択するためのプリンター選択画面を表示し、ユーザーにより選択されたプリンター3を印刷データの出力先として設定する。なお、取得したデバイスリスト16および出力先として設定したプリンター3の情報を、例えば、Webブラウザ56のCookieやWeb Storage等に記憶し、次回からは保存した情報を読み出して設定を復元するようにしても良い。
印刷データ生成手段88は、制御部51および印刷制御用スクリプト23を主要部とし、印刷制御用スクリプト23により、描画領域に描画された画像データをプリンター3で処理可能な形式に変換して印刷データ(ラスタイメージコマンド、ビットマップファイルやXML印刷データ等)を生成する。また、印刷データ生成手段88は、生成した印刷データを所定の記憶領域(記憶部52)に一時的に保存する。この印刷データの一時保存は、例えば、Web Storageを使用することで実現することができる。
印刷データ送信手段89は、制御部51および印刷制御用スクリプト23を主要部とし、プリンター選択手段87により選択した出力先のプリンター3のデバイス情報(出力先プリンター情報(プリンターIDや通信ポート等))および印刷データ生成手段88により一時保存した印刷データをインターフェースボード4に送信する。なお、印刷データ送信手段89は、印刷データ送信中にWebページ21の切り替えが行なわれた場合(Unloadイベントが発生した場合)、その送信を中断する。これは、印刷データ送信手段89の要素である印刷制御用スクリプト23自体がWebページ21に組み込まれているため、Webページ21が切り替えられることにより、印刷制御用スクリプト23が消失してしまうからである。
インターフェースボード4は、印刷データ転送手段91を有している。印刷データ転送手段91は、制御部31およびHTTPサーバー35を主要部とし、クライアント端末2から出力先プリンター情報および印刷データを受信し、出力先プリンター情報で指定されたプリンター3に対して印刷データを送信する。
プリンター3は、印刷データ受信手段101および印刷制御手段102を有している。印刷データ受信手段101は、制御部41を主要部とし、インターフェースボード4を介して、クライアント端末2から送信される印刷データを受信する。印刷制御手段102は、制御部41および印刷機構43を主要部とし、受信した印刷データに基づいて画像印刷を実行する。この印刷処理に際し、印刷制御手段102は、クライアント端末2から送信される印刷データの全てを受信した後に、印刷を実行する。具体的には、クライアント端末2から送られてくる印刷データを一時的に記憶部42の所定の記憶領域に保存し、その後、保存した印刷データを読み出して印刷処理を実行する。
次に、図3を参照して、ネットワークシステムSY1における利用者認証処理および印刷処理手順について説明する。まず、クライアント端末2(制御部51)は、ユーザーによるWebブラウザ56の操作に従ってWebアプリケーションサーバー1(Webアプリケーション15)にアクセスし、Webアプリケーション15にログインするためのログイン画面をWebブラウザ56で表示する(S01,識別情報入力画面表示ステップ)。次に、クライアント端末2は、ログイン画面上でのユーザーによる入力操作により、ユーザー識別情報(利用者IDおよびパスワード)を入力し(S02)、入力したユーザー識別情報をWebアプリケーションサーバー1に送信する(S03,識別情報送信ステップ)。
Webアプリケーションサーバー1(制御部11)は、クライアント端末2からユーザー識別情報を受信すると(S04,識別情報受信ステップ)、受信したユーザー識別情報の認証処理を行なう(S05,利用者認証ステップ)。即ち、受信したユーザー識別情報が利用者データベース17に登録されているか否かを判定する。ユーザー識別情報が利用者データベース17に登録されていない場合(認証失敗の場合,S06;No)、Webアプリケーションサーバー1は、クライアント端末2に対して、再度、ユーザー識別情報の入力を促し、クライアント端末2はS01以降の処理を実行する。一方、ユーザー識別情報が利用者データベース17に登録されている場合(認証成功の場合,S06;Yes)、Webアプリケーションサーバー1は、クライアント端末2に対してWebアプリケーション15へのログインを許可する。
次に、ログインを許可されたクライアント端末2は、ユーザーによるWebブラウザ56の操作に従ってWebアプリケーションサーバー1(Webアプリケーション15)から所望のWebページ21(ページ制御用スクリプト22および印刷制御用スクリプト23が組み込まれたWebページ21)を取得し、当該Webページ21をWebブラウザ56で表示する(S07,Webページ取得ステップ)。
次に、ユーザーによりWebページ21に対する入力操作が行なわれると、クライアント端末2は、当該Webページ21に組み込まれたページ制御用スクリプト22に従って入力操作を受け付け、受付けた入力操作結果を描画領域に描画する(S08)。この状態で(描画後に)、ユーザーによりWebページ21内で印刷操作が行なわれると(例えば、Webページ21内に配置された印刷ボタンが押されると)、クライアント端末2は、ページ制御用スクリプト22により当該印刷操作に伴う印刷指示を取得する(S09)。この印刷指示の取得をトリガーとして、ページ制御用スクリプト22から印刷制御用スクリプト23が呼び出され、印刷処理が開始される。
具体的には、クライアント端末2は、印刷制御用スクリプト23により、Webアプリケーションサーバー1に対してデバイスリスト16の取得要求を行なう(S10)。Webアプリケーションサーバー1は、この取得要求を受けると、その応答として記憶部12に保存しているデバイスリスト16をクライアント端末2に送信する(S11)。クライアント端末2(印刷制御用スクリプト23)は、Webアプリケーションサーバー1からデバイスリスト16を取得すると(S12,デバイスリスト取得ステップ)、これに基づいて、出力先となるプリンター3を選択するためのプリンター選択画面を表示する(S13,選択画面表示ステップ)。そして、ユーザーによりプリンター選択画面において1のプリンター3が選択・確定されると、クライアント端末2は、選択されたプリンター3を印刷データの出力先として設定する(S14,デバイス選択ステップ)。
次に、クライアント端末2は、印刷制御用スクリプト23により上記描画領域に描画した画像データに対して画像処理(2値化やギャザリング等)を行ない(S15)、プリンター3が処理可能な形式に変換して印刷データを生成すると共に(S16)、生成した印刷データを記憶部52に保存する(S17)。このS16およびS17の処理は、印刷データの生成が完了するまで、即ち、描画領域に描画された画像データの全てが印刷データに変換されるまで実行される(S18;No)。
そして、印刷データの生成が完了すると(S18;Yes)、クライアント端末2は、印刷制御用スクリプト23に従って、出力先として設定したプリンター3の情報(出力先プリンター情報:プリンターIDおよびポート情報)および記憶部52に保存した印刷データを、インターフェースボード4(インターフェースボード4のサービスエンドポイントアドレス)に対して送信する(S19,印刷指示ステップ)。
インターフェースボード4(制御部31)は、クライアント端末2から出力先プリンター情報および印刷データを受信すると(S20)、出力先プリンター情報で指定されたプリンター3に対して印刷データを送信する(S21)。プリンター3(制御部41)は、インターフェースボード4から印刷データを受信すると(S22)、これを記憶部42に保存する(S23)。このS22およびS23の処理は、印刷データを全て受信するまで行なわれる(S24;No)。そして、プリンター3は、全ての印刷データを受信し終えると(S24;Yes)、保存した印刷データを読み出し、これに基づく印刷(画像印刷)を行なう(S25)。
以上のように、第1実施形態によれば、複数のプリンターが接続されている状況において、Webアプリケーションサーバー1で利用者認証を行い、認証が許可された(認証が成功した)利用者のみが、Webページ21に組み込まれた印刷制御用スクリプト23により取得したデバイスリスト16(プリンター一覧)からプリンター3を選択して所望の画像を印刷することができる。即ち、クライアント端末2にはWebページ21を表示(取得)するWebブラウザ56がインストールされていればよく、従来のように個々のクライアント端末2にプリンタードライバーをインストールすることなく、プリンター3の利用者を認証し、許可された利用者のみが利用可能なプリンター3を選択して印刷を行なうことができる。
[第2実施形態]
次に、図4ないし図6を参照して、本発明の第2実施形態のネットワークシステムSY2について説明する。第2実施形態のネットワークシステムSY2は、プリンター3を使用する利用者の認証を、インターフェースボード4側で行う点で第1実施形態のネットワークシステムSYとは異なる。具体的には、インターフェースボード4が認証処理部201および利用者データベース202を備え、認証処理部201によりクライアント端末2から受信するユーザー識別情報(利用者を特定するための情報:利用者IDおよびパスワード,識別情報)の認証を行い、認証が成功した場合にプリンター3の利用(プリンター3からの画像印刷)を許可する点が異なる。それ以外の点については、第1実施形態のネットワークシステムSYと同様である。なお、図4において、第1実施形態と同様の構成部分については、先に説明した図1と同様の符号を付し、その詳細な説明を省略する。また、第1実施形態と同様の構成部分について適用される変形例は、本実施形態についても同様に適用される。以下、異なる点を中心に説明する。
図4に示すように、第2実施形態におけるネットワークシステムSY2のインターフェースボード4は、認証処理部201および利用者データベース202(記憶部32,利用者情報記憶部)をさらに備えている。利用者データベース202は、プリンター3の利用を許可する利用者を管理するためのデータベースであり、利用者を特定するための利用者IDおよびパスワード(利用者情報)と、当該利用者が使用可能なプリンター3のプリンターIDおよび当該プリンター3が接続されている通信ポート(上記利用者IDで特定される利用者に利用を許可するプリンター3のIDおよび通信ポート。以下、これらをまとめて「プリンター情報(プリンター識別情報)」と称す)、が関連付けて登録されている。認証処理部201は、クライアント端末2から受信するユーザー識別情報と利用者データベース202とに基づいて、プリンター3の利用者を認証する。
次に、図5の機能ブロック図を参照して、ネットワークシステムSY2の機能構成について説明する。クライアント端末2は、Webページ取得手段84(Webページ取得部)、描画処理手段85、ユーザー識別情報入力画面表示手段211(識別情報入力画面表示部)、ユーザー識別情報入力手段212、印刷データ生成手段88、データ送信手段213(データ送信部)を有している。Webページ取得手段84、描画処理手段85、印刷データ生成手段88は第1実施形態の各手段と同様であるため説明を省略する。
ユーザー識別情報入力画面表示手段211は、制御部51、表示部53、印刷制御用スクリプト23およびWebブラウザ56を主要部とし、印刷制御用スクリプト23により、利用者がプリンター3を使用する場合の認証に用いるユーザー識別情報(利用者IDおよびパスワード)を入力するためのユーザー識別情報入力画面(識別情報入力画面)をWebブラウザ56上に(表示部53に)表示する。ユーザー識別情報入力手段212は、制御部51、操作部54およびWebブラウザ56を主要部とし、ユーザー識別情報入力画面上での利用者による入力操作に基づいて、ユーザー識別情報を入力する。データ送信手段213は、制御部51および印刷制御用スクリプト23を主要部とし、ユーザー識別情報入力手段212により入力したユーザー識別情報と、印刷データ生成手段88により生成(保存)した印刷データとを関連付けてインターフェースボード4に送信する。
インターフェースボード4は、データ受信手段221(データ受信部)、利用者認証手段222(利用者認証部)、出力先プリンター設定手段223(出力先プリンター設定部)および印刷データ転送手段224(印刷データ転送部)を有している。データ受信手段221は、制御部31およびHTTPサーバー35を主要部とし、クライアント端末2(データ送信手段213)からユーザー識別情報および印刷データを受信する。
利用者認証手段222は、制御部31、認証処理部201および利用者データベース202を主要部とし、プリンター3を使用する利用者の認証を行なう。具体的には、受信したユーザー識別情報と利用者データベース202に登録されている利用者情報とを照合し、ユーザー識別情報が利用者データベース202に登録されている利用者情報と一致する場合は、認証は成功したと見なし、一致する利用者情報がない場合は、当該ユーザー識別情報(利用者)の認証は失敗したと見なす。
出力先プリンター設定手段223は、制御部31および認証処理部201を主要部とし、利用者認証手段222の認証結果に基づいて、出力先となるプリンター3を設定する。具体的には、利用者認証手段222により認証が成功した場合、ユーザー識別情報と一致した利用者情報に関連付けられたプリンター情報(プリンターIDおよび通信ポート)で特定されるプリンター3を出力先として設定する。一方、認証が失敗した場合、許可されたプリンター3が存在しない旨をクライアント端末2(利用者)に通知する。印刷データ転送手段224は、制御部31を主要部とし、出力先プリンター設定手段223により設定したプリンター3に対して印刷データを送信する。
次に、図6を参照して、第2実施形態のネットワークシステムSY2における利用者認証処理および印刷処理手順について説明する。まず、クライアント端末2(制御部51)は、ユーザーによるWebブラウザ56の操作に従ってWebアプリケーションサーバー1(Webアプリケーション15)にアクセスし、対象となるWebページ21(ページ制御用スクリプト22および印刷制御用スクリプト23が組み込まれたWebページ21)を取得し、当該Webページ21をWebブラウザ56で表示する(S31,Webページ取得ステップ)。
次に、ユーザーによりWebページ21に対する入力操作が行なわれると、クライアント端末2は、当該Webページ21に組み込まれたページ制御用スクリプト22に従って入力操作を受け付け、受付けた入力操作結果を描画領域に描画する(S32)。この状態で(描画後に)、ユーザーによりWebページ21内で印刷操作が行なわれると(例えば、Webページ21内に配置された印刷ボタンが押されると)、クライアント端末2は、ページ制御用スクリプト22により当該印刷操作に伴う印刷指示を取得する(S33)。この印刷指示の取得をトリガーとして、ページ制御用スクリプト22から印刷制御用スクリプト23が呼び出され、印刷処理が開始される。
具体的には、クライアント端末2は、印刷制御用スクリプト23により、ユーザー識別情報入力画面を表示し(S34,識別情報入力画面表示ステップ)、当該画面上での利用者による入力操作により、ユーザー識別情報(利用者IDおよびパスワード)を入力する(S35)。この入力したユーザー識別情報は、例えば、Webブラウザ56のCookieやWeb Storage等に保存する(記憶部52に保存する)。
次に、クライアント端末2は、上記描画領域に描画した画像データに対して画像処理を行ない(S36)、プリンター3が処理可能な形式に変換して印刷データを生成すると共に(S37)、生成した印刷データを記憶部52に保存する(S38)。このS37およびS38の処理は、印刷データの生成が完了するまで、即ち、描画領域に描画された画像データの全てが印刷データに変換されるまで実行される(S39;No)。そして、印刷データの生成が完了すると(S39;Yes)、クライアント端末2は、印刷制御用スクリプト23により、保存したユーザー識別情報と印刷データとを関連付けて、インターフェースボード4に対して送信する(S40,データ送信ステップ)。
インターフェースボード4(制御部31)は、クライアント端末2からユーザー識別情報および印刷データを受信すると(S41,データ受信ステップ)、受信したユーザー識別情報の認証処理を行なう(S42,利用者認証ステップ)。具体的には、受信したユーザー識別情報が利用者データベース202に登録されているか否かを判定する。ユーザー識別情報が利用者データベース202に登録されていない場合(認証失敗の場合,S43;No)、インターフェースボード4は、クライアント端末2に対して、利用者の認証が失敗した為、プリンター3を使用できない旨(プリンター3から印刷ができない旨)を示す警告メッセージを通知する(S44)。
一方、ユーザー識別情報が利用者データベース202に登録されている場合(認証成功の場合,S43;Yes)、インターフェースボード4は、当該ユーザー識別情報と一致した利用者情報に関連付けられているプリンター情報(プリンターIDおよび通信ポート)を抽出し、当該プリンター情報で指定されるプリンター3を、出力先のプリンター3として設定する(S45,出力先プリンター設定ステップ)。そして、インターフェースボード4は、出力先として設定したプリンター3に対して印刷データを送信する(S46,印刷データ転送ステップ)。
次に、プリンター3(制御部41)は、インターフェースボード4から印刷データを受信すると(S47)、これを記憶部42に保存する(S48)。このS47およびS48の処理は、印刷データを全て受信するまで行なわれる(S49;No)。そして、プリンター3は、全ての印刷データを受信し終えると(S49;Yes)、保存した印刷データを読み出し、これに基づく印刷(画像印刷)を行なう(S50)。
以上のように、第2実施形態によれば、複数のプリンター3が接続されている状況において、Webページ21に組み込まれた印刷制御用スクリプト23を用いて利用者を特定するためのユーザー識別情報(識別情報)を入力し、入力したユーザー識別情報に基づく認証が成功した場合、当該利用者に関連付けられたプリンター3からの印刷を実行することができる。即ち、クライアント端末2にはWebページ21を取得(表示)するWebブラウザ56がインストールされていればよく、従来のように個々のクライアント端末2にプリンタードライバーをインストールすることなく、プリンター3を使用する利用者を限定して印刷を行なうことが可能となる。
[第3実施形態]
次に、図7ないし図9を参照して、本発明の第3実施形態のネットワークシステムSY3について説明する。第3実施形態のネットワークシステムSY3は、Webアプリケーションサーバー1が、暗号鍵(秘密鍵)を用いた認証処理によりプリンター3の認証を行い、許可されたプリンター3から画像印刷をするものである。即ち、プリンター3を認証することにより、出力先のプリンター3を限定して印刷するものである。図7のシステム構成図に示すように、第3実施形態のネットワークシステムSY3は、Webアプリケーションサーバー1が認証処理部301を有し、インターフェースボード4が、暗号化処理部302およびプリンター管理データベース303を有している点において、第1実施形態のネットワークシステムSY1と異なっている。それ以外の点については、第1実施形態と同様である。なお、図7において、第1実施形態および第2実施形態と同様の構成部分については、先に説明した図1および図4と同様の符号を付し、その詳細な説明を省略する。また、第1実施形態および第2実施形態と同様の構成部分について適用される変形例は、本実施形態についても同様に適用される。以下、異なる点を中心に説明する。
図7に示すように、第3実施形態におけるネットワークシステムSY3のWebアプリケーションサーバー1は、認証処理部301を備えている。認証処理部301は、インターフェースボード4との間でチャレンジ・レスポンス方式による認証を行なうことで、プリンター3の認証を行なう。即ち、認証処理部301は、クライアント端末2(印刷制御用スクリプト23)を介して、インターフェースボード4に対しプリンター3の認証に用いる認証要求情報(認証の度に異なるランダムな数値列)を送信し、当該認証要求情報の応答としてインターフェースボード4から受信する認証応答情報と、予め記憶している暗号鍵(サーバー暗号鍵,図示省略)を用いて認証要求情報(送信した認証要求情報)を暗号化した演算結果とを照合することにより、プリンター3の認証を行なう。
一方、インターフェースボード4は、暗号化処理部302およびプリンター管理データベース303(プリンター管理情報記憶部)を備えている。プリンター管理データベース303は、インターフェースボード4に接続されているプリンター3を管理するデータベースであり、プリンター3毎に(本実施形態では、プリンター3A〜3Cのそれぞれに対して)、プリンターIDおよび通信ポート(プリンター識別情報)と、プリンター3毎に異なる暗号鍵(プリンター暗号鍵)と、が関連付けて登録されている。暗号化処理部302は、Webアプリケーションサーバー1から受信した認証要求情報を、プリンター管理データベース303に登録されている各プリンター3のプリンター暗号鍵を用いて暗号化し、暗号化した情報(暗号化認証情報)と、暗号化に用いたプリンター暗号鍵に関連付けられているプリンターIDおよび通信ポートと(以下、これらを合わせて「認証応答情報」と称す)、をクライアント端末2(印刷制御用スクリプト23)を介してWebアプリケーションサーバー1に送信する。
次に、図8の機能ブロック図を参照して、ネットワークシステムSY3の機能構成について説明する。Webアプリケーションサーバー1は、認証要求情報送信手段311、認証応答情報受信手段312、プリンター認証手段313(プリンター認証部)および認証結果送信手段314(認証結果送信部)を有している。認証要求情報送信手段311は、制御部11、認証処理部301およびHTTPサーバー14を主要部とし、インターフェースボード4に対して(クライアント端末2(印刷制御用スクリプト23)を介して)、認証要求情報を送信する。なお、この送信処理は、クライアント端末2(後述の認証処理要求手段321)から認証処理の実行要求を受けて開始される。
認証応答情報受信手段312は、制御部11、認証処理部301およびHTTPサーバー14を主要部とし、認証要求情報送信手段311により送信した認証要求情報の応答として、インターフェースボード4から(クライアント端末2(印刷制御用スクリプト23)を介して)、認証応答情報(暗号化認証情報、プリンターIDおよび通信ポート)を受信する。プリンター認証手段313は、制御部11および認証処理部301を主要部とし、認証応答情報受信手段312により受信した認証応答情報に含まれる暗号化認証情報と、認証要求情報送信手段311により送信した認証要求情報をサーバー暗号鍵により暗号化した演算結果と、を照合することにより、プリンター3の認証を行なう。暗号化認証情報と上記演算結果が一致すれば、認証成功と見なし、不一致の場合は認証失敗と見なす。
認証結果送信手段314は、制御部11、認証処理部301およびHTTPサーバー14を主要部とし、プリンター認証手段313の認証結果をクライアント端末2に送信する。この認証結果が認証成功の場合は、認証が成功した暗号化認証情報と共に受信したプリンターIDおよび通信ポートの情報をクライアント端末2に送信する。認証失敗の場合は、その旨を示す警告メッセージをクライアント端末2に送信する。なお、本実施形態では、全てのプリンター3(プリンター3A〜3C)において認証失敗となった場合に、警告メッセージを送信する。
クライアント端末2は、Webページ取得手段84(Webページ取得部)、描画処理手段85、認証処理要求手段321、認証要求情報転送手段322、認証応答情報転送手段323、認証結果受信手段324、印刷データ生成手段88、および印刷データ送信手段325(印刷指示部)を有している。なお、Webページ取得手段84、描画処理手段85および印刷データ生成手段88は、第1実施形態および第2実施形態の各部と同様であるため、説明を省略する。
認証処理要求手段321は、制御部51および印刷制御用スクリプト23を主要部とし、印刷制御用スクリプト23により、Webアプリケーションサーバー1に対してプリンター3の認証処理の実行を要求する。認証要求情報転送手段322は、制御部51および印刷制御用スクリプト23を主要部とし、印刷制御用スクリプト23によりWebアプリケーションサーバー1から認証要求情報を受信し、これをインターフェースボード4に転送する。認証応答情報転送手段323は、制御部51および印刷制御用スクリプト23を主要部とし、印刷制御用スクリプト23によりインターフェースボード4から認証応答情報を受信し、これをWebアプリケーションサーバー1に転送する。
認証結果受信手段324は、制御部51および印刷制御用スクリプト23を主要部とし、印刷制御用スクリプト23によりWebアプリケーションサーバー1から認証結果を受信する。受信した認証結果が認証成功を示すものである場合、認証結果と共に受信したプリンターIDおよび通信ポートを出力先のプリンター3の情報(出力先プリンター情報)として設定する。一方、受信した認証結果が認証失敗を示すものである場合、認証結果と共に受信した警告メッセージをWebブラウザ56で表示する。印刷データ送信手段325は、制御部51および印刷制御用スクリプト23を主要部とし、上記出力先プリンター情報と印刷データ生成手段88により生成(保存)した印刷データとを関連付けてインターフェースボード4に送信する。
インターフェースボード4は、認証要求情報受信手段331(認証要求情報受信部)、暗号化処理手段332、認証応答情報送信手段333(認証応答情報送信部)および印刷データ転送手段334を有している。認証要求情報受信手段331は、制御部31、暗号化処理部302およびHTTPサーバー35を主要部とし、Webアプリケーションサーバー1から(クライアント端末2(印刷制御用スクリプト23)を介して)、認証要求情報を受信する。暗号化処理手段332は、制御部31および暗号化処理部302を主要部とし、受信した認証要求情報を、プリンター管理データベース303に登録されている各プリンター3に関連付けられたプリンター暗号鍵により暗号化し、それぞれのプリンター3に対する暗号化認証情報を生成する。
認証応答情報送信手段333は、制御部31、暗号化処理部302およびHTTPサーバー35を主要部とし、暗号化処理手段332により生成された暗号化認証情報、および当該暗号化認証情報の生成に用いられたプリンター暗号鍵に関連付けられたプリンターIDおよび通信ポートの情報を認証応答情報として、Webアプリケーションサーバー1に(クライアント端末2(印刷制御用スクリプト23)を介して)送信する。印刷データ転送手段334は、制御部31を主要部とし、クライアント端末2(印刷データ送信手段325)から出力先プリンター情報および印刷データを受信し、受信した出力先プリンター情報で指定されたプリンター3に対して印刷データを送信する。
次に、図9を参照して、第3実施形態のネットワークシステムSY3におけるプリンター認証処理および印刷処理手順について説明する。まず、クライアント端末2(制御部51)は、ユーザーによるWebブラウザ56の操作に従ってWebアプリケーションサーバー1(Webアプリケーション15)にアクセスし、対象となるWebページ21(ページ制御用スクリプト22および印刷制御用スクリプト23が組み込まれたWebページ21)を取得し、当該Webページ21をWebブラウザ56で表示する(S51,Webページ取得ステップ)。
次に、ユーザーによりWebページ21に対する入力操作が行なわれると、クライアント端末2は、当該Webページ21に組み込まれたページ制御用スクリプト22に従って入力操作を受け付け、受付けた入力操作結果を描画領域に描画する(S52)。この状態で(描画後に)、ユーザーによりWebページ21内で印刷操作が行なわれると、クライアント端末2は、ページ制御用スクリプト22により当該印刷操作に伴う印刷指示を取得する(S53)。この印刷指示の取得をトリガーとして、ページ制御用スクリプト22から印刷制御用スクリプト23が呼び出され、印刷処理が開始される。
具体的には、まず、クライアント端末2は、印刷制御用スクリプト23により、Webアプリケーションサーバー1に対してプリンター3の認証処理の実行要求を発行する(S54)。認証処理の実行要求を受信したWebアプリケーションサーバー1(制御部11)は、認証要求情報(ランダムな数値列)を生成し、生成した認証要求情報をクライアント端末2に対して送信し(S55)、クライアント端末2は印刷制御用スクリプト23によって、受信した認証要求情報をインターフェースボード4に転送(送信)する(S56)。
次に、インターフェースボード4(制御部31)は、クライアント端末2から認証要求情報を受信すると(S57,認証要求情報受信ステップ)、当該認証要求情報に対する暗号化処理を実行する(S58)。この暗号化処理では、プリンター管理データベース303に登録されている各プリンター3のプリンター暗号鍵で認証要求情報を暗号化して暗号化認証情報を生成する。本実施形態では、3台のプリンター3A、3B、3Cのそれぞれに関連付けられたプリンター暗号鍵で認証要求情報を暗号化する。即ち、3つの異なるプリンター暗号鍵で暗号化した3つの暗号化認証情報を生成する。
次に、インターフェースボード4は、生成した暗号化認証情報、および当該暗号化認証情報の暗号化に用いたプリンター暗号鍵に関連付けられたプリンターIDおよび通信ポートの情報(認証応答情報)を、クライアント端末2に送信し(S59,認証応答情報送信ステップ)、クライアント端末2は印刷制御用スクリプト23により、受信した認証応答情報をWebアプリケーションサーバー1に送信(転送)する(S60)。即ち、本実施形態では、インターフェースボード4からWebアプリケーションサーバー1に対して、プリンター3Aに関する認証応答情報、プリンター3Bに関する認証応答情報およびプリンター3Cに関する認証応答情報を送信する。
次に、Webアプリケーションサーバー1は、認証応答情報を受信すると(S61)、受信した各認証応答情報に対して認証処理を実行する(S62,プリンター認証ステップ)。この認証処理では、まず、インターフェースボード4に対して送信した認証要求情報を自身が保持するサーバー暗号鍵により暗号化する。次に、サーバー暗号鍵により暗号化した演算結果と、受信した各認証応答情報に含まれる各暗号化認証情報と、を照合し、両者が一致すれば認証成功となり、一致しなければ認証失敗となる。そして、認証処理終了後、Webアプリケーションサーバー1は、認証結果(照合結果)をクライアント端末2に送信する(S63,認証結果送信ステップ)。この時、認証が成功した場合は、認証が成功した暗号化認証情報と関連付けられているプリンターIDおよび通信ポートの情報を送信する。一方、全ての認証処理(プリンター3A、3B、3Cの認証処理)で認証が失敗した場合、使用を許可されたプリンター3が無い旨を示す警告メッセージを送信する。
次に、クライアント端末2は、印刷制御用スクリプト23により、Webアプリケーションサーバー1から認証結果を受信する(S64)。受信した認証結果が認証失敗であった場合(S65;No)、クライアント端末2は、受信した警告メッセージをWebブラウザ56で表示する(S66)。一方、受信した認証結果が認証成功を示す情報である場合(S65;Yes)、クライアント端末2は、受信したプリンターIDおよび通信ポートを出力先のプリンター3の情報(出力先プリンター情報)として設定する(S67)。
次に、クライアント端末2は、印刷制御用スクリプト23により上記描画領域に描画した画像データに対して画像処理を行ない(S68)、プリンター3が処理可能な形式に変換して印刷データを生成すると共に(S69)、生成した印刷データを記憶部52に保存する(S70)。このS69およびS70の処理は、印刷データの生成が完了するまで、即ち、描画領域に描画された画像データの全てが印刷データに変換されるまで実行される(S71;No)。
そして、印刷データの生成が完了すると(S71;Yes)、クライアント端末2は、印刷制御用スクリプト23に従って、S67で設定した出力先プリンター情報および記憶部52に保存した印刷データを、インターフェースボード4に対して送信する(S72,印刷指示ステップ)。
インターフェースボード4は、クライアント端末2から出力先プリンター情報および印刷データを受信すると(S73)、出力先プリンター情報で指定されたプリンター3に対して印刷データを送信する(S74)。プリンター3(制御部41)は、インターフェースボード4から印刷データを受信すると(S75)、これを記憶部42に保存する(S76)。このS75およびS76の処理は、印刷データを全て受信するまで行なわれる(S77;No)。そして、プリンター3は、全ての印刷データを受信し終えると(S77;Yes)、保存した印刷データを読み出し、これに基づく印刷(画像印刷)を行なう(S78)。
以上のように、第3実施形態によれば、複数のプリンター3が接続されている状況で、Webページ21に組み込まれた印刷制御用スクリプト23により印刷を行なう場合、接続されている各プリンター3に対して認証を行い、認証が成功した(認証が許可された)プリンター3からのみ、印刷をすることができる。即ち、クライアント端末2にはWebページ21を取得(表示)するWebブラウザ56がインストールされていればよく、従来のように、個々のクライアント端末2にプリンタードライバーをインストールすることなく、出力先となるプリンター3を限定して印刷をすることができる。
なお、第1実施形態ないし第3実施形態におけるインターフェースボード4の各手段(各機能)を、例えば、一般的なパーソナルコンピューター(デバイスサーバー)により実現しても良い。あるいは、複数台のプリンター3の内の1台のプリンター3(例えば、プリンター3A)に上記各手段を実装して実現するようにしても良い。または、各プリンター3のそれぞれに上記各手段を実装して実現するようにしても良い。
また、上記に示した、ネットワークシステムSY1、SY2、SY3(Webアプリケーションサーバー1、クライアント端末2およびインターフェースボード4)の各構成要素をプログラムとして提供することも可能である。また、そのプログラムを記憶媒体(図示省略)に格納して提供することも可能である。記録媒体としては、CD−ROM、フラッシュROM、メモリカード(コンパクトフラッシュ(登録商標)、スマートメディア、メモリースティック等)、コンパクトディスク、光磁気ディスク、デジタルバーサタイルディスクおよびフレキシブルディスク等を利用することができる。
また、上述した実施例によらず、ネットワークシステムSY1、SY2、SY3の装置構成や処理工程等について、本発明の要旨を逸脱しない範囲で、適宜変更も可能である。