管理装置、印刷制御方法およびネットワークシステム
【課題】ユーザがローカルネットワーク内のどの場所に居ても、ユーザの手近にあるプリンタで印刷できるようにする。
【解決手段】「どこでも印刷できる」ために、印刷データを各々のプリンタに抱え込ませ、プリンタ自体にwebサーバの機能を持たせる。ユーザは印刷を実行したいプリンタを操作して、印刷データを抱えるプリンタから所望の印刷データをダウンロードして、印刷する。また、印刷データの在り処を示すURLを保持するインデックスサーバを用意する。ユーザは所定のネットワークの範囲内にある、所定の機能を満たすプリンタであれば、どのプリンタでもログイン認証後、印刷ができる。
【解決手段】「どこでも印刷できる」ために、印刷データを各々のプリンタに抱え込ませ、プリンタ自体にwebサーバの機能を持たせる。ユーザは印刷を実行したいプリンタを操作して、印刷データを抱えるプリンタから所望の印刷データをダウンロードして、印刷する。また、印刷データの在り処を示すURLを保持するインデックスサーバを用意する。ユーザは所定のネットワークの範囲内にある、所定の機能を満たすプリンタであれば、どのプリンタでもログイン認証後、印刷ができる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、管理装置、印刷制御方法およびネットワークシステムに適用して好適な技術に関する。
【背景技術】
【0002】
ネットワークの普及により、オフィスに導入される情報システムには、業務効率の向上と、セキュリティの確保が求められている。
このことは、プリンタにおいても同様である。
かつてはプリンタ単体の機能の充実が競争の要素であったが、今やシステム全体として、印刷にかかわる問題を解決することが求められている。情報システムの「ソリューション(solution)」といわれる、システム導入形態である。単にプリンタを提供するだけでは、商品の差別化が難しくなっている。
【0003】
広大なオフィスに、ネットワークに接続されるプリンタが複数台導入されることに伴い、印刷物を経由した情報漏洩の問題が顕在化しつつある。つまり、プリンタが多くの社員の印刷出力を引き受けるようになったことにより、ある社員が出力した印刷物に記載されている機密情報が、意図しない他の社員に見られてしまうことが頻発している。
【0004】
一方、欧米ではプリンタがオフィスのフロア外に設置されることが多い。このため、印刷物を介した情報漏洩の問題は早くから認知されていた。そこで、欧米では「オンデマンド印刷」という、プリンタによる印刷物の出力方法が普及している。
【0005】
なお、先行技術文献として、プリンタを含む情報システムの一例を特許文献1に示す。
【発明の概要】
【発明が解決しようとする課題】
【0006】
近年では情報システムのセキュリティを維持し、向上させる目的で、従来のパソコンに代えて、シンクライアント(Thin Client)を導入する事例が台頭しつつある。
シンクライアントとは、文字通り「薄いクライアント」、つまり従来のパソコンよりも処理能力を簡素にした、端末装置である。ハードディスク等を持たず、サーバからネットワーク経由でOSをロードしてブートし、どのシンクライアントからログインしても、ログインしたユーザの環境が再現されるものである。
【0007】
上述した、シンクライアントを導入したシステムの場合、ユーザはどの端末装置を使っても、均等に作業ができる。
【0008】
通常、パソコンやシンクライアントから印刷を行うには、当該ユーザの環境(OS)のプリンタドライバに、印刷したいプリンタを登録する。具体的には、プリンタのIPアドレス或はFQDN(Fully Qualified Domain Name:TCP/IPネットワーク上で、ドメイン名・サブドメイン名・ホスト名を省略せずにすべて指定した記述形式。)や、印刷データを送信する際に用いるプロトコル等を登録する。
一旦これら情報を登録すると、登録したプリンタからしか印刷はできない。
よって、例えば、場所を移動してシンクライアントを使用したり、或はノートPC等を持ち歩き、移動先にて作業するような場合には、ユーザの想定外のプリンタへ印刷されてしまうなどの不都合を生じることもある。
【0009】
本発明はかかる点に鑑みてなされたものであり、クライアントPCの設定を変更することなく、ユーザが所望するプリンタでの印刷を可能にする管理装置、印刷制御方法およびネットワークシステムを提供することを目的とする。
【課題を解決するための手段】
【0010】
上記課題を解決するための本発明は、ユーザ情報および印刷の対象となる印刷データを受信し前記印刷データを格納する1台以上の第1の機器と、前記第1の機器に格納される前記印刷データを取得して印刷を実行する1台以上の第2の機器とにネットワークを介して通信可能に接続し、記憶手段を備える管理装置であって、前記第1の機器に格納される前記印刷データに関する第1の情報として、前記印刷データの文書名情報および前記ユーザ情報を、前記第1の機器から受信する第1の受信手段と、前記第1の受信手段により受信した前記第1の情報を前記記憶手段に記録する第1の記録手段と、前記第2の機器から前記ユーザ情報を受信する第2の受信手段と、前記第2の受信手段により受信した前記ユーザ情報に基づき前記記憶手段が記憶する前記第1の情報を検索する検索手段と、前記記憶手段が記憶する前記第1の情報のうち、前記検索手段により検索された前記第1の情報の前記文書名情報を前記第2の機器に送信する送信手段と、を備える。
【0011】
また、本発明は、印刷データを格納する1台以上の第1の機器と、前記第1の機器が格納する印刷データに関する情報を記憶手段に記憶して管理する第2の機器と、前記第1の機器が格納する前記印刷データによる印刷を制御する第3の機器とがネットワークを介して通信可能に接続するネットワークシステムにおける印刷制御方法であって、前記第1の機器から前記第2の機器に対して、前記印刷データに関する第1の情報として、前記印刷データの文書名情報および前記ユーザ情報を提供する第1のステップと、前記第1の情報を提供された前記第2の機器が、前記第1の情報を前記記憶手段に記録する第2のステップと、前記第3の機器から前記第2の機器に対して、前記ユーザ情報を提供する第3のステップと、前記第3の機器から提供された前記ユーザ情報に基づき、前記第2の機器が前記記憶手段に記憶される前記第1の情報を検索する第4のステップと、前記第2の機器から前記第3の機器に対して、前記記憶手段が記憶する前記第1の情報のうち、前記第4のステップにより検索された前記第1の情報の前記文書名情報を提供する第5のステップと、を含むことを特徴とする。
【0012】
また、本発明は、印刷データを格納する1台以上の第1の機器と、前記第1の機器が格納する印刷データに関する情報を記憶手段に記憶して管理する第2の機器と、前記第1の機器が格納する前記印刷データによる印刷を制御する第3の機器とがネットワークを介して通信可能に接続し情報処理を実行するネットワークシステムであって、前記第1の機器が前記第2の機器に対して、前記印刷データに関する第1の情報として、前記印刷データの文書名情報および前記ユーザ情報を送信する第1の情報処理手段と、前記第1の機器から前記第1の情報を受信した前記第2の機器が、前記第1の情報を前記記憶手段に記録する第2の情報処理手段と、前記第3の機器が前記第2の機器に対して、前記ユーザ情報を送信する第3の情報処理手段と、前記第2の機器が、前記第3の機器から受信した前記ユーザ情報に基づき、前記記憶手段に記憶される前記第1の情報を検索する第4の情報処理手段と、前記第2の機器が前記第3の機器に対して、前記記憶手段が記憶する前記第1の情報のうち、前記第4の手段により検索された前記第1の情報の前記文書名情報を送信する第5の情報処理手段と、を備えることを特徴とする。
【発明の効果】
【0013】
本発明によれば、ユーザが所望するプリンタから印刷を可能とすることができる管理装置、印刷制御方法およびネットワークシステムを提供できる。
【図面の簡単な説明】
【0014】
【図1】本発明の第1の実施の形態の例である、オンデマンド印刷システムの全体構成図である。
【図2】本実施形態の大まかな動作の流れを示す概略図である。
【図3】クライアントPCの内部機能ブロック図である。
【図4】クライアントPCが作成する印刷データの中身を示す概略図である。
【図5】プリンタAとプリンタBの内部機能を説明する機能ブロック図である。
【図6】図5に開示したプリンタの機能ブロック図のうち、第1のプリンタとして動作するときの、機能する部分を明示したブロック図である。
【図7】インデックスサーバの機能ブロック図である。
【図8】インデックステーブルの主要なフィールドを詳述する表である。
【図9】図5に開示したプリンタの機能ブロック図のうち、第2のプリンタとして動作するときの、機能する部分を明示したブロック図である。
【図10】プリンタの表示部に表示される表示画面である。
【図11】オンデマンド印刷システムを構成する各機器の動作の流れを示すフロー図である。
【図12】クライアントPCにて印刷データを生成し、第1のプリンタに送信する動作を示す概略図である。
【図13】第1のプリンタからインデックスサーバに印刷データのURLを通知する動作を示す概略図である。
【図14】第2のプリンタから認証サーバを通じてユーザを認証する動作を示す概略図である。
【図15】第2のプリンタがインデックスサーバに印刷データのリストを要求し、それを受信する動作を示す概略図である。
【図16】印刷を実行しようとする第2のプリンタが、印刷データを抱える第1のプリンタから印刷データを受信して印刷する動作を示す概略図である。
【図17】GPSフィルタのフローチャートである。
【図18】プリンタから認証サーバを通じてユーザを認証する動作を示す概略図である。
【図19】プリンタがインデックスサーバに印刷データのリストを要求し、それを受信する動作を示す概略図である。
【図20】プリンタが印刷データを抱えるプリンタの印刷データを削除するべく、インデックスサーバにその旨を通知する動作を示す概略図である。
【図21】プリンタがインデックスサーバをポーリングし、削除フラグが付されている印刷データを削除する動作を示す概略図である。
【図22】本発明の第2の実施の形態の例である、オンデマンド印刷システムの全体構成図である。
【図23】第1のプリンタのブロック図である。
【図24】第2のプリンタのブロック図である。
【図25】第2のクライアントPC2206の機能ブロック図である。
【図26】インデックスサーバの機能を包含するプリンタの機能ブロック図を示す。
【発明を実施するための形態】
【0015】
以下、本発明の実施の形態を説明する。
【0016】
図示を伴う本実施形態の説明の前に、本実施形態の概略を説明する。
本実施形態は、オンデマンド印刷システムである。
一般的には「オンデマンド印刷」という言葉は、版下を用いない、少部数短納期の印刷を指すようである。しかし、本明細書の限りにおいては、「オンデマンド印刷」を、「ユーザがプリンタに所定の操作を行って初めて印刷できる印刷手法」と定義する。これは、「オンデマンド(on demand)」という言葉が、情報システムの業界において「ユーザの要求があった時にサービスを提供する手法」を意味することに由来する。
【0017】
本実施形態にて説明するオンデマンド印刷システムは、例えば、企業ユーザが系列支社に出張しても、普段使用しているノートPCの設定を何ら変更することなく、出張先の社屋内のプリンタを用いて印刷ができるシステムである。
通常、パソコンから所定の文書等の印刷を行う際には、パソコン内部のプリンタドライバの設定によって、印刷するプリンタが固定されている。このため、従来では、設定を変更せずにそのままそのパソコンを出張先に持ち込んでも、プリンタドライバの設定を変更しなければ、印刷データは普段使っているプリンタに出力されてしまう。
プリンタドライバの設定を変更するには、OSの管理者権限が必要になる。企業では多くの場合、ネットワーク管理者しか、その設定を変更できないので、極めて煩雑である。
本実施形態では、出張先の支社のプリンタでも印刷を実行できるように、システムを構成したものである。
【0018】
本実施形態において、「プリンタ」と記載するものは、単機能のプリンタ(画像形成装置)のみならず、コピー機、ファクシミリ、スキャナ装置等の機能をも有する「多機能プリンタ(MFP:Multi-Function Printer)」も含むものとする。
【0019】
[第1の実施形態]
図1は、第1の実施の形態の例である、オンデマンド印刷システムの全体構成図である。
本実施形態のオンデマンド印刷システム101には、以下の装置が必要となる。
(1)第1のプリンタともいえる、プリンタA102。
(2)第2のプリンタともいえる、プリンタB103。
(3)例えばノートPCである、情報処理装置であるクライアントPC104。
(4)インデックスサーバ105。
(5)認証サーバ106。
(6)(1)乃至(5)を接続するネットワーク。
なお、インデックスサーバ105と認証サーバ106は、その機能を一体化することができる。また、認証サーバ106を用いる代わりに、後述する他の手段を用いる認証方法もある。
【0020】
図1は、ある会社の社内ネットワーク(以下「社内LAN」)を図示している。
甲会社は東京に本社があり、大阪に支社がある。
甲会社の東京本社107は、所定のサブネット、例えば192.168.10.0/24のサブネットよりなる、プライベートIPの社内LAN108を構成している。
東京本社107の社内LAN108には、プリンタA102、インデックスサーバ105及び認証サーバ106が接続されている。
そして、普段は東京本社107に勤務する社員であるユーザA115が、甲会社から自身に貸与されているクライアントPC104を社内LAN108に接続して使用している。
クライアントPC104はDHCP(Dynamic Host Configuration Protocol:TCP/IPネットワークに一時的に接続するネットワーク機器に対し、IPアドレスやゲートウェイ情報等、必要な情報を自動的に割り当てるプロトコル。)クライアントであり、図示しないDHCPサーバからIPアドレスの貸与を受け、社内LAN108に接続できる。例えば、192.168.10.51というIPアドレスが付与される。
【0021】
クライアントPC104に対して、プリンタA102、インデックスサーバ105、そして認証サーバ106は、それぞれ固定のプライベートIPアドレスが割り当てられている。例えば、プリンタA102には192.168.10.11、インデックスサーバ105には192.168.10.3、そして認証サーバ106には192.168.10.4が割り当てられている。
社内LAN108は周知のファイアウォール109で「外界」ともいえるインターネット70から隔離されている。ファイアウォール109は、インターネット70を経由する、悪意ある侵入者からの侵入行為を防ぐ。
【0022】
一方、甲会社の大阪支社111は、東京本社107とは異なるサブネットである、例えば、192.168.20.0/24のサブネットよりなる、プライベートIPの社内LAN112を構成している。
大阪支社111の社内LAN112には、プリンタB103が接続されている。プリンタB103には、例えば192.168.20.11という固定のプライベートIPアドレスが割り当てられている。
この社内LAN112も、ファイアウォール113にてインターネット70から隔離されている。
【0023】
東京本社107と大阪支社111の、双方の社内LANは、インターネットVPN(Internet Virtual Private Network:インターネット70を経由して構築される仮想プライベートネットワーク)114にて相互接続されている。したがって、東京本社107と大阪支社111の双方の社内LAN同士は、論理的には全くシームレスに相互接続が可能になっている。
なお、本実施形態では、分かりやすさのために、東京と大阪という遠隔地を想定して説明しているが、近距離であっても、また同一社屋内であっても、全く同様である。要するに、ユーザはローカルネットワーク上の何処にいても手近にあるプリンタで印刷したいと望み、本実施形態はこれを実現するものである。
【0024】
図2(a)及び(b)は、本実施形態の大まかな動作の流れを示す概略図であり、ほぼ、図1に対応している。
図2(a)は、ユーザA115が普段東京本社107にて甲会社の業務を遂行している状態における、印刷処理を図示する。
ユーザA115がクライアントPC104を操作して、所定のアプリケーションソフトウェアから印刷を実行する。その後、ユーザA115はプリンタA102のパネルを操作して、印刷出力を得る。
【0025】
図2(b)は、ユーザA115が大阪支社111に出張して、甲会社の業務を遂行している状態における、印刷処理を図示する。
ユーザA115がクライアントPC104を操作して、所定のアプリケーションソフトウェアから印刷を実行する。その後、ユーザA115はプリンタB103のパネルを操作して、印刷出力を得る。
クライアントPC104は大阪支社111において図示しないDHCPサーバによって、図1に示すように東京本社107のときとは異なる192.168.20.51というIPアドレスを付与される。
【0026】
図3は、クライアントPC104の内部機能ブロック図である。
印刷データ作成部302は、印刷データを生成するものであり、その実体は、印刷機能を備えた任意のアプリケーションソフトウェアと、そのアプリケーションソフトウェアから利用されるプリンタドライバである。
ユーザID記憶部303は、OSにログインして利用しているユーザのユーザIDである。
印刷データ送信部304は、印刷データ作成部302が作成した印刷データを、「第1のプリンタのアドレス」記憶部305の所定のポートに、所定のプロトコルにて送信する。
「第1のプリンタのアドレス」記憶部305は、プリンタドライバの設定項目として、図示しないOSの所定の領域に記憶されている。
つまり、プリンタドライバの設定項目として、印刷データ送出先のプリンタである、第1のプリンタのアドレスが設定されている。このため、クライアントPC104が作成した印刷データは、常に第1のプリンタに送出される。
この設定内容の一例としては、例えばLPR(Line PRinter daemon protocol:TCP/IPネットワークを経由して印刷を行うプロトコル。)プロトコルにて、プリンタA102のIPアドレスである192.168.10.11が設定されている。
【0027】
図4は、クライアントPC104が作成する印刷データの中身を示す概略図である。
印刷データ401は、テキストデータよりなるヘッダ部402と、バイナリデータよりなる実体部403よりなる。
ヘッダ部402はPJL(Printer Job Language:プリンタジョブ言語)の集合体である。PJLは、プレーンテキストよりなるデータである。行頭から「@PJL SET 」の後に変数名を記述し、その後に「=」を付して、変数の中身を記述する。この書式は、OSの環境変数に類似する。
【0028】
印刷データを見ると多くのPJLが記述されているが、この中には、
・印刷データ401を生成したアプリケーションソフトウェアが、そのウィンドウタイト
ルに記したタイトルを記す変数「JOBNAME」と、
・オンデマンド印刷の対象であるか否かを示すフラグ変数「ONDEMAND」と、
・クライアントPC104が認証サーバ106にて認証した際のユーザID「HOSTL
OGINNAME」と、
・プリンタドライバに設定する任意のユーザID「USERID」と、
・「USERID」に対応する任意のパスワード「JOBPASSWORD」
が記録されている。
【0029】
本実施形態では、ユーザ認証にLDAP(Lightweight Directory Access Protocol:TCP/IPネットワークで、ディレクトリデータベースにアクセスするためのプロトコル。)を用いる認証サーバ106を利用する。この関係で、後述するインデックスサーバ105に登録するPJLの設定項目のうち、「HOSTLOGINNAME」を利用する。
インデックスサーバ105には、「USERID」と「JOBPASSWORD」は登録するものの、本実施形態では実質的にこれらの項目は利用しない。これらの項目は認証サーバ106を利用しない認証方式において利用するものであり、詳細は後述する。
【0030】
図5は、プリンタA102とプリンタB103の内部機能を説明する機能ブロック図である。
プリンタA102とプリンタB103は、実質的に同一の機能を有するプリンタである。その内部機能は、プリンタ501として表現される。
プリンタ501は、その内部にコンピュータのハードウェアを内蔵し、このプリンタ501内で、図示しない不揮発性ストレージに格納されている、POSIX(Portable Operating System Interface for UNIX(登録商標))に準拠するOSが稼動するようになっている。図5に示すブロックは、一部を除いてこのOS上で稼動するプログラムの機能である。
【0031】
プリンタ501は、実行される機能によって、二つの側面がある。
図6は、図5に開示したプリンタ501の機能ブロック図のうち、第1のプリンタであるプリンタA102として動作するときの、機能する部分を明示したブロック図である。第1のプリンタとしては機能しない機能ブロック部分である、USBドライバ504、シリアルドライバ505、パラレルドライバ506、ICカードリーダ523、LDAPクライアント524、認証サーバアドレス記憶部525、インデックスクライアント526、インデックスサーバアドレス・ID・PW記憶部527、記憶部であるRAM528、表示部529、操作部530、選択部531、タッチパネル532及び印刷データ取得部533には、斜線を付している。
図9は、図5に開示したプリンタ501の機能ブロック図のうち、第2のプリンタであるプリンタB103として動作するときの、機能する部分を明示したブロック図である。第2のプリンタとしては機能しない機能ブロック部分である、印刷データ受信部502、USBドライバ504、シリアルドライバ505、パラレルドライバ506、インデックスレコード作成部515、ヘッダ書換部516、データディレクトリ517、インデックスレコード送信部518、「プリンタのアドレス」記憶部519、インデックスサーバアドレス・ID・PW記憶部520、印刷データ送信可能化部521及びID・PW記憶部522には、斜線を付している。
プリンタ501は、第1のプリンタとして機能するときは、クライアントPCから印刷データを受信するが、印刷は行わない。
プリンタ501は、第2のプリンタとして機能するときは、クライアントPCから印刷データを受信しないが、印刷データを保持しているプリンタから印刷データをダウンロードして、印刷を行う。
【0032】
図6を参照して、第1のプリンタとして機能するプリンタA102の各機能ブロック部分を説明する。
印刷データ受信部502は、TCP/IPネットワーク503を通じて、クライアントPCから印刷データを受信する。すなわち、クライアントPCの要求に応じて動作する、受動的な機能部分であり、「サーバ」に類する機能である。印刷データ受信部502は、クライアントPCから
・TCPポート515番を通じてLPRプロトコルにて、或は
・TCPポート9100番を通じてIPP(Internet Printing Protocol:HTTP(Hyper Text Transfer Protocol:webサーバとクライアントがデータを送受信する際に使われるプロトコル。)を利用した印刷データ転送プロトコル。)により、印刷データを受信する。
USBドライバ504、シリアルドライバ505及びパラレルドライバ506は、TCP/IPネットワーク503以外のインターフェースにて印刷データを受信する機能部分であるが、本実施形態では実質的に利用しないので詳細は割愛する。
【0033】
スプーラ507は、印刷データ受信部502やUSBドライバ504、シリアルドライバ505及びパラレルドライバ506から非同期に受信される印刷データを、一旦スプールディレクトリ508に保存し、順番にGPS509へ出力する。
GPS509は、印刷データに所定の加工を施して、最終的にプリンタエンジンドライバ510を経由し、プリンタエンジンハードウェア511に印刷データを供給する「サービスモジュール」である。GPS509には付加機能として、所定の設定ファイルに記述される「GPSフィルタ」に、印刷データを標準入出力を通して引き渡す機能がある。
【0034】
プリンタエンジンドライバ510は、ベクトル描画命令等を含む印刷データをビットマップ主体の印刷イメージデータに変換する機能を提供するソフトウェアである。
プリンタエンジンハードウェア511は、印刷イメージデータに基づいて紙に印刷する機能を提供するハードウェアである。
プリンタエンジンドライバ510とプリンタエンジンハードウェア511は、プリンタ501の主要な機能である、プリンタエンジンを構成する。
【0035】
標準入出力は、POSIX系OSや、MS−DOS(登録商標)等に装備されている機能である。キーボードやファイル等をストリームデータ入力としてフィルタ系プログラムに引き渡し(標準入力)、あるプログラムからディスプレイに出力されるデータをストリームデータ出力としてファイルや他のフィルタ系プログラムに引き渡す(標準出力)ことのできる仕組みである。
本実施形態の機能の一部は、このGPSフィルタ512によって実現される。
【0036】
GPSフィルタ512は、フィルタプログラムである。
標準入力から印刷データを読み込み、所定の動作を行う。
GPSフィルタ512は、その内部にフラグ検出部513と、スイッチ514と、インデックスレコード作成部515と、ヘッダ書換部516を有する。
フラグ検出部513は、標準入力から入力される印刷データに付加されているヘッダに含まれている、フラグ変数「ONDEMAND」の値を見て、印刷すべきか否かを判断し、スイッチ514を制御する。
フラグ検出部513は、フラグ変数「ONDEMAND」の値が「NO」であれば、スイッチ514をデータディレクトリ517側に倒す。「YES」であれば、スイッチ514をGPS509側に倒す。そして、この制御信号はインデックスレコード作成部515と、GPSフィルタ512の外にあるインデックスレコード送信部518にも及ぶ。
ヘッダ書換部516は、クライアントPCから送信された印刷データのヘッダに含まれているフラグ変数「ONDEMAND」の値を「NO」から「YES」に書き換える、単機能のフィルタである。
【0037】
クライアントPCから送信された印刷データのヘッダに含まれているフラグ変数「ONDEMAND」は「NO」と設定されている。このため、フラグ検出部513はスイッチ514をデータディレクトリ517側に倒す。したがって、印刷データはGPS509には返されず、プリンタエンジンドライバ510及びプリンタエンジンハードウェア511には送り出されないので、印刷されない。
【0038】
インデックスレコード作成部515は、印刷データのヘッダと、「プリンタのアドレス」記憶部519と、データディレクトリ517にファイル化して格納された印刷データのファイル名から、インデックスサーバ105に送信して登録する情報(以下「インデックスレコード」)を作成する。インデックスレコードは、その値として、
・PJLの変数「JOBNAME」に格納されている、印刷を行ったアプリケーションのウィンドウタイトルと、
・PJLの変数「USERID」に格納されている、プリンタドライバに設定される任意のユーザIDと、
・PJLの変数「JOBPASSWORD」に格納されている、プリンタドライバに設定される任意のパスワードと、
・PJLの変数「HOSTLOGINNAME」に格納されている、OSにログインしているユーザのユーザIDと、
・印刷データの位置情報であるURL
を含む。
【0039】
PJLの各変数は、印刷データのヘッダから取得する。
印刷データのURLは、「プリンタのアドレス」記憶部519と、データディレクトリ517にファイル化して格納された印刷データのファイル名から作成する。
こうして作成されたインデックスレコードは、インデックスレコード送信部518に送られる。
インデックスレコード送信部518は、非対話型webクライアントである。インデックスサーバアドレス・ID・PW記憶部520に記憶されている、インデックスサーバ105のアドレスを基に、インデックスレコード作成部515から受け取ったインデックスレコードを、インデックスサーバ105に送信する。
インデックスサーバ105は、インデックスレコード送信部518から受信したインデックスレコードを、インデックステーブルに新規レコードとして登録(追記録)する。
【0040】
データディレクトリ517に格納され、ファイル化された印刷データは、印刷データ送信可能化部521によって、任意のホストからダウンロード可能な状態に置かれる。
印刷データ送信可能化部521の実体はwebサーバであり、IPPに従い、クライアントの要求に応じて印刷データを送信する。
なお、ここでいう「クライアント」は、クライアントPCではなく、印刷を実行しようとするプリンタである。第2のプリンタがこれに該当する。
【0041】
以上の説明で判るように、本実施形態による「第1のプリンタ」は、クライアントPCから送信される印刷データを受信するまでは、周知のプリンタと動作は等しいが、その後印刷は行わず、印刷データをファイル化して、送信可能な状態に置く。
【0042】
第2のプリンタの説明の前に、インデックスサーバ105について説明する。
図7は、インデックスサーバ105の機能ブロック図である。
インデックスサーバ105はwebサーバを構成する。
webサーバプログラム702は、TCP/IPネットワーク503を通じて来るクライアントの要求に応じ、html文書を送信したり、cgi(Common Gateway Interface:webサーバがwebブラウザの要求に応じて、プログラムを起動するための仕組み。)を実行したりする。一例としてはApache(http://www.apache.org/)等である。なお、前述のプリンタと同様に、ID・PW記憶部703が設けられている。なお、「PW」はパスワード(Pass Word)の略である。
webサーバプログラム702は、クライアントの要求に応じて、第1のcgi704及び第2のcgi707を実行する。
インデックス登録部ともいえる第1のcgi704は、プリンタから送信されたデータ(インデックスレコード)を受信し、記憶部705に格納されているインデックステーブル706に、新規なレコードとして追加するプログラムである。
インデックス検索部ともいえる第2のcgi707は、インデックステーブル706を、クライアントから受信した所定の検索キーにて検索を行い、その結果得られたレコード群をクライアントに送信するプログラムである。
記憶部705は、ハードディスク装置等の不揮発性ストレージである。
【0043】
第1のcgi704は、インデックスレコード受信部708と、インデックスレコード登録部709よりなる。
インデックスレコード受信部708は、プリンタから発されたインデックスレコードを受信する。
インデックスレコード登録部709は、インデックスレコードを新規レコードとしてインデックステーブル706に追記録する。
【0044】
第2のcgi707は、検索キー受信部710と、検索実行部711と、検索結果送信部712よりなる。
検索キー受信部710は、プリンタから発された検索要求を受信する。そして、検索要求に含まれる検索キー、すなわちユーザIDを検索実行部711に渡す。
検索実行部711は、検索キーであるユーザIDにてインデックステーブル706を検索し、検索条件に合致したレコード群を検索結果送信部712に渡す。
検索結果送信部712は、検索要求を送信してきたプリンタに、検索結果のレコード群を送信(返信)する。
【0045】
図8は、インデックステーブル706の主要なフィールドを詳述する表である。
プリンタがインデックスサーバ105にインデックスレコードを送信すると、第1のcgi704はこれを受信し、インデックステーブル706に新規レコードを追加する。
インデックスレコードに含まれている値は、以下のように、インデックステーブル706の各フィールドに格納される:
・PJLの変数「JOBNAME」に格納されている、印刷を行ったアプリケーションのウィンドウタイトルは、「JOB_NAME」フィールドに格納される。
・PJLの変数「USERID」に格納されている、プリンタドライバに設定される任意のユーザIDは、「USER_ID」フィールドに格納される。
・PJLの変数「JOBPASSWORD」に格納されている、プリンタドライバに設定される任意のパスワードは、「JOB_PASSWORD」フィールドに格納される。
・PJLの変数「HOSTLOGINNAME」に格納されている、OSにログインしているユーザのユーザIDは、「HOST_LOGIN_NAME」フィールドに格納される。
・印刷データのURLは、「URL」フィールドに格納される。
【0046】
上記以外のフィールドは、以下の通りである:
・印刷データ401の作成日時は、PJLの変数を通じて「DATE」フィールドに格納される。
・印刷データ401のページ数は、PJLの変数を通じて「PAGE_NUMBER」フィールドに格納される。
・インデックステーブル706の全レコードにおける「NO」フィールドの最大値に1を加えた値が、「NO」フィールドに格納される。すなわち、「NO」フィールドはインデックステーブル706の各レコードにユニークに付与される管理番号であり、自動インクリメントされるものである。
・webサーバプログラム702を通じて取得した、プリンタのIPアドレスが、「IP」フィールドに格納される。
・削除フラグとしての論理値「false(偽)」が、「DELETE_FLG」フィールドに格納される。これは後述する削除動作において用いられる。
【0047】
図9を参照して、第2のプリンタとして機能するプリンタB103の各機能ブロック部分を説明する。
ICカードリーダ523は、電波を用いてICカードに記憶されている情報を読み取る、周知のデバイスである。本実施形態では、システムを利用するユーザ、すなわち甲会社の社員は全てICカードを所持し、ICカードには社員を識別するIDとパスワードが記憶されている。
ICカードリーダ523が社員のICカードからIDとパスワードを読み取ると、それら情報をLDAPクライアント524に渡す。LDAPクライアント524は、認証サーバアドレス記憶部525に記憶されている認証サーバ106のアドレスに従い、LDAPにて認証サーバ106にIDとパスワードを送信し、ユーザ認証を行う。
ユーザ認証が正常に行われると、LDAPクライアント524はインデックスクライアント526にユーザIDを渡して実行する。
【0048】
インデックスクライアント526は、インデックスサーバアドレス・ID・PW記憶部527に記憶されているインデックスサーバ105のアドレス及びID・パスワードを用いて、インデックスサーバ105に、ICカードから読み取った社員のIDを検索キーとして送信する。
なお、インデックスサーバアドレス・ID・PW記憶部527に記憶されているIDとは、インデックスサーバ105にアクセスする際に用いるBASIC認証用の、システムそのもののIDである。これは、IDカードに記憶されている社員のIDとは異なるものであることに注意されたい。
ICカードのIDは、インデックステーブル706の検索キーに用いる「ユーザID」である。
これに対し、インデックスサーバ105アドレスと共に記憶されるIDは、プリンタがインデックスサーバ105にアクセスするための「システムID」である。
【0049】
インデックスクライアント526は、インデックスサーバ105から検索キーとして社員のIDに合致するレコード群を受信する。つまり、社員が作成してプリンタに送信した印刷データのURLを含む情報が得られる。
受信したレコード群は、記憶部であるRAM528に一時的に記憶される。RAM528内に記憶されるレコード群は、インデックステーブル706のレコードそのものであるので、インデックステーブル706のサブセットを構成する。
RAM528に記憶されたレコード群は、LCDよりなる表示部529にて表示される。
表示部529は、表示部529と一体的に設けられている操作部530と、操作部530の指示を受けてRAM528中の一つのレコードを選択する選択部531と共に、タッチパネル532を構成する。
社員は、表示部529に表示されているレコード群のうちの一つ以上のレコードを選択し、選択部531に指示を出す。
選択部531は操作部530の指示を受け、当該レコードをRAM528から読み出し、レコードに含まれているURLを印刷データ取得部533に送出する。
【0050】
図10は、図5のプリンタ501の表示部529に表示される表示画面1001を示す。この表示画面1001は、表示部529と操作部530が一体化したタッチパネル532に、実際に表示されるレコード群の内容を示すと共に、ユーザインターフェースを示すものである。
社員がICカードをICカードリーダ523にかざして、ユーザ認証が成功すると、この画面が表示される。
「文書名」欄1002は、インデックステーブル706の「JOB_NAME」フィールドの内容を表示する。
「日時」欄1003は、インデックステーブル706の「DATE」フィールドの内容を表示する。
「ページ」欄1004は、インデックステーブル706の「PAGE_NUMBER」フィールドの内容を表示する。
「ユーザ名」欄1005は、インデックステーブル706の「HOST_LOGIN_NAME」フィールドの内容を表示する。
【0051】
図9に戻って説明する。
印刷データ取得部533は、非対話型webクライアントである。選択部531から受けたURLに従い、URLに記述されているアドレスのプリンタの印刷データ送信可能化部521を通じて、印刷データをダウンロードする。ダウンロードした印刷データは、スプーラ507に送る。
【0052】
スプーラ507は印刷データ取得部533から受け取った印刷データをスプールディレクトリに一旦保持してから、印刷データ受信部502から得られる印刷データと共に、順番にGPS509へ送り出す。
GPS509はスプーラ507から受け取った印刷データをGPSフィルタ512に送り出す。
GPSフィルタ512の内部のフラグ検出部513は、印刷データ取得部533から来た印刷データのヘッダに含まれている、フラグ変数「ONDEMAND」の値を見る。
【0053】
印刷データ送信可能化部521から取得した印刷データは、ヘッダ書換部516によって、印刷データのヘッダに含まれているフラグ変数「ONDEMAND」の値が「NO」から「YES」に書き換えられている。
フラグ検出部513は、印刷データのヘッダに含まれているフラグ変数「ONDEMAND」の値が「YES」であることを検出すると、スイッチ514をGPS509側に倒す。すると、GPS509からGPSフィルタ512に送り出された印刷データは、スイッチ514を通じてGPS509に返され、プリンタエンジンドライバ510を通じてプリンタエンジンハードウェア511に送出され、印刷が実行される。
【0054】
[動作]
次に、印刷処理の流れを説明する。
図11は、オンデマンド印刷システム101を構成する各機器の動作の流れを示すフロー図である。
図12、図13、図14、図15及び図16は、オンデマンド印刷システム101における印刷の動作の詳細を示す概略図である。図12、図13、図14、図15及び図16は、図1にほぼ対応している。
【0055】
図12は、クライアントPC104にて印刷データを生成し、第1のプリンタであるプリンタA102に送信する動作を示す概略図である。
先ず、大阪出張中のユーザA115は、クライアントPC104にて印刷を実行する(S1101及び図12の<1>)。
クライアントPC104はユーザA115の操作を受けて、図3に示す印刷データ作成部302でユーザID303を含む印刷データを作成する。そして、印刷データ送信部304は、「第1のプリンタのアドレス」記憶部305に記憶されているアドレス、すなわちプリンタA102に向けて、印刷データを送信する(S1102及び図12の<2>)。
印刷データは例えば、LPRプロトコルにて、TCPポート515番にて、プリンタA102に送信される。
或は、印刷データは、IPP(Internet Printing Protocol)にて、TCPポート9100番にて、プリンタA102に送信される。
【0056】
プリンタA102は、クライアントPC104から送信された印刷データを、印刷データ受信部502にて受信する。
印刷データ受信部502は、受信した印刷データをスプーラ507に送る。
スプーラ507は、印刷データ受信部502から印刷データを受信すると、内蔵ハードディスク内に設けられているスプールディレクトリ508に一旦蓄積する(図12の<3>)。
次に、スプーラ507は、スプールディレクトリ508に蓄積した印刷データを取り出して、GPS509に渡す。
GPS509は、スプーラ507から受け取った印刷データを、標準出力を通じてGPSフィルタ512に送り出す。
GPSフィルタ512は、GPS509から標準入力を通じて受け取った印刷データに所定の処理を行う(S1103)。
先ず、フラグ検出部513が、標準入力から入力される印刷データに付加されているヘッダに含まれている、フラグ変数「ONDEMAND」の値を見る。クライアントPC104が作成した時点の印刷データの場合、「ONDEMAND」の値は「NO」である。したがって、フラグ検出部513は、スイッチ514をデータディレクトリ517側に倒す制御信号を出力する。この制御信号は、インデックスレコード作成部515と、GPSフィルタ512の外にあるインデックスレコード送信部518にも及び、それぞれを起動制御する。
フラグ検出部513によって起動されたインデックスレコード作成部515は、印刷データのヘッダに含まれている、以下の変数の値を取得する:
・PJLの変数「JOBNAME」に格納されている、印刷を行ったアプリケーションのウィンドウタイトル。
・PJLの変数「USERID」に格納されている、プリンタドライバに設定される任意のユーザID。
・PJLの変数「JOBPASSWORD」に格納されている、プリンタドライバに設定される任意のパスワード。
・PJLの変数「HOSTLOGINNAME」に格納されている、OSにログインしているユーザのユーザID。
そして、「プリンタのアドレス」記憶部519と、スイッチ514を通じてデータディレクトリ517にファイル化して格納された印刷データのファイル名から、印刷データのURLを作成する。
インデックスレコード作成部515は、これらの情報をまとめて、インデックスレコードを生成する。
こうして作成されたインデックスレコードは、インデックスレコード送信部518に送られる。
【0057】
図13は、第1のプリンタであるプリンタA102からインデックスサーバ105に印刷データのURLを通知する動作を示す概略図である。
非対話型webクライアントである、プリンタA102のインデックスレコード送信部518は、インデックスサーバアドレス・ID・PW記憶部520に記憶されている、インデックスサーバ105のアドレスに向けて、インデックスレコード作成部515から受け取ったインデックスレコードを、インデックスサーバ105に送信する(S1104及び図13の<4>)。
【0058】
前述の通り、インデックスレコードには、PJLの変数「HOSTLOGINNAME」に格納されている、クライアントPC104にログインしているユーザのユーザIDと、印刷データのURLを含んでいる。
ユーザIDは、インデックスサーバ105の第2のcgi707にて、インデックステーブル706から所望の印刷データを選択する際の検索キーに用いられる。
【0059】
インデックスサーバ105はwebサーバを構成する。webサーバプログラム702は、クライアントの要求に応じて、第1のcgi704と第2のcgi707を実行する。
第1のcgi704は、webサーバプログラム702がプリンタA102のインデックスレコード送信部518からインデックスレコードを受信することによって実行される。
インデックスレコード受信部708は、webサーバプログラム702を通じてインデックスレコードを受信し、インデックスレコード登録部709に渡す。
インデックスレコード登録部709は、インデックステーブル706にアクセスし、受信したインデックスレコードを基に、インデックステーブル706に新規レコードの追加を行う(S1105及び図13の<5>)。つまり、新規レコードの登録である。
【0060】
図14は、第2のプリンタであるプリンタB103から認証サーバ106を通じてユーザを認証する動作を示す概略図である。
ユーザA115はプリンタB103の操作パネル近傍に設けられているICカードリーダ523にICカードをかざして、ユーザIDとパスワードを入力する(S1106及び図14の<6>)。
プリンタB103のLDAPクライアント524は、ICカードリーダ523からユーザIDとパスワードを受け取ると、認証サーバアドレス記憶部525に記憶されている認証サーバ106のアドレスに従い、LDAPにて認証サーバ106にIDとパスワードを送信し、ユーザ認証を要求する(S1107及び図14の<7>)。
【0061】
認証サーバ106は、プリンタB103から受信したユーザA115のユーザIDとパスワードを照合し、合致していればユーザA115を認証する旨のメッセージを、プリンタB103のLDAPクライアント524に返信する(S1108及び図14の<8>)。
【0062】
図15は、第2のプリンタであるプリンタB103がインデックスサーバ105に印刷データのリストを要求し、それを受信する動作を示す概略図である。
LDAPクライアント524は、インデックスクライアント526に、ICカードリーダ523から受け取ったユーザIDを渡す。
インデックスクライアント526は、インデックスサーバアドレス・ID・PW記憶部527に記憶されているインデックスサーバ105のアドレス、ID及びパスワードを用いて、インデックスサーバ105に、LDAPクライアント524から受け取ったユーザIDを検索キーとして送信する。すなわち、インデックスクライアント526は、インデックスサーバ105にユーザA115の印刷データ一覧を要求する(S1109及び図15の<9>)。
【0063】
インデックスサーバ105のwebサーバプログラム702は、プリンタB103のアクセス要求に応じて、第2のcgi707を実行する。
第2のcgi707が実行されると、内部の検索キー受信部710は、プリンタB103のインデックスクライアント526から受信したユーザA115のユーザIDを受信して、検索実行部711に渡す。
検索実行部711は、当該ユーザIDにてインデックステーブル706を検索し、検索条件に合致したレコード群を検索結果送信部712に渡す。
検索結果送信部712は、プリンタB103のインデックスクライアント526に、検索結果のレコード群を送信(返信)する(S1110及び図15の<10>)。
プリンタB103のインデックスクライアント526は、このレコード群を受信して、RAM528に記憶し、図10に示すように、タッチパネル532の表示部529に一覧表示する(S1111)。
【0064】
図16は、印刷を実行しようとする第2のプリンタ(プリンタB103)が、印刷データを抱える第1のプリンタ(プリンタA102)から印刷データを受信して印刷する動作を示す概略図である。
ユーザA115は、プリンタB103のタッチパネル532の表示部529が表示する表示画面1001に表示される印刷データ一覧を見て、印刷を所望する印刷データを、指で触れて選択する(S1112及び図16の<11>)。
表示画面1001に透明電極にて設けられる操作部530はこの操作を受けて、選択部531に操作情報を送る。
選択部531は操作部530の操作情報を受け、ユーザA115が選択した印刷データのレコードをRAM528から読み出し、レコードに含まれているURLを印刷データ取得部533に送出する。
【0065】
非対話型webクライアントである印刷データ取得部533は、選択部531から受けたURLに従い、URLに記述されているアドレスのプリンタ(第1のプリンタであるプリンタA102)の印刷データ送信可能化部521に所望の印刷データを要求する(S1113及び図16の<12>)。
プリンタA102の印刷データ送信可能化部521は、プリンタB103の印刷データ取得部533の要求に対する応答を送信し(S1114)、その後要求された印刷データを送信する(S1115及び図16の<13>)。
プリンタB103の印刷データ取得部533は、プリンタA102の印刷データ送信可能化部521から送信された印刷データを受信(ダウンロード)する。
【0066】
プリンタB103の印刷データ取得部533が、プリンタA102の印刷データ送信可能化部521からダウンロードした印刷データは、スプーラ507に渡される。
スプーラ507は印刷データ取得部533から受け取った印刷データをスプールディレクトリに一旦保持してから、印刷データ受信部502から得られる印刷データと共に、順番にGPS509へ送り出す。
GPS509はスプーラ507から受け取った印刷データをGPSフィルタ512に送り出す。
GPSフィルタ512の内部のフラグ検出部513は、印刷データ取得部533から来た印刷データのヘッダに含まれている、フラグ変数「ONDEMAND」の値を見る。
【0067】
プリンタA102の印刷データ送信可能化部521から取得した印刷データは、プリンタA102のヘッダ書換部516によってフラグ変数「ONDEMAND」の値が「YES」に書き換えられている。このため、フラグ検出部513は、フラグ変数「ONDEMAND」の値が「YES」であることに呼応して、スイッチ514をGPS509側に倒す。すると、印刷データはGPS509に返され、プリンタエンジンドライバ510を通じてプリンタエンジンハードウェア511に送出され、印刷が実行される(S1116及び図16の<14>)。
【0068】
図17は、GPSフィルタ512のフローチャートである。プリンタが、受信した印刷データに応じて、第1のプリンタとして動作するか、第2のプリンタとして動作するかを決定付ける分岐処理であり、図11のステップS1103とS1116が該当する。
GPSフィルタ512は、GPS509から標準入力を通じて印刷データ401を受け取ることによって、処理を開始する(S1701)。
先ず、フラグ検出部513は、印刷データ401のヘッダを取得して(S1702)、ヘッダ中に含まれているフラグ変数「ONDEMAND」は「OFF」であるか(立っていないか)否かを見る(S1703)。
フラグ変数「ONDEMAND」がOFFならば、印刷を行わず、データディレクトリ517に印刷データを格納する処理を行う。
次に、インデックスレコード作成部515は、取得したヘッダのうち、
・変数「JOBNAME」(印刷を行ったアプリケーションのウィンドウタイトル)、
・変数「USERID」(プリンタドライバに設定される任意のユーザID)、
・変数「JOBPASSWORD」(プリンタドライバに設定される任意のパスワード)、
・変数「HOSTLOGINNAME」(OSにログインしているユーザのユーザID)の値を取得する(S1704)。
そして、ヘッダ書換部516は、フラグ変数「ONDEMAND」を「ON」に書き換えて(S1705)、印刷データをデータディレクトリ517に送出し、ファイル化する(S1706)。
なお、ステップS1704、S1705及びS1706は、順番は問わない。どれが先でもよい。
【0069】
更に、インデックスレコード作成部515は、
「プリンタのアドレス」記憶部519と、データディレクトリ517に格納された印刷データのファイル名を基に、印刷データのURLを作成する。そして、ステップ1704にて取得した変数の値と共に、インデックスレコード送信部518に渡して(S1707)、一連の処理を終了する(S1708)。
【0070】
フラグ変数「ONDEMAND」がONならば、印刷データ401をGPS509に戻し、印刷を実行させる(S1707)。
こうして、一連の作業が終了する(S1708)。
【0071】
以下、上述した動作の要点を述べる。
本実施形態のオンデマンド印刷システム101は、印刷データを各々のプリンタに留まらせる。そして、印刷をしたいプリンタより、印刷データを抱えているプリンタから印刷データをダウンロードして、その印刷データを印刷する。
【0072】
従来、「どこでも印刷できる」目的のシステムを構築する際には、印刷データを一極集中的に管理するスプールサーバを設置していた。大量の印刷データがスプールサーバに集中するため、スプールサーバを構築する際、必要なハードウェアとして、高速且つ大容量のサーバを用意しなければならない。このようなシステム構築は費用が嵩み、ネットワークのトラフィックが増大する。また、スプールサーバがダウンしてしまうと、ネットワーク上のコンピュータは全て印刷ができなくなってしまう。
本実施形態であれば、インデックスサーバ105はあくまでも印刷データの所在を示すURLを管理するだけでよいので、極めて軽量且つ簡素なハードウェアでも十分実現できるし、トラフィックも少ない。印刷データも一箇所に集中しないので、ネットワークのトラフィックも軽減される。また、普段使っているプリンタが故障してしまっても、別のプリンタに設定を切り替えるだけで、何ら問題なく印刷を実行できる。
【0073】
ところで、本実施形態において、プリンタにはある条件が必要になる。それは、ネットワーク上に存在するプリンタが、クライアントPCが生成した印刷データを正常に印刷できる、ということである。図1を例にすると、プリンタA102とプリンタB103のどちらも、クライアントPC104が生成した印刷データを正常に印刷できる能力を備えていなければならない。
多くの場合、プリンタは製造メーカや機種毎に、異なる印刷データの仕様を備えている。特にページプリンタにおけるこのような仕様を、PDL(Page Description Language:ページ記述言語)という。または、プリンタ言語ともいう。これがネットワーク上のどのプリンタにおいても共通して利用可能である必要がある。そのためには、同一のPDLの仕様を満たすプリンタであるか、他社或は他機種のPDLのエミュレーション機能を備えるプリンタである必要がある。
【0074】
本実施形態のプリンタは、TCP/IPネットワーク503側から見ると、幾つかの機能部分に分けられる。
(1)印刷データ受信部502による、受動的に印刷データを受け入れる機能。
(2)印刷データ送信可能化部521による、受信した印刷データを任意の相手からダウンロード可能にする印刷データサーバ機能。
(3)インデックスレコード送信部518による、第1のインデックスクライアント機能。
(4)LDAPクライアント524による、ユーザ認証を認証サーバ106と共に行う、ユーザ認証機能。
(5)インデックスクライアント526による、第2のインデックスクライアント機能。
(6)印刷データ取得部533による、印刷データクライアント機能。
このうち、(1)、(2)及び(3)は第1のプリンタとしての機能であり、(4)、(5)及び(6)は第2のプリンタとしての機能である。
【0075】
上述した実施形態では、図1において、ユーザA115が、東京本社107から大阪支社111に出張しても、大阪支社111に備え付けられている、第2のプリンタであるプリンタB103から印刷をする動作の流れを説明した。
ユーザA115は、普段は東京本社107に居る。
つまり、上述した印刷処理を、プリンタA102に対して行っている。
このときの動作の流れは、前述の動作の流れと全く同じである。つまり、
・プリンタA102のICカードリーダ523にユーザA115がICカードをかざすことにより、プリンタA102におけるログインが行われ、
・プリンタA102のタッチパネル532の表示画面1001には、印刷データの一覧が表示され、
・プリンタA102のタッチパネル532を操作して、印刷データを選択すると、
・プリンタA102の印刷データ取得部は、プリンタA102の印刷データ送信可能化部521から印刷データをダウンロードして、印刷するのである。
すなわち、プリンタA102にアップロードした印刷データをプリンタA102で印刷するときは、プリンタA102の印刷データクライアント機能が、プリンタA102自身の印刷データサーバ機能から印刷データをダウンロード(本発明においては、プリンタ内における印刷データの移動についてもダウンロードという)して印刷するのである。
【0076】
[印刷データの削除]
印刷が正常に行われた印刷データ401は、用済みなので削除する必要がある。なぜなら、プリンタの内蔵ハードディスクは大容量の印刷データ401ですぐに溢れてしまうからである。
図18、図19、図20及び図21は、印刷データ401を削除する動作の流れを示す、概略図である。
【0077】
図18は、プリンタから認証サーバ106を通じてユーザを認証する動作を示す概略図である。
ユーザA115はタッチパネル532を操作すると共に、プリンタB103の操作パネル近傍に設けられているICカードリーダ523にICカードをかざして、ユーザIDとパスワードを入力する(図18の<16>)。
プリンタB103のLDAPクライアント524は、ICカードリーダ523からユーザIDとパスワードを受け取ると、認証サーバアドレス記憶部525に記憶されている認証サーバ106のアドレスに従い、LDAPにて認証サーバ106にIDとパスワードを送信し、ユーザ認証を要求する(図18の<17>)。
認証サーバ106は、プリンタB103から受信したユーザA115のユーザIDとパスワードを照合し、合致していればユーザA115を認証する(図18の<18>)。
【0078】
図19は、プリンタがインデックスサーバ105に印刷データのリストを要求し、それを受信する動作を示す概略図である。
プリンタB103は、認証の結果に呼応して、インデックスサーバ105にユーザA115の印刷データ一覧を要求する(図19の<19>)。
インデックスサーバ105は、プリンタB103の検索要求を受けて、インデックステーブル706をユーザA115のユーザIDで検索し、得られた印刷データのリストをプリンタB103に送信する(図19の<20>)。
【0079】
図20は、プリンタが印刷データを抱えるプリンタの印刷データを削除するべく、インデックスサーバ105にその旨を通知する動作を示す概略図である。
ユーザA115はプリンタB103の操作パネル903に表示される印刷データ一覧から、削除すべき印刷データを選択する(図20の<21>)。
プリンタB103は、ユーザA115によって選択されたレコードの管理番号(インデックステーブル706の「NO」フィールドの値)を、インデックスサーバ105に送信する(図20の<22>)。
インデックスサーバ105は、インデックステーブル706の、プリンタB103から指定を受けたレコードに、削除フラグを付す(図20の<23>)。つまり、インデックステーブル706の「NO」フィールドにて指定されたレコードの「DELETE_FLG」フィールドの値を「true」にする。
【0080】
図21は、プリンタが、インデックスサーバ105をポーリングし、削除フラグが付されている(「DELETE_FLG」が「true」である)印刷データを削除する動作を示す概略図である。なお、図21の吹き出し部分は論理的な動作を明示するためのイメージであり、実際にごみ箱が物理的に存在する訳ではないことに注意されたい。
プリンタA102は定期的にインデックスサーバ105にアクセスし(ポーリング)、プリンタA102が抱える印刷データ401のリストを要求する(図21の<24>)。 インデックスサーバ105はプリンタA102の要求に応じ、プリンタA102のIPアドレスでインデックステーブル706を検索し、プリンタA102が抱える印刷データ401のリストを返信する(図21の<25>)。
プリンタA102は、インデックスサーバ105から得られたリストから、削除フラグが付いているレコードの印刷データ401ファイルを削除する(図21の<26>)。
【0081】
[第2の実施形態]
次に、本発明の第2の実施形態を説明する。
第1の実施形態では、東京本社と大阪支社がある会社を想定していた。比較的規模が大きい会社である。
第2の実施形態では、小規模のオフィスを想定する。例えば、
・雑居ビルのフロアに二つのプリンタが設置されている、
或は、
・一軒家の一階と二階にそれぞれプリンタが設置されている、
というような状況を想定する。
【0082】
図22は、第2の実施の形態の例である、オンデマンド印刷システムの全体構成図である。
本実施形態のオンデマンド印刷システム2201には、以下の装置が必要となる。
(1)第1のプリンタともいえる、プリンタC2202。
(2)第2のプリンタともいえる、プリンタD2203。
(3)第1のクライアントPC2204。
(4)インデックスサーバ2205。
(5)第2のクライアントPC2206。
(6)(1)乃至(5)を接続するネットワーク。
【0083】
図1と見比べると、図22のオンデマンド印刷システム2201には、システム構成の外観より、以下の相違点がある。
・認証サーバがない。
これは、本発明におけるユーザ認証の存在意義が、ネットワークシステムのセキュリティを確保する必要性に起因する。すなわち、ネットワークを利用するユーザの人数が少ない場合等、ネットワークシステム自体が十分安全であれば、ユーザ認証機能は必須ではない。
・クライアントPCが二つある。
第1のクライアントPC2204は、印刷データ生成部ともいえるものであり、図3のクライアントPC104と全く変わらない。
第2のクライアントPC2206は、プリンタ501の、インデックスクライアント526、タッチパネル532及びRAM528を、パソコン上で実現したものである。つまり、プリンタ501から、ユーザインターフェース部分を抜き出して、パソコンに移植したと考えることができる。
【0084】
第2のクライアントPC2206は、LCD等の表示部に、図10の表示画面1001に類似する表示画面を表示する。そして、印刷を実行したいプリンタに対して、印刷データのURLを含む印刷命令を送信(発行)する。印刷命令を受信したプリンタは、そのURLに従って印刷データをダウンロードし、印刷する。
そのために、第2のクライアントPC2206は、プリンタD2203から比較的近い場所に設置される。
【0085】
勿論、第2のクライアントPC2206は、第1のクライアントPC2204と一体化することもできる。
すなわち、図3のクライアントPC104に含まれる印刷データ生成機能と、後述する図25に示す第2のクライアントPC2206の機能は、共に単一のパソコンに含めることができる。
その場合、当該クライアントPCは、ネットワーク上のどこに位置していても、作成した印刷データは第1のプリンタに送信され、印刷の指令は手近に存在するプリンタに対して命令することとなる。
【0086】
第2のクライアントPC2206が、手近にあるプリンタのアドレスを見つける方法は、様々な方法が考えられる。
最もシンプルな方法は、ユーザが手作業で入力する方法である。しかし、これは使い勝手が良くない。
【0087】
次善の策としては、第2のクライアントPC2206に割り当てられているIPアドレスが属する、同じサブネット内の全てのIPアドレスにおいて、プリンタの存在を検索する方法である。
周知のping(Packet INternet Groper:TCP/IPネットワーク上のホストの存在を診断するプログラム、又はそのプロトコル。)を用いて、同一サブネット内のIPアドレスに対して順番にpingを実行し、ホストの存在を確認する。pingの応答があった、すなわち存在が確認できたIPアドレスに対し、更にLPRに用いるTCP515番ポートに、SYNパケット(TCPの通信の開始を要求するパケット。)を送り、ACKパケット(ACKnowledgement:接続要求を許可する旨の応答パケット。)の応答が得られるか否かを検証する。こうして得られた、プリンタのIPアドレス群を列挙表示する。
【0088】
また、インデックスサーバ2205に、プリンタのIPアドレスのリストを格納させておき、これを選択する、という方法も考えられる。
例えば、cgiを用いたwebアプリケーションをインデックスサーバ2205に構築する。そして、第2のクライアントPC2206上でwebブラウザを稼動し、インデックスサーバ2205にアクセスし、プリンタの選択、印刷データの選択、そして所望のプリンタに対する印刷命令の発行をも行う。
【0089】
図23は、第1のプリンタであるプリンタC2202のブロック図である。ユーザインターフェース部分は第2のクライアントPC2206に設けられているので、必要最小限の機能のみが設けられている。
プリンタC2202の機能ブロックは、図5のプリンタ501と実質的に同じものだけで構成されている。すなわち、プリンタエンジンドライバ510、プリンタエンジンハードウェア511、インデックスレコード作成部515、データディレクトリ517、インデックスレコード送信部518、「プリンタのアドレス」記憶部519及び印刷データ送信可能化部521と、印刷データ受信部2202及び印刷データ取得部2232よりなる。
機能ブロック単位で見ると、プリンタC2202の、プリンタ501と違う点は、印刷データ受信部2202と、印刷データ取得部2232は、それぞれ異なるポート番号を監視することにより、GPSフィルタを省いた点である。つまり、印刷データを蓄積するか、印刷するかで、ポート番号を変えることにより、フラグ検出部513における判断処理が不要になる。
印刷データ取得部2232は、第2のクライアントPC2206が発する印刷命令を受信すると、印刷命令に含まれているURLに従って、印刷データ送信可能化部521から印刷データをダウンロードする。
【0090】
図24は、第2のプリンタであるプリンタD2203のブロック図である。プリンタD2203は、プリンタC2202から
・印刷データ受信部502による、受動的に印刷データを受け入れる機能、
・印刷データ送信可能化部521による、受信した印刷データを任意の相手からダウンロード可能にする印刷データサーバ機能、そして
・インデックスレコード送信部518による、第1のインデックスクライアント機能を省略した、印刷クライアントとも言うべきものである。
したがって、印刷データ取得部2232と、プリンタエンジンドライバ510及びプリンタエンジンハードウェア511だけで構成される。
【0091】
図25は、第2のクライアントPC2206の機能ブロック図である。
ユーザID記憶部2503は、プリンタドライバに任意に設定できるユーザIDであり、PJLの「USERID」である。
インデックスレコード取得部2502は、図5のインデックスクライアント526と機能的に等しい。インデックスサーバアドレス記憶部2504に記憶されているインデックスサーバ2205のアドレスに向けて、PJLの「USERID」を検索キーとして送信する。
すると、インデックスレコード取得部2502は、インデックスサーバ2205から検索キーとしてPJLの「USERID」に合致するレコード群を受信する。つまり、ユーザ自身が作成して第1のプリンタであるプリンタC2202に送信した印刷データのURLを含む情報が得られる。
得られたレコード群は、RAM2505に一時的に記憶される。RAM2505内に記憶されるレコード群は、インデックスサーバ2205のインデックステーブル706のレコードそのものであるので、インデックステーブル706のサブセットを構成する。
【0092】
なお、インデックスサーバ2205は、インデックスサーバ105と、内部の機能構成は全く同じである。唯一違う点は、検索実行部711はインデックステーブル705に対し、「USER_ID」フィールドにて検索を行う点である。
【0093】
表示部2506は、LCD等のパソコン用ディスプレイである。
操作部2507は、キーボードやマウス等の入力装置である。
選択部2508は、第2のクライアントPC2206上で動作するプログラムの主要機能部分である。操作部2507の操作に従って、RAM2505内のレコード群を選択し、それらレコード群のURLを、印刷命令発行部2509に送る。
印刷命令発行部2509は、選択部2508から受け取った印刷データのURLを、印刷を実行したいプリンタに対して送信する。図25では第2のプリンタアドレス記憶部2510に従って、プリンタD2203に送信する構成になっているが、この内容を必要に応じて書き換え、「第1のプリンタアドレス」、すなわちプリンタC2202に向けて送信してもよい。
【0094】
第2のプリンタアドレス記憶部2510は、第2のクライアントPC2206から手近なプリンタのアドレスが記憶される。このアドレスは前述の通り、様々な方法で取得することが可能である。
プリンタ選択部2511は、第2のクライアントPC2206から手近なプリンタのアドレスを取得して、そのアドレスを第2のプリンタアドレス記憶部2510に与える。
【0095】
以上に示した第2の実施形態においても、第1の実施形態とほぼ同様の動作が行われる。
第2の実施形態は、ICカードを社員に持たせない、小規模のネットワーク環境において実用的である。
【0096】
以上に示した本実施形態には、以下のような応用例が考えられる。
(1)ユーザ認証は、必ずしも認証サーバ(LDAPサーバ)が必須ではない。インデックスサーバ105の検索機能自体にユーザ認証の機能を包含させる構成にすることもできる。
プリンタドライバには、IDとパスワードを記録、保持させる機能が備わっている。これらはPJLの変数「USERID」と、「JOBPASSWORD」に格納される。
第2の実施形態において、ユーザは第2のクライアントPC2206を操作して、「USERID」と「JOBPASSWORD」を入力し、インデックスサーバ105に所定のIDとパスワードにて検索を行わせる。
インデックスサーバ105は、IDとパスワードが合致したレコードについてのみプリンタに返信する。
この場合、明示的な認証ではないものの、検索機能がユーザ認証を兼ねることとなる。
【0097】
(2)印刷データの送受信を行うプロトコルは、上述の実施形態に限られない。
FTPや、SSHの派生形であるSCPやSFTP等、多種多様な形態が考えられる。
【0098】
(3)ユーザ認証の仕組みは、上述の実施形態に限られない。全てのプリンタが共通のユーザテーブルを抱える構成にすることもできる。
【0099】
(4)上述の実施形態において、プリンタ同士のアクセスにはHTTPを用いているが、このときに用いるBASIC認証は必ずしも必要ではない。ディレクトリ一覧表示を許容せず、容易に類推できない構成のファイル名及びディレクトリ名をURLに付していれば、BASIC認証はなくてもよい。このような認証を採用するか否かは、主にセキュリティ面を考慮するシステム運用上の問題である。
【0100】
(5)IPアドレスはプライベートIPに限らない。
所定のセキュリティを充足していれば、グローバルIPアドレスであってもよい。
これは、現行のIPv4に限らず、IPv6においても同様である。
【0101】
(6)インデックスサーバ105と認証サーバ106は単一のサーバ上に構築し、一体化することが可能である。
【0102】
(7)インデックスサーバ105と認証サーバ106は、プリンタのファームウェアと一体化することが可能である。
図26にこの一例を示す。図26は、インデックスサーバの機能を包含するプリンタの機能ブロック図である。
プリンタ2601は、プリンタ501の構成部分と、インデックスサーバ105の構成部分の両方を包含している。
【0103】
(8)インデックスサーバ105は、必ずしもwebサーバである必要はない。インデックスサーバ105をSQLサーバにて構成し、プリンタがSQLのクエリー(query:データベース管理システムに対する処理要求(問い合わせ)の文字列。)を直接生成して、当該インデックスサーバ105に送信する構成にしてもよい。
【0104】
本実施形態においては、オンデマンド印刷システムを開示した。
本実施形態は、「どこでも印刷できる」目的のために、印刷データをプリンタに抱え込ませ、プリンタ自体にサーバの機能を持たせた。
本実施形態によって、ユーザは社屋内、つまり所定のネットワークの範囲内にある、所定の機能を満たすプリンタであれば、どのプリンタでも印刷ができる。
本実施形態のオンデマンド印刷システムは、この機能を実現する際に、従来のシステムと比べると、設置するサーバの処理能力はさほど高くなくてもよい。極めて軽量且つ簡素なハードウェアでも十分実現できる。したがって、設備投資は低額で済む。
また、印刷データの流れが集中しないので、従来のシステムと比べるとネットワークのトラフィックが軽減される。
更に、普段使っているプリンタが故障してしまっても、別のプリンタに設定を切り替えるだけで、何ら問題なく印刷を実行できる。
【0105】
以上、本発明の実施形態例について説明したが、本発明は上記実施形態例に限定されるものではなく、特許請求の範囲に記載した本発明の要旨を逸脱しない限りにおいて、他の変形例、応用例を含むことは言うまでもない。
【符号の説明】
【0106】
101…オンデマンド印刷システム、102…プリンタA、103…プリンタB、104…クライアントPC、105…インデックスサーバ、106…認証サーバ、107…東京本社、108、112…社内LAN、109、113…ファイアウォール、70…インターネット、111…大阪支社、114…インターネットVPN、115…ユーザA、302…印刷データ作成部、303…ユーザID記憶部、304…印刷データ送信部、305…「第1のプリンタのアドレス」記憶部、401…印刷データ、402…ヘッダ部、403…実体部、501…プリンタ、502…印刷データ受信部、503…TCP/IPネットワーク、504…USBドライバ、505…シリアルドライバ、506…パラレルドライバ、507…スプーラ、508…スプールディレクトリ、509…GPS、510…プリンタエンジンドライバ、510、511…プリンタエンジンハードウェア、511、512…GPSフィルタ、513…フラグ検出部、514…スイッチ、515…インデックスレコード作成部、516…ヘッダ書換部、517…データディレクトリ、518…インデックスレコード送信部、519…「プリンタのアドレス」記憶部、520、527…インデックスサーバアドレス・ID・PW記憶部、521…印刷データ送信可能化部、522…ID・PW記憶部、523…ICカードリーダ、524…LDAPクライアント、525…認証サーバアドレス記憶部、526…インデックスクライアント、528…RAM、529…表示部、530…操作部、531…選択部、532…タッチパネル、533…印刷データ取得部、702…webサーバプログラム、703…ID・PW記憶部、704…第1のcgi、705…記憶部、706…インデックステーブル、707…第2のcgi、708…インデックスレコード受信部、709…インデックスレコード登録部、710…検索キー受信部、711…検索実行部、712…検索結果送信部、1001…表示画面、1002…「文書名」欄、1003…「日時」欄、1004…「ページ」欄、1005…「ユーザ名」欄、2201…オンデマンド印刷システム、2202…プリンタC、2203…プリンタD、2204…第1のクライアントPC、2205…インデックスサーバ、2206…第2のクライアントPC、2202…印刷データ受信部、2232…印刷データ取得部、2503…ユーザID記憶部、2502…インデックスレコード取得部、2504…インデックスサーバアドレス記憶部、2505…RAM、2506…表示部、2507…操作部、2508…選択部、2509…印刷命令発行部、2510…第2のプリンタアドレス記憶部、2511…プリンタ選択部、2601…プリンタ
【先行技術文献】
【特許文献】
【0107】
【特許文献1】特開2003−274064号公報
【技術分野】
【0001】
本発明は、管理装置、印刷制御方法およびネットワークシステムに適用して好適な技術に関する。
【背景技術】
【0002】
ネットワークの普及により、オフィスに導入される情報システムには、業務効率の向上と、セキュリティの確保が求められている。
このことは、プリンタにおいても同様である。
かつてはプリンタ単体の機能の充実が競争の要素であったが、今やシステム全体として、印刷にかかわる問題を解決することが求められている。情報システムの「ソリューション(solution)」といわれる、システム導入形態である。単にプリンタを提供するだけでは、商品の差別化が難しくなっている。
【0003】
広大なオフィスに、ネットワークに接続されるプリンタが複数台導入されることに伴い、印刷物を経由した情報漏洩の問題が顕在化しつつある。つまり、プリンタが多くの社員の印刷出力を引き受けるようになったことにより、ある社員が出力した印刷物に記載されている機密情報が、意図しない他の社員に見られてしまうことが頻発している。
【0004】
一方、欧米ではプリンタがオフィスのフロア外に設置されることが多い。このため、印刷物を介した情報漏洩の問題は早くから認知されていた。そこで、欧米では「オンデマンド印刷」という、プリンタによる印刷物の出力方法が普及している。
【0005】
なお、先行技術文献として、プリンタを含む情報システムの一例を特許文献1に示す。
【発明の概要】
【発明が解決しようとする課題】
【0006】
近年では情報システムのセキュリティを維持し、向上させる目的で、従来のパソコンに代えて、シンクライアント(Thin Client)を導入する事例が台頭しつつある。
シンクライアントとは、文字通り「薄いクライアント」、つまり従来のパソコンよりも処理能力を簡素にした、端末装置である。ハードディスク等を持たず、サーバからネットワーク経由でOSをロードしてブートし、どのシンクライアントからログインしても、ログインしたユーザの環境が再現されるものである。
【0007】
上述した、シンクライアントを導入したシステムの場合、ユーザはどの端末装置を使っても、均等に作業ができる。
【0008】
通常、パソコンやシンクライアントから印刷を行うには、当該ユーザの環境(OS)のプリンタドライバに、印刷したいプリンタを登録する。具体的には、プリンタのIPアドレス或はFQDN(Fully Qualified Domain Name:TCP/IPネットワーク上で、ドメイン名・サブドメイン名・ホスト名を省略せずにすべて指定した記述形式。)や、印刷データを送信する際に用いるプロトコル等を登録する。
一旦これら情報を登録すると、登録したプリンタからしか印刷はできない。
よって、例えば、場所を移動してシンクライアントを使用したり、或はノートPC等を持ち歩き、移動先にて作業するような場合には、ユーザの想定外のプリンタへ印刷されてしまうなどの不都合を生じることもある。
【0009】
本発明はかかる点に鑑みてなされたものであり、クライアントPCの設定を変更することなく、ユーザが所望するプリンタでの印刷を可能にする管理装置、印刷制御方法およびネットワークシステムを提供することを目的とする。
【課題を解決するための手段】
【0010】
上記課題を解決するための本発明は、ユーザ情報および印刷の対象となる印刷データを受信し前記印刷データを格納する1台以上の第1の機器と、前記第1の機器に格納される前記印刷データを取得して印刷を実行する1台以上の第2の機器とにネットワークを介して通信可能に接続し、記憶手段を備える管理装置であって、前記第1の機器に格納される前記印刷データに関する第1の情報として、前記印刷データの文書名情報および前記ユーザ情報を、前記第1の機器から受信する第1の受信手段と、前記第1の受信手段により受信した前記第1の情報を前記記憶手段に記録する第1の記録手段と、前記第2の機器から前記ユーザ情報を受信する第2の受信手段と、前記第2の受信手段により受信した前記ユーザ情報に基づき前記記憶手段が記憶する前記第1の情報を検索する検索手段と、前記記憶手段が記憶する前記第1の情報のうち、前記検索手段により検索された前記第1の情報の前記文書名情報を前記第2の機器に送信する送信手段と、を備える。
【0011】
また、本発明は、印刷データを格納する1台以上の第1の機器と、前記第1の機器が格納する印刷データに関する情報を記憶手段に記憶して管理する第2の機器と、前記第1の機器が格納する前記印刷データによる印刷を制御する第3の機器とがネットワークを介して通信可能に接続するネットワークシステムにおける印刷制御方法であって、前記第1の機器から前記第2の機器に対して、前記印刷データに関する第1の情報として、前記印刷データの文書名情報および前記ユーザ情報を提供する第1のステップと、前記第1の情報を提供された前記第2の機器が、前記第1の情報を前記記憶手段に記録する第2のステップと、前記第3の機器から前記第2の機器に対して、前記ユーザ情報を提供する第3のステップと、前記第3の機器から提供された前記ユーザ情報に基づき、前記第2の機器が前記記憶手段に記憶される前記第1の情報を検索する第4のステップと、前記第2の機器から前記第3の機器に対して、前記記憶手段が記憶する前記第1の情報のうち、前記第4のステップにより検索された前記第1の情報の前記文書名情報を提供する第5のステップと、を含むことを特徴とする。
【0012】
また、本発明は、印刷データを格納する1台以上の第1の機器と、前記第1の機器が格納する印刷データに関する情報を記憶手段に記憶して管理する第2の機器と、前記第1の機器が格納する前記印刷データによる印刷を制御する第3の機器とがネットワークを介して通信可能に接続し情報処理を実行するネットワークシステムであって、前記第1の機器が前記第2の機器に対して、前記印刷データに関する第1の情報として、前記印刷データの文書名情報および前記ユーザ情報を送信する第1の情報処理手段と、前記第1の機器から前記第1の情報を受信した前記第2の機器が、前記第1の情報を前記記憶手段に記録する第2の情報処理手段と、前記第3の機器が前記第2の機器に対して、前記ユーザ情報を送信する第3の情報処理手段と、前記第2の機器が、前記第3の機器から受信した前記ユーザ情報に基づき、前記記憶手段に記憶される前記第1の情報を検索する第4の情報処理手段と、前記第2の機器が前記第3の機器に対して、前記記憶手段が記憶する前記第1の情報のうち、前記第4の手段により検索された前記第1の情報の前記文書名情報を送信する第5の情報処理手段と、を備えることを特徴とする。
【発明の効果】
【0013】
本発明によれば、ユーザが所望するプリンタから印刷を可能とすることができる管理装置、印刷制御方法およびネットワークシステムを提供できる。
【図面の簡単な説明】
【0014】
【図1】本発明の第1の実施の形態の例である、オンデマンド印刷システムの全体構成図である。
【図2】本実施形態の大まかな動作の流れを示す概略図である。
【図3】クライアントPCの内部機能ブロック図である。
【図4】クライアントPCが作成する印刷データの中身を示す概略図である。
【図5】プリンタAとプリンタBの内部機能を説明する機能ブロック図である。
【図6】図5に開示したプリンタの機能ブロック図のうち、第1のプリンタとして動作するときの、機能する部分を明示したブロック図である。
【図7】インデックスサーバの機能ブロック図である。
【図8】インデックステーブルの主要なフィールドを詳述する表である。
【図9】図5に開示したプリンタの機能ブロック図のうち、第2のプリンタとして動作するときの、機能する部分を明示したブロック図である。
【図10】プリンタの表示部に表示される表示画面である。
【図11】オンデマンド印刷システムを構成する各機器の動作の流れを示すフロー図である。
【図12】クライアントPCにて印刷データを生成し、第1のプリンタに送信する動作を示す概略図である。
【図13】第1のプリンタからインデックスサーバに印刷データのURLを通知する動作を示す概略図である。
【図14】第2のプリンタから認証サーバを通じてユーザを認証する動作を示す概略図である。
【図15】第2のプリンタがインデックスサーバに印刷データのリストを要求し、それを受信する動作を示す概略図である。
【図16】印刷を実行しようとする第2のプリンタが、印刷データを抱える第1のプリンタから印刷データを受信して印刷する動作を示す概略図である。
【図17】GPSフィルタのフローチャートである。
【図18】プリンタから認証サーバを通じてユーザを認証する動作を示す概略図である。
【図19】プリンタがインデックスサーバに印刷データのリストを要求し、それを受信する動作を示す概略図である。
【図20】プリンタが印刷データを抱えるプリンタの印刷データを削除するべく、インデックスサーバにその旨を通知する動作を示す概略図である。
【図21】プリンタがインデックスサーバをポーリングし、削除フラグが付されている印刷データを削除する動作を示す概略図である。
【図22】本発明の第2の実施の形態の例である、オンデマンド印刷システムの全体構成図である。
【図23】第1のプリンタのブロック図である。
【図24】第2のプリンタのブロック図である。
【図25】第2のクライアントPC2206の機能ブロック図である。
【図26】インデックスサーバの機能を包含するプリンタの機能ブロック図を示す。
【発明を実施するための形態】
【0015】
以下、本発明の実施の形態を説明する。
【0016】
図示を伴う本実施形態の説明の前に、本実施形態の概略を説明する。
本実施形態は、オンデマンド印刷システムである。
一般的には「オンデマンド印刷」という言葉は、版下を用いない、少部数短納期の印刷を指すようである。しかし、本明細書の限りにおいては、「オンデマンド印刷」を、「ユーザがプリンタに所定の操作を行って初めて印刷できる印刷手法」と定義する。これは、「オンデマンド(on demand)」という言葉が、情報システムの業界において「ユーザの要求があった時にサービスを提供する手法」を意味することに由来する。
【0017】
本実施形態にて説明するオンデマンド印刷システムは、例えば、企業ユーザが系列支社に出張しても、普段使用しているノートPCの設定を何ら変更することなく、出張先の社屋内のプリンタを用いて印刷ができるシステムである。
通常、パソコンから所定の文書等の印刷を行う際には、パソコン内部のプリンタドライバの設定によって、印刷するプリンタが固定されている。このため、従来では、設定を変更せずにそのままそのパソコンを出張先に持ち込んでも、プリンタドライバの設定を変更しなければ、印刷データは普段使っているプリンタに出力されてしまう。
プリンタドライバの設定を変更するには、OSの管理者権限が必要になる。企業では多くの場合、ネットワーク管理者しか、その設定を変更できないので、極めて煩雑である。
本実施形態では、出張先の支社のプリンタでも印刷を実行できるように、システムを構成したものである。
【0018】
本実施形態において、「プリンタ」と記載するものは、単機能のプリンタ(画像形成装置)のみならず、コピー機、ファクシミリ、スキャナ装置等の機能をも有する「多機能プリンタ(MFP:Multi-Function Printer)」も含むものとする。
【0019】
[第1の実施形態]
図1は、第1の実施の形態の例である、オンデマンド印刷システムの全体構成図である。
本実施形態のオンデマンド印刷システム101には、以下の装置が必要となる。
(1)第1のプリンタともいえる、プリンタA102。
(2)第2のプリンタともいえる、プリンタB103。
(3)例えばノートPCである、情報処理装置であるクライアントPC104。
(4)インデックスサーバ105。
(5)認証サーバ106。
(6)(1)乃至(5)を接続するネットワーク。
なお、インデックスサーバ105と認証サーバ106は、その機能を一体化することができる。また、認証サーバ106を用いる代わりに、後述する他の手段を用いる認証方法もある。
【0020】
図1は、ある会社の社内ネットワーク(以下「社内LAN」)を図示している。
甲会社は東京に本社があり、大阪に支社がある。
甲会社の東京本社107は、所定のサブネット、例えば192.168.10.0/24のサブネットよりなる、プライベートIPの社内LAN108を構成している。
東京本社107の社内LAN108には、プリンタA102、インデックスサーバ105及び認証サーバ106が接続されている。
そして、普段は東京本社107に勤務する社員であるユーザA115が、甲会社から自身に貸与されているクライアントPC104を社内LAN108に接続して使用している。
クライアントPC104はDHCP(Dynamic Host Configuration Protocol:TCP/IPネットワークに一時的に接続するネットワーク機器に対し、IPアドレスやゲートウェイ情報等、必要な情報を自動的に割り当てるプロトコル。)クライアントであり、図示しないDHCPサーバからIPアドレスの貸与を受け、社内LAN108に接続できる。例えば、192.168.10.51というIPアドレスが付与される。
【0021】
クライアントPC104に対して、プリンタA102、インデックスサーバ105、そして認証サーバ106は、それぞれ固定のプライベートIPアドレスが割り当てられている。例えば、プリンタA102には192.168.10.11、インデックスサーバ105には192.168.10.3、そして認証サーバ106には192.168.10.4が割り当てられている。
社内LAN108は周知のファイアウォール109で「外界」ともいえるインターネット70から隔離されている。ファイアウォール109は、インターネット70を経由する、悪意ある侵入者からの侵入行為を防ぐ。
【0022】
一方、甲会社の大阪支社111は、東京本社107とは異なるサブネットである、例えば、192.168.20.0/24のサブネットよりなる、プライベートIPの社内LAN112を構成している。
大阪支社111の社内LAN112には、プリンタB103が接続されている。プリンタB103には、例えば192.168.20.11という固定のプライベートIPアドレスが割り当てられている。
この社内LAN112も、ファイアウォール113にてインターネット70から隔離されている。
【0023】
東京本社107と大阪支社111の、双方の社内LANは、インターネットVPN(Internet Virtual Private Network:インターネット70を経由して構築される仮想プライベートネットワーク)114にて相互接続されている。したがって、東京本社107と大阪支社111の双方の社内LAN同士は、論理的には全くシームレスに相互接続が可能になっている。
なお、本実施形態では、分かりやすさのために、東京と大阪という遠隔地を想定して説明しているが、近距離であっても、また同一社屋内であっても、全く同様である。要するに、ユーザはローカルネットワーク上の何処にいても手近にあるプリンタで印刷したいと望み、本実施形態はこれを実現するものである。
【0024】
図2(a)及び(b)は、本実施形態の大まかな動作の流れを示す概略図であり、ほぼ、図1に対応している。
図2(a)は、ユーザA115が普段東京本社107にて甲会社の業務を遂行している状態における、印刷処理を図示する。
ユーザA115がクライアントPC104を操作して、所定のアプリケーションソフトウェアから印刷を実行する。その後、ユーザA115はプリンタA102のパネルを操作して、印刷出力を得る。
【0025】
図2(b)は、ユーザA115が大阪支社111に出張して、甲会社の業務を遂行している状態における、印刷処理を図示する。
ユーザA115がクライアントPC104を操作して、所定のアプリケーションソフトウェアから印刷を実行する。その後、ユーザA115はプリンタB103のパネルを操作して、印刷出力を得る。
クライアントPC104は大阪支社111において図示しないDHCPサーバによって、図1に示すように東京本社107のときとは異なる192.168.20.51というIPアドレスを付与される。
【0026】
図3は、クライアントPC104の内部機能ブロック図である。
印刷データ作成部302は、印刷データを生成するものであり、その実体は、印刷機能を備えた任意のアプリケーションソフトウェアと、そのアプリケーションソフトウェアから利用されるプリンタドライバである。
ユーザID記憶部303は、OSにログインして利用しているユーザのユーザIDである。
印刷データ送信部304は、印刷データ作成部302が作成した印刷データを、「第1のプリンタのアドレス」記憶部305の所定のポートに、所定のプロトコルにて送信する。
「第1のプリンタのアドレス」記憶部305は、プリンタドライバの設定項目として、図示しないOSの所定の領域に記憶されている。
つまり、プリンタドライバの設定項目として、印刷データ送出先のプリンタである、第1のプリンタのアドレスが設定されている。このため、クライアントPC104が作成した印刷データは、常に第1のプリンタに送出される。
この設定内容の一例としては、例えばLPR(Line PRinter daemon protocol:TCP/IPネットワークを経由して印刷を行うプロトコル。)プロトコルにて、プリンタA102のIPアドレスである192.168.10.11が設定されている。
【0027】
図4は、クライアントPC104が作成する印刷データの中身を示す概略図である。
印刷データ401は、テキストデータよりなるヘッダ部402と、バイナリデータよりなる実体部403よりなる。
ヘッダ部402はPJL(Printer Job Language:プリンタジョブ言語)の集合体である。PJLは、プレーンテキストよりなるデータである。行頭から「@PJL SET 」の後に変数名を記述し、その後に「=」を付して、変数の中身を記述する。この書式は、OSの環境変数に類似する。
【0028】
印刷データを見ると多くのPJLが記述されているが、この中には、
・印刷データ401を生成したアプリケーションソフトウェアが、そのウィンドウタイト
ルに記したタイトルを記す変数「JOBNAME」と、
・オンデマンド印刷の対象であるか否かを示すフラグ変数「ONDEMAND」と、
・クライアントPC104が認証サーバ106にて認証した際のユーザID「HOSTL
OGINNAME」と、
・プリンタドライバに設定する任意のユーザID「USERID」と、
・「USERID」に対応する任意のパスワード「JOBPASSWORD」
が記録されている。
【0029】
本実施形態では、ユーザ認証にLDAP(Lightweight Directory Access Protocol:TCP/IPネットワークで、ディレクトリデータベースにアクセスするためのプロトコル。)を用いる認証サーバ106を利用する。この関係で、後述するインデックスサーバ105に登録するPJLの設定項目のうち、「HOSTLOGINNAME」を利用する。
インデックスサーバ105には、「USERID」と「JOBPASSWORD」は登録するものの、本実施形態では実質的にこれらの項目は利用しない。これらの項目は認証サーバ106を利用しない認証方式において利用するものであり、詳細は後述する。
【0030】
図5は、プリンタA102とプリンタB103の内部機能を説明する機能ブロック図である。
プリンタA102とプリンタB103は、実質的に同一の機能を有するプリンタである。その内部機能は、プリンタ501として表現される。
プリンタ501は、その内部にコンピュータのハードウェアを内蔵し、このプリンタ501内で、図示しない不揮発性ストレージに格納されている、POSIX(Portable Operating System Interface for UNIX(登録商標))に準拠するOSが稼動するようになっている。図5に示すブロックは、一部を除いてこのOS上で稼動するプログラムの機能である。
【0031】
プリンタ501は、実行される機能によって、二つの側面がある。
図6は、図5に開示したプリンタ501の機能ブロック図のうち、第1のプリンタであるプリンタA102として動作するときの、機能する部分を明示したブロック図である。第1のプリンタとしては機能しない機能ブロック部分である、USBドライバ504、シリアルドライバ505、パラレルドライバ506、ICカードリーダ523、LDAPクライアント524、認証サーバアドレス記憶部525、インデックスクライアント526、インデックスサーバアドレス・ID・PW記憶部527、記憶部であるRAM528、表示部529、操作部530、選択部531、タッチパネル532及び印刷データ取得部533には、斜線を付している。
図9は、図5に開示したプリンタ501の機能ブロック図のうち、第2のプリンタであるプリンタB103として動作するときの、機能する部分を明示したブロック図である。第2のプリンタとしては機能しない機能ブロック部分である、印刷データ受信部502、USBドライバ504、シリアルドライバ505、パラレルドライバ506、インデックスレコード作成部515、ヘッダ書換部516、データディレクトリ517、インデックスレコード送信部518、「プリンタのアドレス」記憶部519、インデックスサーバアドレス・ID・PW記憶部520、印刷データ送信可能化部521及びID・PW記憶部522には、斜線を付している。
プリンタ501は、第1のプリンタとして機能するときは、クライアントPCから印刷データを受信するが、印刷は行わない。
プリンタ501は、第2のプリンタとして機能するときは、クライアントPCから印刷データを受信しないが、印刷データを保持しているプリンタから印刷データをダウンロードして、印刷を行う。
【0032】
図6を参照して、第1のプリンタとして機能するプリンタA102の各機能ブロック部分を説明する。
印刷データ受信部502は、TCP/IPネットワーク503を通じて、クライアントPCから印刷データを受信する。すなわち、クライアントPCの要求に応じて動作する、受動的な機能部分であり、「サーバ」に類する機能である。印刷データ受信部502は、クライアントPCから
・TCPポート515番を通じてLPRプロトコルにて、或は
・TCPポート9100番を通じてIPP(Internet Printing Protocol:HTTP(Hyper Text Transfer Protocol:webサーバとクライアントがデータを送受信する際に使われるプロトコル。)を利用した印刷データ転送プロトコル。)により、印刷データを受信する。
USBドライバ504、シリアルドライバ505及びパラレルドライバ506は、TCP/IPネットワーク503以外のインターフェースにて印刷データを受信する機能部分であるが、本実施形態では実質的に利用しないので詳細は割愛する。
【0033】
スプーラ507は、印刷データ受信部502やUSBドライバ504、シリアルドライバ505及びパラレルドライバ506から非同期に受信される印刷データを、一旦スプールディレクトリ508に保存し、順番にGPS509へ出力する。
GPS509は、印刷データに所定の加工を施して、最終的にプリンタエンジンドライバ510を経由し、プリンタエンジンハードウェア511に印刷データを供給する「サービスモジュール」である。GPS509には付加機能として、所定の設定ファイルに記述される「GPSフィルタ」に、印刷データを標準入出力を通して引き渡す機能がある。
【0034】
プリンタエンジンドライバ510は、ベクトル描画命令等を含む印刷データをビットマップ主体の印刷イメージデータに変換する機能を提供するソフトウェアである。
プリンタエンジンハードウェア511は、印刷イメージデータに基づいて紙に印刷する機能を提供するハードウェアである。
プリンタエンジンドライバ510とプリンタエンジンハードウェア511は、プリンタ501の主要な機能である、プリンタエンジンを構成する。
【0035】
標準入出力は、POSIX系OSや、MS−DOS(登録商標)等に装備されている機能である。キーボードやファイル等をストリームデータ入力としてフィルタ系プログラムに引き渡し(標準入力)、あるプログラムからディスプレイに出力されるデータをストリームデータ出力としてファイルや他のフィルタ系プログラムに引き渡す(標準出力)ことのできる仕組みである。
本実施形態の機能の一部は、このGPSフィルタ512によって実現される。
【0036】
GPSフィルタ512は、フィルタプログラムである。
標準入力から印刷データを読み込み、所定の動作を行う。
GPSフィルタ512は、その内部にフラグ検出部513と、スイッチ514と、インデックスレコード作成部515と、ヘッダ書換部516を有する。
フラグ検出部513は、標準入力から入力される印刷データに付加されているヘッダに含まれている、フラグ変数「ONDEMAND」の値を見て、印刷すべきか否かを判断し、スイッチ514を制御する。
フラグ検出部513は、フラグ変数「ONDEMAND」の値が「NO」であれば、スイッチ514をデータディレクトリ517側に倒す。「YES」であれば、スイッチ514をGPS509側に倒す。そして、この制御信号はインデックスレコード作成部515と、GPSフィルタ512の外にあるインデックスレコード送信部518にも及ぶ。
ヘッダ書換部516は、クライアントPCから送信された印刷データのヘッダに含まれているフラグ変数「ONDEMAND」の値を「NO」から「YES」に書き換える、単機能のフィルタである。
【0037】
クライアントPCから送信された印刷データのヘッダに含まれているフラグ変数「ONDEMAND」は「NO」と設定されている。このため、フラグ検出部513はスイッチ514をデータディレクトリ517側に倒す。したがって、印刷データはGPS509には返されず、プリンタエンジンドライバ510及びプリンタエンジンハードウェア511には送り出されないので、印刷されない。
【0038】
インデックスレコード作成部515は、印刷データのヘッダと、「プリンタのアドレス」記憶部519と、データディレクトリ517にファイル化して格納された印刷データのファイル名から、インデックスサーバ105に送信して登録する情報(以下「インデックスレコード」)を作成する。インデックスレコードは、その値として、
・PJLの変数「JOBNAME」に格納されている、印刷を行ったアプリケーションのウィンドウタイトルと、
・PJLの変数「USERID」に格納されている、プリンタドライバに設定される任意のユーザIDと、
・PJLの変数「JOBPASSWORD」に格納されている、プリンタドライバに設定される任意のパスワードと、
・PJLの変数「HOSTLOGINNAME」に格納されている、OSにログインしているユーザのユーザIDと、
・印刷データの位置情報であるURL
を含む。
【0039】
PJLの各変数は、印刷データのヘッダから取得する。
印刷データのURLは、「プリンタのアドレス」記憶部519と、データディレクトリ517にファイル化して格納された印刷データのファイル名から作成する。
こうして作成されたインデックスレコードは、インデックスレコード送信部518に送られる。
インデックスレコード送信部518は、非対話型webクライアントである。インデックスサーバアドレス・ID・PW記憶部520に記憶されている、インデックスサーバ105のアドレスを基に、インデックスレコード作成部515から受け取ったインデックスレコードを、インデックスサーバ105に送信する。
インデックスサーバ105は、インデックスレコード送信部518から受信したインデックスレコードを、インデックステーブルに新規レコードとして登録(追記録)する。
【0040】
データディレクトリ517に格納され、ファイル化された印刷データは、印刷データ送信可能化部521によって、任意のホストからダウンロード可能な状態に置かれる。
印刷データ送信可能化部521の実体はwebサーバであり、IPPに従い、クライアントの要求に応じて印刷データを送信する。
なお、ここでいう「クライアント」は、クライアントPCではなく、印刷を実行しようとするプリンタである。第2のプリンタがこれに該当する。
【0041】
以上の説明で判るように、本実施形態による「第1のプリンタ」は、クライアントPCから送信される印刷データを受信するまでは、周知のプリンタと動作は等しいが、その後印刷は行わず、印刷データをファイル化して、送信可能な状態に置く。
【0042】
第2のプリンタの説明の前に、インデックスサーバ105について説明する。
図7は、インデックスサーバ105の機能ブロック図である。
インデックスサーバ105はwebサーバを構成する。
webサーバプログラム702は、TCP/IPネットワーク503を通じて来るクライアントの要求に応じ、html文書を送信したり、cgi(Common Gateway Interface:webサーバがwebブラウザの要求に応じて、プログラムを起動するための仕組み。)を実行したりする。一例としてはApache(http://www.apache.org/)等である。なお、前述のプリンタと同様に、ID・PW記憶部703が設けられている。なお、「PW」はパスワード(Pass Word)の略である。
webサーバプログラム702は、クライアントの要求に応じて、第1のcgi704及び第2のcgi707を実行する。
インデックス登録部ともいえる第1のcgi704は、プリンタから送信されたデータ(インデックスレコード)を受信し、記憶部705に格納されているインデックステーブル706に、新規なレコードとして追加するプログラムである。
インデックス検索部ともいえる第2のcgi707は、インデックステーブル706を、クライアントから受信した所定の検索キーにて検索を行い、その結果得られたレコード群をクライアントに送信するプログラムである。
記憶部705は、ハードディスク装置等の不揮発性ストレージである。
【0043】
第1のcgi704は、インデックスレコード受信部708と、インデックスレコード登録部709よりなる。
インデックスレコード受信部708は、プリンタから発されたインデックスレコードを受信する。
インデックスレコード登録部709は、インデックスレコードを新規レコードとしてインデックステーブル706に追記録する。
【0044】
第2のcgi707は、検索キー受信部710と、検索実行部711と、検索結果送信部712よりなる。
検索キー受信部710は、プリンタから発された検索要求を受信する。そして、検索要求に含まれる検索キー、すなわちユーザIDを検索実行部711に渡す。
検索実行部711は、検索キーであるユーザIDにてインデックステーブル706を検索し、検索条件に合致したレコード群を検索結果送信部712に渡す。
検索結果送信部712は、検索要求を送信してきたプリンタに、検索結果のレコード群を送信(返信)する。
【0045】
図8は、インデックステーブル706の主要なフィールドを詳述する表である。
プリンタがインデックスサーバ105にインデックスレコードを送信すると、第1のcgi704はこれを受信し、インデックステーブル706に新規レコードを追加する。
インデックスレコードに含まれている値は、以下のように、インデックステーブル706の各フィールドに格納される:
・PJLの変数「JOBNAME」に格納されている、印刷を行ったアプリケーションのウィンドウタイトルは、「JOB_NAME」フィールドに格納される。
・PJLの変数「USERID」に格納されている、プリンタドライバに設定される任意のユーザIDは、「USER_ID」フィールドに格納される。
・PJLの変数「JOBPASSWORD」に格納されている、プリンタドライバに設定される任意のパスワードは、「JOB_PASSWORD」フィールドに格納される。
・PJLの変数「HOSTLOGINNAME」に格納されている、OSにログインしているユーザのユーザIDは、「HOST_LOGIN_NAME」フィールドに格納される。
・印刷データのURLは、「URL」フィールドに格納される。
【0046】
上記以外のフィールドは、以下の通りである:
・印刷データ401の作成日時は、PJLの変数を通じて「DATE」フィールドに格納される。
・印刷データ401のページ数は、PJLの変数を通じて「PAGE_NUMBER」フィールドに格納される。
・インデックステーブル706の全レコードにおける「NO」フィールドの最大値に1を加えた値が、「NO」フィールドに格納される。すなわち、「NO」フィールドはインデックステーブル706の各レコードにユニークに付与される管理番号であり、自動インクリメントされるものである。
・webサーバプログラム702を通じて取得した、プリンタのIPアドレスが、「IP」フィールドに格納される。
・削除フラグとしての論理値「false(偽)」が、「DELETE_FLG」フィールドに格納される。これは後述する削除動作において用いられる。
【0047】
図9を参照して、第2のプリンタとして機能するプリンタB103の各機能ブロック部分を説明する。
ICカードリーダ523は、電波を用いてICカードに記憶されている情報を読み取る、周知のデバイスである。本実施形態では、システムを利用するユーザ、すなわち甲会社の社員は全てICカードを所持し、ICカードには社員を識別するIDとパスワードが記憶されている。
ICカードリーダ523が社員のICカードからIDとパスワードを読み取ると、それら情報をLDAPクライアント524に渡す。LDAPクライアント524は、認証サーバアドレス記憶部525に記憶されている認証サーバ106のアドレスに従い、LDAPにて認証サーバ106にIDとパスワードを送信し、ユーザ認証を行う。
ユーザ認証が正常に行われると、LDAPクライアント524はインデックスクライアント526にユーザIDを渡して実行する。
【0048】
インデックスクライアント526は、インデックスサーバアドレス・ID・PW記憶部527に記憶されているインデックスサーバ105のアドレス及びID・パスワードを用いて、インデックスサーバ105に、ICカードから読み取った社員のIDを検索キーとして送信する。
なお、インデックスサーバアドレス・ID・PW記憶部527に記憶されているIDとは、インデックスサーバ105にアクセスする際に用いるBASIC認証用の、システムそのもののIDである。これは、IDカードに記憶されている社員のIDとは異なるものであることに注意されたい。
ICカードのIDは、インデックステーブル706の検索キーに用いる「ユーザID」である。
これに対し、インデックスサーバ105アドレスと共に記憶されるIDは、プリンタがインデックスサーバ105にアクセスするための「システムID」である。
【0049】
インデックスクライアント526は、インデックスサーバ105から検索キーとして社員のIDに合致するレコード群を受信する。つまり、社員が作成してプリンタに送信した印刷データのURLを含む情報が得られる。
受信したレコード群は、記憶部であるRAM528に一時的に記憶される。RAM528内に記憶されるレコード群は、インデックステーブル706のレコードそのものであるので、インデックステーブル706のサブセットを構成する。
RAM528に記憶されたレコード群は、LCDよりなる表示部529にて表示される。
表示部529は、表示部529と一体的に設けられている操作部530と、操作部530の指示を受けてRAM528中の一つのレコードを選択する選択部531と共に、タッチパネル532を構成する。
社員は、表示部529に表示されているレコード群のうちの一つ以上のレコードを選択し、選択部531に指示を出す。
選択部531は操作部530の指示を受け、当該レコードをRAM528から読み出し、レコードに含まれているURLを印刷データ取得部533に送出する。
【0050】
図10は、図5のプリンタ501の表示部529に表示される表示画面1001を示す。この表示画面1001は、表示部529と操作部530が一体化したタッチパネル532に、実際に表示されるレコード群の内容を示すと共に、ユーザインターフェースを示すものである。
社員がICカードをICカードリーダ523にかざして、ユーザ認証が成功すると、この画面が表示される。
「文書名」欄1002は、インデックステーブル706の「JOB_NAME」フィールドの内容を表示する。
「日時」欄1003は、インデックステーブル706の「DATE」フィールドの内容を表示する。
「ページ」欄1004は、インデックステーブル706の「PAGE_NUMBER」フィールドの内容を表示する。
「ユーザ名」欄1005は、インデックステーブル706の「HOST_LOGIN_NAME」フィールドの内容を表示する。
【0051】
図9に戻って説明する。
印刷データ取得部533は、非対話型webクライアントである。選択部531から受けたURLに従い、URLに記述されているアドレスのプリンタの印刷データ送信可能化部521を通じて、印刷データをダウンロードする。ダウンロードした印刷データは、スプーラ507に送る。
【0052】
スプーラ507は印刷データ取得部533から受け取った印刷データをスプールディレクトリに一旦保持してから、印刷データ受信部502から得られる印刷データと共に、順番にGPS509へ送り出す。
GPS509はスプーラ507から受け取った印刷データをGPSフィルタ512に送り出す。
GPSフィルタ512の内部のフラグ検出部513は、印刷データ取得部533から来た印刷データのヘッダに含まれている、フラグ変数「ONDEMAND」の値を見る。
【0053】
印刷データ送信可能化部521から取得した印刷データは、ヘッダ書換部516によって、印刷データのヘッダに含まれているフラグ変数「ONDEMAND」の値が「NO」から「YES」に書き換えられている。
フラグ検出部513は、印刷データのヘッダに含まれているフラグ変数「ONDEMAND」の値が「YES」であることを検出すると、スイッチ514をGPS509側に倒す。すると、GPS509からGPSフィルタ512に送り出された印刷データは、スイッチ514を通じてGPS509に返され、プリンタエンジンドライバ510を通じてプリンタエンジンハードウェア511に送出され、印刷が実行される。
【0054】
[動作]
次に、印刷処理の流れを説明する。
図11は、オンデマンド印刷システム101を構成する各機器の動作の流れを示すフロー図である。
図12、図13、図14、図15及び図16は、オンデマンド印刷システム101における印刷の動作の詳細を示す概略図である。図12、図13、図14、図15及び図16は、図1にほぼ対応している。
【0055】
図12は、クライアントPC104にて印刷データを生成し、第1のプリンタであるプリンタA102に送信する動作を示す概略図である。
先ず、大阪出張中のユーザA115は、クライアントPC104にて印刷を実行する(S1101及び図12の<1>)。
クライアントPC104はユーザA115の操作を受けて、図3に示す印刷データ作成部302でユーザID303を含む印刷データを作成する。そして、印刷データ送信部304は、「第1のプリンタのアドレス」記憶部305に記憶されているアドレス、すなわちプリンタA102に向けて、印刷データを送信する(S1102及び図12の<2>)。
印刷データは例えば、LPRプロトコルにて、TCPポート515番にて、プリンタA102に送信される。
或は、印刷データは、IPP(Internet Printing Protocol)にて、TCPポート9100番にて、プリンタA102に送信される。
【0056】
プリンタA102は、クライアントPC104から送信された印刷データを、印刷データ受信部502にて受信する。
印刷データ受信部502は、受信した印刷データをスプーラ507に送る。
スプーラ507は、印刷データ受信部502から印刷データを受信すると、内蔵ハードディスク内に設けられているスプールディレクトリ508に一旦蓄積する(図12の<3>)。
次に、スプーラ507は、スプールディレクトリ508に蓄積した印刷データを取り出して、GPS509に渡す。
GPS509は、スプーラ507から受け取った印刷データを、標準出力を通じてGPSフィルタ512に送り出す。
GPSフィルタ512は、GPS509から標準入力を通じて受け取った印刷データに所定の処理を行う(S1103)。
先ず、フラグ検出部513が、標準入力から入力される印刷データに付加されているヘッダに含まれている、フラグ変数「ONDEMAND」の値を見る。クライアントPC104が作成した時点の印刷データの場合、「ONDEMAND」の値は「NO」である。したがって、フラグ検出部513は、スイッチ514をデータディレクトリ517側に倒す制御信号を出力する。この制御信号は、インデックスレコード作成部515と、GPSフィルタ512の外にあるインデックスレコード送信部518にも及び、それぞれを起動制御する。
フラグ検出部513によって起動されたインデックスレコード作成部515は、印刷データのヘッダに含まれている、以下の変数の値を取得する:
・PJLの変数「JOBNAME」に格納されている、印刷を行ったアプリケーションのウィンドウタイトル。
・PJLの変数「USERID」に格納されている、プリンタドライバに設定される任意のユーザID。
・PJLの変数「JOBPASSWORD」に格納されている、プリンタドライバに設定される任意のパスワード。
・PJLの変数「HOSTLOGINNAME」に格納されている、OSにログインしているユーザのユーザID。
そして、「プリンタのアドレス」記憶部519と、スイッチ514を通じてデータディレクトリ517にファイル化して格納された印刷データのファイル名から、印刷データのURLを作成する。
インデックスレコード作成部515は、これらの情報をまとめて、インデックスレコードを生成する。
こうして作成されたインデックスレコードは、インデックスレコード送信部518に送られる。
【0057】
図13は、第1のプリンタであるプリンタA102からインデックスサーバ105に印刷データのURLを通知する動作を示す概略図である。
非対話型webクライアントである、プリンタA102のインデックスレコード送信部518は、インデックスサーバアドレス・ID・PW記憶部520に記憶されている、インデックスサーバ105のアドレスに向けて、インデックスレコード作成部515から受け取ったインデックスレコードを、インデックスサーバ105に送信する(S1104及び図13の<4>)。
【0058】
前述の通り、インデックスレコードには、PJLの変数「HOSTLOGINNAME」に格納されている、クライアントPC104にログインしているユーザのユーザIDと、印刷データのURLを含んでいる。
ユーザIDは、インデックスサーバ105の第2のcgi707にて、インデックステーブル706から所望の印刷データを選択する際の検索キーに用いられる。
【0059】
インデックスサーバ105はwebサーバを構成する。webサーバプログラム702は、クライアントの要求に応じて、第1のcgi704と第2のcgi707を実行する。
第1のcgi704は、webサーバプログラム702がプリンタA102のインデックスレコード送信部518からインデックスレコードを受信することによって実行される。
インデックスレコード受信部708は、webサーバプログラム702を通じてインデックスレコードを受信し、インデックスレコード登録部709に渡す。
インデックスレコード登録部709は、インデックステーブル706にアクセスし、受信したインデックスレコードを基に、インデックステーブル706に新規レコードの追加を行う(S1105及び図13の<5>)。つまり、新規レコードの登録である。
【0060】
図14は、第2のプリンタであるプリンタB103から認証サーバ106を通じてユーザを認証する動作を示す概略図である。
ユーザA115はプリンタB103の操作パネル近傍に設けられているICカードリーダ523にICカードをかざして、ユーザIDとパスワードを入力する(S1106及び図14の<6>)。
プリンタB103のLDAPクライアント524は、ICカードリーダ523からユーザIDとパスワードを受け取ると、認証サーバアドレス記憶部525に記憶されている認証サーバ106のアドレスに従い、LDAPにて認証サーバ106にIDとパスワードを送信し、ユーザ認証を要求する(S1107及び図14の<7>)。
【0061】
認証サーバ106は、プリンタB103から受信したユーザA115のユーザIDとパスワードを照合し、合致していればユーザA115を認証する旨のメッセージを、プリンタB103のLDAPクライアント524に返信する(S1108及び図14の<8>)。
【0062】
図15は、第2のプリンタであるプリンタB103がインデックスサーバ105に印刷データのリストを要求し、それを受信する動作を示す概略図である。
LDAPクライアント524は、インデックスクライアント526に、ICカードリーダ523から受け取ったユーザIDを渡す。
インデックスクライアント526は、インデックスサーバアドレス・ID・PW記憶部527に記憶されているインデックスサーバ105のアドレス、ID及びパスワードを用いて、インデックスサーバ105に、LDAPクライアント524から受け取ったユーザIDを検索キーとして送信する。すなわち、インデックスクライアント526は、インデックスサーバ105にユーザA115の印刷データ一覧を要求する(S1109及び図15の<9>)。
【0063】
インデックスサーバ105のwebサーバプログラム702は、プリンタB103のアクセス要求に応じて、第2のcgi707を実行する。
第2のcgi707が実行されると、内部の検索キー受信部710は、プリンタB103のインデックスクライアント526から受信したユーザA115のユーザIDを受信して、検索実行部711に渡す。
検索実行部711は、当該ユーザIDにてインデックステーブル706を検索し、検索条件に合致したレコード群を検索結果送信部712に渡す。
検索結果送信部712は、プリンタB103のインデックスクライアント526に、検索結果のレコード群を送信(返信)する(S1110及び図15の<10>)。
プリンタB103のインデックスクライアント526は、このレコード群を受信して、RAM528に記憶し、図10に示すように、タッチパネル532の表示部529に一覧表示する(S1111)。
【0064】
図16は、印刷を実行しようとする第2のプリンタ(プリンタB103)が、印刷データを抱える第1のプリンタ(プリンタA102)から印刷データを受信して印刷する動作を示す概略図である。
ユーザA115は、プリンタB103のタッチパネル532の表示部529が表示する表示画面1001に表示される印刷データ一覧を見て、印刷を所望する印刷データを、指で触れて選択する(S1112及び図16の<11>)。
表示画面1001に透明電極にて設けられる操作部530はこの操作を受けて、選択部531に操作情報を送る。
選択部531は操作部530の操作情報を受け、ユーザA115が選択した印刷データのレコードをRAM528から読み出し、レコードに含まれているURLを印刷データ取得部533に送出する。
【0065】
非対話型webクライアントである印刷データ取得部533は、選択部531から受けたURLに従い、URLに記述されているアドレスのプリンタ(第1のプリンタであるプリンタA102)の印刷データ送信可能化部521に所望の印刷データを要求する(S1113及び図16の<12>)。
プリンタA102の印刷データ送信可能化部521は、プリンタB103の印刷データ取得部533の要求に対する応答を送信し(S1114)、その後要求された印刷データを送信する(S1115及び図16の<13>)。
プリンタB103の印刷データ取得部533は、プリンタA102の印刷データ送信可能化部521から送信された印刷データを受信(ダウンロード)する。
【0066】
プリンタB103の印刷データ取得部533が、プリンタA102の印刷データ送信可能化部521からダウンロードした印刷データは、スプーラ507に渡される。
スプーラ507は印刷データ取得部533から受け取った印刷データをスプールディレクトリに一旦保持してから、印刷データ受信部502から得られる印刷データと共に、順番にGPS509へ送り出す。
GPS509はスプーラ507から受け取った印刷データをGPSフィルタ512に送り出す。
GPSフィルタ512の内部のフラグ検出部513は、印刷データ取得部533から来た印刷データのヘッダに含まれている、フラグ変数「ONDEMAND」の値を見る。
【0067】
プリンタA102の印刷データ送信可能化部521から取得した印刷データは、プリンタA102のヘッダ書換部516によってフラグ変数「ONDEMAND」の値が「YES」に書き換えられている。このため、フラグ検出部513は、フラグ変数「ONDEMAND」の値が「YES」であることに呼応して、スイッチ514をGPS509側に倒す。すると、印刷データはGPS509に返され、プリンタエンジンドライバ510を通じてプリンタエンジンハードウェア511に送出され、印刷が実行される(S1116及び図16の<14>)。
【0068】
図17は、GPSフィルタ512のフローチャートである。プリンタが、受信した印刷データに応じて、第1のプリンタとして動作するか、第2のプリンタとして動作するかを決定付ける分岐処理であり、図11のステップS1103とS1116が該当する。
GPSフィルタ512は、GPS509から標準入力を通じて印刷データ401を受け取ることによって、処理を開始する(S1701)。
先ず、フラグ検出部513は、印刷データ401のヘッダを取得して(S1702)、ヘッダ中に含まれているフラグ変数「ONDEMAND」は「OFF」であるか(立っていないか)否かを見る(S1703)。
フラグ変数「ONDEMAND」がOFFならば、印刷を行わず、データディレクトリ517に印刷データを格納する処理を行う。
次に、インデックスレコード作成部515は、取得したヘッダのうち、
・変数「JOBNAME」(印刷を行ったアプリケーションのウィンドウタイトル)、
・変数「USERID」(プリンタドライバに設定される任意のユーザID)、
・変数「JOBPASSWORD」(プリンタドライバに設定される任意のパスワード)、
・変数「HOSTLOGINNAME」(OSにログインしているユーザのユーザID)の値を取得する(S1704)。
そして、ヘッダ書換部516は、フラグ変数「ONDEMAND」を「ON」に書き換えて(S1705)、印刷データをデータディレクトリ517に送出し、ファイル化する(S1706)。
なお、ステップS1704、S1705及びS1706は、順番は問わない。どれが先でもよい。
【0069】
更に、インデックスレコード作成部515は、
「プリンタのアドレス」記憶部519と、データディレクトリ517に格納された印刷データのファイル名を基に、印刷データのURLを作成する。そして、ステップ1704にて取得した変数の値と共に、インデックスレコード送信部518に渡して(S1707)、一連の処理を終了する(S1708)。
【0070】
フラグ変数「ONDEMAND」がONならば、印刷データ401をGPS509に戻し、印刷を実行させる(S1707)。
こうして、一連の作業が終了する(S1708)。
【0071】
以下、上述した動作の要点を述べる。
本実施形態のオンデマンド印刷システム101は、印刷データを各々のプリンタに留まらせる。そして、印刷をしたいプリンタより、印刷データを抱えているプリンタから印刷データをダウンロードして、その印刷データを印刷する。
【0072】
従来、「どこでも印刷できる」目的のシステムを構築する際には、印刷データを一極集中的に管理するスプールサーバを設置していた。大量の印刷データがスプールサーバに集中するため、スプールサーバを構築する際、必要なハードウェアとして、高速且つ大容量のサーバを用意しなければならない。このようなシステム構築は費用が嵩み、ネットワークのトラフィックが増大する。また、スプールサーバがダウンしてしまうと、ネットワーク上のコンピュータは全て印刷ができなくなってしまう。
本実施形態であれば、インデックスサーバ105はあくまでも印刷データの所在を示すURLを管理するだけでよいので、極めて軽量且つ簡素なハードウェアでも十分実現できるし、トラフィックも少ない。印刷データも一箇所に集中しないので、ネットワークのトラフィックも軽減される。また、普段使っているプリンタが故障してしまっても、別のプリンタに設定を切り替えるだけで、何ら問題なく印刷を実行できる。
【0073】
ところで、本実施形態において、プリンタにはある条件が必要になる。それは、ネットワーク上に存在するプリンタが、クライアントPCが生成した印刷データを正常に印刷できる、ということである。図1を例にすると、プリンタA102とプリンタB103のどちらも、クライアントPC104が生成した印刷データを正常に印刷できる能力を備えていなければならない。
多くの場合、プリンタは製造メーカや機種毎に、異なる印刷データの仕様を備えている。特にページプリンタにおけるこのような仕様を、PDL(Page Description Language:ページ記述言語)という。または、プリンタ言語ともいう。これがネットワーク上のどのプリンタにおいても共通して利用可能である必要がある。そのためには、同一のPDLの仕様を満たすプリンタであるか、他社或は他機種のPDLのエミュレーション機能を備えるプリンタである必要がある。
【0074】
本実施形態のプリンタは、TCP/IPネットワーク503側から見ると、幾つかの機能部分に分けられる。
(1)印刷データ受信部502による、受動的に印刷データを受け入れる機能。
(2)印刷データ送信可能化部521による、受信した印刷データを任意の相手からダウンロード可能にする印刷データサーバ機能。
(3)インデックスレコード送信部518による、第1のインデックスクライアント機能。
(4)LDAPクライアント524による、ユーザ認証を認証サーバ106と共に行う、ユーザ認証機能。
(5)インデックスクライアント526による、第2のインデックスクライアント機能。
(6)印刷データ取得部533による、印刷データクライアント機能。
このうち、(1)、(2)及び(3)は第1のプリンタとしての機能であり、(4)、(5)及び(6)は第2のプリンタとしての機能である。
【0075】
上述した実施形態では、図1において、ユーザA115が、東京本社107から大阪支社111に出張しても、大阪支社111に備え付けられている、第2のプリンタであるプリンタB103から印刷をする動作の流れを説明した。
ユーザA115は、普段は東京本社107に居る。
つまり、上述した印刷処理を、プリンタA102に対して行っている。
このときの動作の流れは、前述の動作の流れと全く同じである。つまり、
・プリンタA102のICカードリーダ523にユーザA115がICカードをかざすことにより、プリンタA102におけるログインが行われ、
・プリンタA102のタッチパネル532の表示画面1001には、印刷データの一覧が表示され、
・プリンタA102のタッチパネル532を操作して、印刷データを選択すると、
・プリンタA102の印刷データ取得部は、プリンタA102の印刷データ送信可能化部521から印刷データをダウンロードして、印刷するのである。
すなわち、プリンタA102にアップロードした印刷データをプリンタA102で印刷するときは、プリンタA102の印刷データクライアント機能が、プリンタA102自身の印刷データサーバ機能から印刷データをダウンロード(本発明においては、プリンタ内における印刷データの移動についてもダウンロードという)して印刷するのである。
【0076】
[印刷データの削除]
印刷が正常に行われた印刷データ401は、用済みなので削除する必要がある。なぜなら、プリンタの内蔵ハードディスクは大容量の印刷データ401ですぐに溢れてしまうからである。
図18、図19、図20及び図21は、印刷データ401を削除する動作の流れを示す、概略図である。
【0077】
図18は、プリンタから認証サーバ106を通じてユーザを認証する動作を示す概略図である。
ユーザA115はタッチパネル532を操作すると共に、プリンタB103の操作パネル近傍に設けられているICカードリーダ523にICカードをかざして、ユーザIDとパスワードを入力する(図18の<16>)。
プリンタB103のLDAPクライアント524は、ICカードリーダ523からユーザIDとパスワードを受け取ると、認証サーバアドレス記憶部525に記憶されている認証サーバ106のアドレスに従い、LDAPにて認証サーバ106にIDとパスワードを送信し、ユーザ認証を要求する(図18の<17>)。
認証サーバ106は、プリンタB103から受信したユーザA115のユーザIDとパスワードを照合し、合致していればユーザA115を認証する(図18の<18>)。
【0078】
図19は、プリンタがインデックスサーバ105に印刷データのリストを要求し、それを受信する動作を示す概略図である。
プリンタB103は、認証の結果に呼応して、インデックスサーバ105にユーザA115の印刷データ一覧を要求する(図19の<19>)。
インデックスサーバ105は、プリンタB103の検索要求を受けて、インデックステーブル706をユーザA115のユーザIDで検索し、得られた印刷データのリストをプリンタB103に送信する(図19の<20>)。
【0079】
図20は、プリンタが印刷データを抱えるプリンタの印刷データを削除するべく、インデックスサーバ105にその旨を通知する動作を示す概略図である。
ユーザA115はプリンタB103の操作パネル903に表示される印刷データ一覧から、削除すべき印刷データを選択する(図20の<21>)。
プリンタB103は、ユーザA115によって選択されたレコードの管理番号(インデックステーブル706の「NO」フィールドの値)を、インデックスサーバ105に送信する(図20の<22>)。
インデックスサーバ105は、インデックステーブル706の、プリンタB103から指定を受けたレコードに、削除フラグを付す(図20の<23>)。つまり、インデックステーブル706の「NO」フィールドにて指定されたレコードの「DELETE_FLG」フィールドの値を「true」にする。
【0080】
図21は、プリンタが、インデックスサーバ105をポーリングし、削除フラグが付されている(「DELETE_FLG」が「true」である)印刷データを削除する動作を示す概略図である。なお、図21の吹き出し部分は論理的な動作を明示するためのイメージであり、実際にごみ箱が物理的に存在する訳ではないことに注意されたい。
プリンタA102は定期的にインデックスサーバ105にアクセスし(ポーリング)、プリンタA102が抱える印刷データ401のリストを要求する(図21の<24>)。 インデックスサーバ105はプリンタA102の要求に応じ、プリンタA102のIPアドレスでインデックステーブル706を検索し、プリンタA102が抱える印刷データ401のリストを返信する(図21の<25>)。
プリンタA102は、インデックスサーバ105から得られたリストから、削除フラグが付いているレコードの印刷データ401ファイルを削除する(図21の<26>)。
【0081】
[第2の実施形態]
次に、本発明の第2の実施形態を説明する。
第1の実施形態では、東京本社と大阪支社がある会社を想定していた。比較的規模が大きい会社である。
第2の実施形態では、小規模のオフィスを想定する。例えば、
・雑居ビルのフロアに二つのプリンタが設置されている、
或は、
・一軒家の一階と二階にそれぞれプリンタが設置されている、
というような状況を想定する。
【0082】
図22は、第2の実施の形態の例である、オンデマンド印刷システムの全体構成図である。
本実施形態のオンデマンド印刷システム2201には、以下の装置が必要となる。
(1)第1のプリンタともいえる、プリンタC2202。
(2)第2のプリンタともいえる、プリンタD2203。
(3)第1のクライアントPC2204。
(4)インデックスサーバ2205。
(5)第2のクライアントPC2206。
(6)(1)乃至(5)を接続するネットワーク。
【0083】
図1と見比べると、図22のオンデマンド印刷システム2201には、システム構成の外観より、以下の相違点がある。
・認証サーバがない。
これは、本発明におけるユーザ認証の存在意義が、ネットワークシステムのセキュリティを確保する必要性に起因する。すなわち、ネットワークを利用するユーザの人数が少ない場合等、ネットワークシステム自体が十分安全であれば、ユーザ認証機能は必須ではない。
・クライアントPCが二つある。
第1のクライアントPC2204は、印刷データ生成部ともいえるものであり、図3のクライアントPC104と全く変わらない。
第2のクライアントPC2206は、プリンタ501の、インデックスクライアント526、タッチパネル532及びRAM528を、パソコン上で実現したものである。つまり、プリンタ501から、ユーザインターフェース部分を抜き出して、パソコンに移植したと考えることができる。
【0084】
第2のクライアントPC2206は、LCD等の表示部に、図10の表示画面1001に類似する表示画面を表示する。そして、印刷を実行したいプリンタに対して、印刷データのURLを含む印刷命令を送信(発行)する。印刷命令を受信したプリンタは、そのURLに従って印刷データをダウンロードし、印刷する。
そのために、第2のクライアントPC2206は、プリンタD2203から比較的近い場所に設置される。
【0085】
勿論、第2のクライアントPC2206は、第1のクライアントPC2204と一体化することもできる。
すなわち、図3のクライアントPC104に含まれる印刷データ生成機能と、後述する図25に示す第2のクライアントPC2206の機能は、共に単一のパソコンに含めることができる。
その場合、当該クライアントPCは、ネットワーク上のどこに位置していても、作成した印刷データは第1のプリンタに送信され、印刷の指令は手近に存在するプリンタに対して命令することとなる。
【0086】
第2のクライアントPC2206が、手近にあるプリンタのアドレスを見つける方法は、様々な方法が考えられる。
最もシンプルな方法は、ユーザが手作業で入力する方法である。しかし、これは使い勝手が良くない。
【0087】
次善の策としては、第2のクライアントPC2206に割り当てられているIPアドレスが属する、同じサブネット内の全てのIPアドレスにおいて、プリンタの存在を検索する方法である。
周知のping(Packet INternet Groper:TCP/IPネットワーク上のホストの存在を診断するプログラム、又はそのプロトコル。)を用いて、同一サブネット内のIPアドレスに対して順番にpingを実行し、ホストの存在を確認する。pingの応答があった、すなわち存在が確認できたIPアドレスに対し、更にLPRに用いるTCP515番ポートに、SYNパケット(TCPの通信の開始を要求するパケット。)を送り、ACKパケット(ACKnowledgement:接続要求を許可する旨の応答パケット。)の応答が得られるか否かを検証する。こうして得られた、プリンタのIPアドレス群を列挙表示する。
【0088】
また、インデックスサーバ2205に、プリンタのIPアドレスのリストを格納させておき、これを選択する、という方法も考えられる。
例えば、cgiを用いたwebアプリケーションをインデックスサーバ2205に構築する。そして、第2のクライアントPC2206上でwebブラウザを稼動し、インデックスサーバ2205にアクセスし、プリンタの選択、印刷データの選択、そして所望のプリンタに対する印刷命令の発行をも行う。
【0089】
図23は、第1のプリンタであるプリンタC2202のブロック図である。ユーザインターフェース部分は第2のクライアントPC2206に設けられているので、必要最小限の機能のみが設けられている。
プリンタC2202の機能ブロックは、図5のプリンタ501と実質的に同じものだけで構成されている。すなわち、プリンタエンジンドライバ510、プリンタエンジンハードウェア511、インデックスレコード作成部515、データディレクトリ517、インデックスレコード送信部518、「プリンタのアドレス」記憶部519及び印刷データ送信可能化部521と、印刷データ受信部2202及び印刷データ取得部2232よりなる。
機能ブロック単位で見ると、プリンタC2202の、プリンタ501と違う点は、印刷データ受信部2202と、印刷データ取得部2232は、それぞれ異なるポート番号を監視することにより、GPSフィルタを省いた点である。つまり、印刷データを蓄積するか、印刷するかで、ポート番号を変えることにより、フラグ検出部513における判断処理が不要になる。
印刷データ取得部2232は、第2のクライアントPC2206が発する印刷命令を受信すると、印刷命令に含まれているURLに従って、印刷データ送信可能化部521から印刷データをダウンロードする。
【0090】
図24は、第2のプリンタであるプリンタD2203のブロック図である。プリンタD2203は、プリンタC2202から
・印刷データ受信部502による、受動的に印刷データを受け入れる機能、
・印刷データ送信可能化部521による、受信した印刷データを任意の相手からダウンロード可能にする印刷データサーバ機能、そして
・インデックスレコード送信部518による、第1のインデックスクライアント機能を省略した、印刷クライアントとも言うべきものである。
したがって、印刷データ取得部2232と、プリンタエンジンドライバ510及びプリンタエンジンハードウェア511だけで構成される。
【0091】
図25は、第2のクライアントPC2206の機能ブロック図である。
ユーザID記憶部2503は、プリンタドライバに任意に設定できるユーザIDであり、PJLの「USERID」である。
インデックスレコード取得部2502は、図5のインデックスクライアント526と機能的に等しい。インデックスサーバアドレス記憶部2504に記憶されているインデックスサーバ2205のアドレスに向けて、PJLの「USERID」を検索キーとして送信する。
すると、インデックスレコード取得部2502は、インデックスサーバ2205から検索キーとしてPJLの「USERID」に合致するレコード群を受信する。つまり、ユーザ自身が作成して第1のプリンタであるプリンタC2202に送信した印刷データのURLを含む情報が得られる。
得られたレコード群は、RAM2505に一時的に記憶される。RAM2505内に記憶されるレコード群は、インデックスサーバ2205のインデックステーブル706のレコードそのものであるので、インデックステーブル706のサブセットを構成する。
【0092】
なお、インデックスサーバ2205は、インデックスサーバ105と、内部の機能構成は全く同じである。唯一違う点は、検索実行部711はインデックステーブル705に対し、「USER_ID」フィールドにて検索を行う点である。
【0093】
表示部2506は、LCD等のパソコン用ディスプレイである。
操作部2507は、キーボードやマウス等の入力装置である。
選択部2508は、第2のクライアントPC2206上で動作するプログラムの主要機能部分である。操作部2507の操作に従って、RAM2505内のレコード群を選択し、それらレコード群のURLを、印刷命令発行部2509に送る。
印刷命令発行部2509は、選択部2508から受け取った印刷データのURLを、印刷を実行したいプリンタに対して送信する。図25では第2のプリンタアドレス記憶部2510に従って、プリンタD2203に送信する構成になっているが、この内容を必要に応じて書き換え、「第1のプリンタアドレス」、すなわちプリンタC2202に向けて送信してもよい。
【0094】
第2のプリンタアドレス記憶部2510は、第2のクライアントPC2206から手近なプリンタのアドレスが記憶される。このアドレスは前述の通り、様々な方法で取得することが可能である。
プリンタ選択部2511は、第2のクライアントPC2206から手近なプリンタのアドレスを取得して、そのアドレスを第2のプリンタアドレス記憶部2510に与える。
【0095】
以上に示した第2の実施形態においても、第1の実施形態とほぼ同様の動作が行われる。
第2の実施形態は、ICカードを社員に持たせない、小規模のネットワーク環境において実用的である。
【0096】
以上に示した本実施形態には、以下のような応用例が考えられる。
(1)ユーザ認証は、必ずしも認証サーバ(LDAPサーバ)が必須ではない。インデックスサーバ105の検索機能自体にユーザ認証の機能を包含させる構成にすることもできる。
プリンタドライバには、IDとパスワードを記録、保持させる機能が備わっている。これらはPJLの変数「USERID」と、「JOBPASSWORD」に格納される。
第2の実施形態において、ユーザは第2のクライアントPC2206を操作して、「USERID」と「JOBPASSWORD」を入力し、インデックスサーバ105に所定のIDとパスワードにて検索を行わせる。
インデックスサーバ105は、IDとパスワードが合致したレコードについてのみプリンタに返信する。
この場合、明示的な認証ではないものの、検索機能がユーザ認証を兼ねることとなる。
【0097】
(2)印刷データの送受信を行うプロトコルは、上述の実施形態に限られない。
FTPや、SSHの派生形であるSCPやSFTP等、多種多様な形態が考えられる。
【0098】
(3)ユーザ認証の仕組みは、上述の実施形態に限られない。全てのプリンタが共通のユーザテーブルを抱える構成にすることもできる。
【0099】
(4)上述の実施形態において、プリンタ同士のアクセスにはHTTPを用いているが、このときに用いるBASIC認証は必ずしも必要ではない。ディレクトリ一覧表示を許容せず、容易に類推できない構成のファイル名及びディレクトリ名をURLに付していれば、BASIC認証はなくてもよい。このような認証を採用するか否かは、主にセキュリティ面を考慮するシステム運用上の問題である。
【0100】
(5)IPアドレスはプライベートIPに限らない。
所定のセキュリティを充足していれば、グローバルIPアドレスであってもよい。
これは、現行のIPv4に限らず、IPv6においても同様である。
【0101】
(6)インデックスサーバ105と認証サーバ106は単一のサーバ上に構築し、一体化することが可能である。
【0102】
(7)インデックスサーバ105と認証サーバ106は、プリンタのファームウェアと一体化することが可能である。
図26にこの一例を示す。図26は、インデックスサーバの機能を包含するプリンタの機能ブロック図である。
プリンタ2601は、プリンタ501の構成部分と、インデックスサーバ105の構成部分の両方を包含している。
【0103】
(8)インデックスサーバ105は、必ずしもwebサーバである必要はない。インデックスサーバ105をSQLサーバにて構成し、プリンタがSQLのクエリー(query:データベース管理システムに対する処理要求(問い合わせ)の文字列。)を直接生成して、当該インデックスサーバ105に送信する構成にしてもよい。
【0104】
本実施形態においては、オンデマンド印刷システムを開示した。
本実施形態は、「どこでも印刷できる」目的のために、印刷データをプリンタに抱え込ませ、プリンタ自体にサーバの機能を持たせた。
本実施形態によって、ユーザは社屋内、つまり所定のネットワークの範囲内にある、所定の機能を満たすプリンタであれば、どのプリンタでも印刷ができる。
本実施形態のオンデマンド印刷システムは、この機能を実現する際に、従来のシステムと比べると、設置するサーバの処理能力はさほど高くなくてもよい。極めて軽量且つ簡素なハードウェアでも十分実現できる。したがって、設備投資は低額で済む。
また、印刷データの流れが集中しないので、従来のシステムと比べるとネットワークのトラフィックが軽減される。
更に、普段使っているプリンタが故障してしまっても、別のプリンタに設定を切り替えるだけで、何ら問題なく印刷を実行できる。
【0105】
以上、本発明の実施形態例について説明したが、本発明は上記実施形態例に限定されるものではなく、特許請求の範囲に記載した本発明の要旨を逸脱しない限りにおいて、他の変形例、応用例を含むことは言うまでもない。
【符号の説明】
【0106】
101…オンデマンド印刷システム、102…プリンタA、103…プリンタB、104…クライアントPC、105…インデックスサーバ、106…認証サーバ、107…東京本社、108、112…社内LAN、109、113…ファイアウォール、70…インターネット、111…大阪支社、114…インターネットVPN、115…ユーザA、302…印刷データ作成部、303…ユーザID記憶部、304…印刷データ送信部、305…「第1のプリンタのアドレス」記憶部、401…印刷データ、402…ヘッダ部、403…実体部、501…プリンタ、502…印刷データ受信部、503…TCP/IPネットワーク、504…USBドライバ、505…シリアルドライバ、506…パラレルドライバ、507…スプーラ、508…スプールディレクトリ、509…GPS、510…プリンタエンジンドライバ、510、511…プリンタエンジンハードウェア、511、512…GPSフィルタ、513…フラグ検出部、514…スイッチ、515…インデックスレコード作成部、516…ヘッダ書換部、517…データディレクトリ、518…インデックスレコード送信部、519…「プリンタのアドレス」記憶部、520、527…インデックスサーバアドレス・ID・PW記憶部、521…印刷データ送信可能化部、522…ID・PW記憶部、523…ICカードリーダ、524…LDAPクライアント、525…認証サーバアドレス記憶部、526…インデックスクライアント、528…RAM、529…表示部、530…操作部、531…選択部、532…タッチパネル、533…印刷データ取得部、702…webサーバプログラム、703…ID・PW記憶部、704…第1のcgi、705…記憶部、706…インデックステーブル、707…第2のcgi、708…インデックスレコード受信部、709…インデックスレコード登録部、710…検索キー受信部、711…検索実行部、712…検索結果送信部、1001…表示画面、1002…「文書名」欄、1003…「日時」欄、1004…「ページ」欄、1005…「ユーザ名」欄、2201…オンデマンド印刷システム、2202…プリンタC、2203…プリンタD、2204…第1のクライアントPC、2205…インデックスサーバ、2206…第2のクライアントPC、2202…印刷データ受信部、2232…印刷データ取得部、2503…ユーザID記憶部、2502…インデックスレコード取得部、2504…インデックスサーバアドレス記憶部、2505…RAM、2506…表示部、2507…操作部、2508…選択部、2509…印刷命令発行部、2510…第2のプリンタアドレス記憶部、2511…プリンタ選択部、2601…プリンタ
【先行技術文献】
【特許文献】
【0107】
【特許文献1】特開2003−274064号公報
【特許請求の範囲】
【請求項1】
ユーザ情報および印刷の対象となる印刷データを受信し前記印刷データを格納する1台以上の第1の機器と、前記第1の機器に格納される前記印刷データを取得して印刷を実行する1台以上の第2の機器とにネットワークを介して通信可能に接続し、記憶手段を備える管理装置であって、
前記第1の機器に格納される前記印刷データに関する第1の情報として、前記印刷データの文書名情報および前記ユーザ情報を、前記第1の機器から受信する第1の受信手段と、
前記第1の受信手段により受信した前記第1の情報を前記記憶手段に記録する第1の記録手段と、
前記第2の機器から前記ユーザ情報を受信する第2の受信手段と、
前記第2の受信手段により受信した前記ユーザ情報に基づき前記記憶手段が記憶する前記第1の情報を検索する検索手段と、
前記記憶手段が記憶する前記第1の情報のうち、前記検索手段により検索された前記第1の情報の前記文書名情報を前記第2の機器に送信する送信手段と、
を備える管理装置。
【請求項2】
前記送信手段により前記文書名情報を送信した前記第2の機器から、前記文書名情報の前記印刷データに対する処理の要求を受信する第3の受信手段と、
前記第2の機器から要求された前記印刷データに対する処理を、当該印刷データを格納する前記第1の機器に要求する要求手段と、
を備えることを特徴とする請求項1に記載の管理装置。
【請求項3】
前記第3の受信手段により前記文書名情報の前記印刷データに対する処理の要求を受信すると、当該文書名情報と、処理を要求する旨の第2の情報とを対応付けて前記記憶手段に記録する第2の記録手段を備え、
前記要求手段は、
前記第1の機器からの要求に応じて、当該第1の機器が格納する前記印刷データに関する前記文書名情報および前記第2の情報を、当該第1の機器に送信することにより、前記第2の機器から要求された前記印刷データに対する処理を当該第1の機器に要求することを特徴とする請求項2に記載の管理装置。
【請求項4】
前記第1の記録手段は、
前記第1の受信手段により前記第1の機器から受信した前記印刷データに関する第1の情報を、当該第1の機器を特定する情報および当該印刷データを特定する情報に基づく当該印刷データの位置情報と対応付けて前記記憶手段に記録し、
前記送信手段は、
前記検索手段により検索された前記第1の情報の前記文書名情報および当該第1の情報に対応付く前記位置情報を前記第2の機器に送信すること
を特徴とする請求項1乃至3のいずれか1項に記載の管理装置。
【請求項5】
印刷データを格納する1台以上の第1の機器と、前記第1の機器が格納する印刷データに関する情報を記憶手段に記憶して管理する第2の機器と、前記第1の機器が格納する前記印刷データによる印刷を制御する第3の機器とがネットワークを介して通信可能に接続するネットワークシステムにおける印刷制御方法であって、
前記第1の機器から前記第2の機器に対して、前記印刷データに関する第1の情報として、前記印刷データの文書名情報および前記ユーザ情報を提供する第1のステップと、
前記第1の情報を提供された前記第2の機器が、前記第1の情報を前記記憶手段に記録する第2のステップと、
前記第3の機器から前記第2の機器に対して、前記ユーザ情報を提供する第3のステップと、
前記第3の機器から提供された前記ユーザ情報に基づき、前記第2の機器が前記記憶手段に記憶される前記第1の情報を検索する第4のステップと、
前記第2の機器から前記第3の機器に対して、前記記憶手段が記憶する前記第1の情報のうち、前記第4のステップにより検索された前記第1の情報の前記文書名情報を提供する第5のステップと、
を含むことを特徴とする印刷制御方法。
【請求項6】
前記第1のステップは、
前記第1の機器から前記第2の機器に対してさらに、前記第1の機器において格納される前記印刷データの位置情報を提供し、
前記第2のステップは、
前記第1の情報および前記位置情報を提供された前記第2の機器が、前記第1の情報および前記位置情報を対応付けて前記記憶手段に記録し
前記第5のステップは、
前記第2の機器から前記第3の機器に対して、前記記憶手段が記憶する前記第1の情報のうち、前記第4のステップにより検索された前記第1の情報の前記文書名情報および対応する前記位置情報を提供する
ことを特徴とする請求項5に記載の印刷制御方法。
【請求項7】
前記ネットワークシステムは、印刷データの印刷を実行する1台以上の第4の機器とさらにネットワークを介して通信可能に接続し、
前記第5のステップにより前記文書名情報および対応する前記位置情報を提供された前記第3の機器が、1台以上の前記第4の機器のうち所定のネットワーク通信範囲内に存在する前記第4の機器に対して、印刷を実行させる前記印刷データの位置情報を提供する第6のステップと、
前記印刷データの位置情報を提供された前記第4の機器が、当該位置情報に基づき前記第1の機器からネットワークを介して印刷データを取得する第7のステップと、
前記第4の機器が、前記第7のステップにより取得した前記印刷データの印刷を実行する第8のステップと、
をさらに含むことを特徴とする請求項6に記載の印刷制御方法。
【請求項8】
前記第5のステップにより前記文書名情報を提供された前記第3の機器から前記第2の機器に対して、前記文書名情報の前記印刷データに対する処理の要求を送信する第9のステップと、
前記第3の機器から要求された前記印刷データに対する処理を、前記第2の機器が当該印刷データを格納する前記第1の機器に対して要求する第10のステップと、
前記第1の機器が格納する前記印刷データのうち、第3の機器から要求された前記印刷データに対する処理を実行する第11のステップと、
をさらに含むことを特徴とする請求項5乃至7のいずれか1項に記載の印刷制御方法。
【請求項9】
印刷データを格納する1台以上の第1の機器と、前記第1の機器が格納する印刷データに関する情報を記憶手段に記憶して管理する第2の機器と、前記第1の機器が格納する前記印刷データによる印刷を制御する第3の機器とがネットワークを介して通信可能に接続し情報処理を実行するネットワークシステムであって、
前記第1の機器が前記第2の機器に対して、前記印刷データに関する第1の情報として、前記印刷データの文書名情報および前記ユーザ情報を送信する第1の情報処理手段と、
前記第1の機器から前記第1の情報を受信した前記第2の機器が、前記第1の情報を前記記憶手段に記録する第2の情報処理手段と、
前記第3の機器が前記第2の機器に対して、前記ユーザ情報を送信する第3の情報処理手段と、
前記第2の機器が、前記第3の機器から受信した前記ユーザ情報に基づき、前記記憶手段に記憶される前記第1の情報を検索する第4の情報処理手段と、
前記第2の機器が前記第3の機器に対して、前記記憶手段が記憶する前記第1の情報のうち、前記第4の手段により検索された前記第1の情報の前記文書名情報を送信する第5の情報処理手段と、
を備えることを特徴とするネットワークシステム。
【請求項1】
ユーザ情報および印刷の対象となる印刷データを受信し前記印刷データを格納する1台以上の第1の機器と、前記第1の機器に格納される前記印刷データを取得して印刷を実行する1台以上の第2の機器とにネットワークを介して通信可能に接続し、記憶手段を備える管理装置であって、
前記第1の機器に格納される前記印刷データに関する第1の情報として、前記印刷データの文書名情報および前記ユーザ情報を、前記第1の機器から受信する第1の受信手段と、
前記第1の受信手段により受信した前記第1の情報を前記記憶手段に記録する第1の記録手段と、
前記第2の機器から前記ユーザ情報を受信する第2の受信手段と、
前記第2の受信手段により受信した前記ユーザ情報に基づき前記記憶手段が記憶する前記第1の情報を検索する検索手段と、
前記記憶手段が記憶する前記第1の情報のうち、前記検索手段により検索された前記第1の情報の前記文書名情報を前記第2の機器に送信する送信手段と、
を備える管理装置。
【請求項2】
前記送信手段により前記文書名情報を送信した前記第2の機器から、前記文書名情報の前記印刷データに対する処理の要求を受信する第3の受信手段と、
前記第2の機器から要求された前記印刷データに対する処理を、当該印刷データを格納する前記第1の機器に要求する要求手段と、
を備えることを特徴とする請求項1に記載の管理装置。
【請求項3】
前記第3の受信手段により前記文書名情報の前記印刷データに対する処理の要求を受信すると、当該文書名情報と、処理を要求する旨の第2の情報とを対応付けて前記記憶手段に記録する第2の記録手段を備え、
前記要求手段は、
前記第1の機器からの要求に応じて、当該第1の機器が格納する前記印刷データに関する前記文書名情報および前記第2の情報を、当該第1の機器に送信することにより、前記第2の機器から要求された前記印刷データに対する処理を当該第1の機器に要求することを特徴とする請求項2に記載の管理装置。
【請求項4】
前記第1の記録手段は、
前記第1の受信手段により前記第1の機器から受信した前記印刷データに関する第1の情報を、当該第1の機器を特定する情報および当該印刷データを特定する情報に基づく当該印刷データの位置情報と対応付けて前記記憶手段に記録し、
前記送信手段は、
前記検索手段により検索された前記第1の情報の前記文書名情報および当該第1の情報に対応付く前記位置情報を前記第2の機器に送信すること
を特徴とする請求項1乃至3のいずれか1項に記載の管理装置。
【請求項5】
印刷データを格納する1台以上の第1の機器と、前記第1の機器が格納する印刷データに関する情報を記憶手段に記憶して管理する第2の機器と、前記第1の機器が格納する前記印刷データによる印刷を制御する第3の機器とがネットワークを介して通信可能に接続するネットワークシステムにおける印刷制御方法であって、
前記第1の機器から前記第2の機器に対して、前記印刷データに関する第1の情報として、前記印刷データの文書名情報および前記ユーザ情報を提供する第1のステップと、
前記第1の情報を提供された前記第2の機器が、前記第1の情報を前記記憶手段に記録する第2のステップと、
前記第3の機器から前記第2の機器に対して、前記ユーザ情報を提供する第3のステップと、
前記第3の機器から提供された前記ユーザ情報に基づき、前記第2の機器が前記記憶手段に記憶される前記第1の情報を検索する第4のステップと、
前記第2の機器から前記第3の機器に対して、前記記憶手段が記憶する前記第1の情報のうち、前記第4のステップにより検索された前記第1の情報の前記文書名情報を提供する第5のステップと、
を含むことを特徴とする印刷制御方法。
【請求項6】
前記第1のステップは、
前記第1の機器から前記第2の機器に対してさらに、前記第1の機器において格納される前記印刷データの位置情報を提供し、
前記第2のステップは、
前記第1の情報および前記位置情報を提供された前記第2の機器が、前記第1の情報および前記位置情報を対応付けて前記記憶手段に記録し
前記第5のステップは、
前記第2の機器から前記第3の機器に対して、前記記憶手段が記憶する前記第1の情報のうち、前記第4のステップにより検索された前記第1の情報の前記文書名情報および対応する前記位置情報を提供する
ことを特徴とする請求項5に記載の印刷制御方法。
【請求項7】
前記ネットワークシステムは、印刷データの印刷を実行する1台以上の第4の機器とさらにネットワークを介して通信可能に接続し、
前記第5のステップにより前記文書名情報および対応する前記位置情報を提供された前記第3の機器が、1台以上の前記第4の機器のうち所定のネットワーク通信範囲内に存在する前記第4の機器に対して、印刷を実行させる前記印刷データの位置情報を提供する第6のステップと、
前記印刷データの位置情報を提供された前記第4の機器が、当該位置情報に基づき前記第1の機器からネットワークを介して印刷データを取得する第7のステップと、
前記第4の機器が、前記第7のステップにより取得した前記印刷データの印刷を実行する第8のステップと、
をさらに含むことを特徴とする請求項6に記載の印刷制御方法。
【請求項8】
前記第5のステップにより前記文書名情報を提供された前記第3の機器から前記第2の機器に対して、前記文書名情報の前記印刷データに対する処理の要求を送信する第9のステップと、
前記第3の機器から要求された前記印刷データに対する処理を、前記第2の機器が当該印刷データを格納する前記第1の機器に対して要求する第10のステップと、
前記第1の機器が格納する前記印刷データのうち、第3の機器から要求された前記印刷データに対する処理を実行する第11のステップと、
をさらに含むことを特徴とする請求項5乃至7のいずれか1項に記載の印刷制御方法。
【請求項9】
印刷データを格納する1台以上の第1の機器と、前記第1の機器が格納する印刷データに関する情報を記憶手段に記憶して管理する第2の機器と、前記第1の機器が格納する前記印刷データによる印刷を制御する第3の機器とがネットワークを介して通信可能に接続し情報処理を実行するネットワークシステムであって、
前記第1の機器が前記第2の機器に対して、前記印刷データに関する第1の情報として、前記印刷データの文書名情報および前記ユーザ情報を送信する第1の情報処理手段と、
前記第1の機器から前記第1の情報を受信した前記第2の機器が、前記第1の情報を前記記憶手段に記録する第2の情報処理手段と、
前記第3の機器が前記第2の機器に対して、前記ユーザ情報を送信する第3の情報処理手段と、
前記第2の機器が、前記第3の機器から受信した前記ユーザ情報に基づき、前記記憶手段に記憶される前記第1の情報を検索する第4の情報処理手段と、
前記第2の機器が前記第3の機器に対して、前記記憶手段が記憶する前記第1の情報のうち、前記第4の手段により検索された前記第1の情報の前記文書名情報を送信する第5の情報処理手段と、
を備えることを特徴とするネットワークシステム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【公開番号】特開2012−146326(P2012−146326A)
【公開日】平成24年8月2日(2012.8.2)
【国際特許分類】
【出願番号】特願2012−77998(P2012−77998)
【出願日】平成24年3月29日(2012.3.29)
【分割の表示】特願2007−125993(P2007−125993)の分割
【原出願日】平成19年5月10日(2007.5.10)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】
【公開日】平成24年8月2日(2012.8.2)
【国際特許分類】
【出願日】平成24年3月29日(2012.3.29)
【分割の表示】特願2007−125993(P2007−125993)の分割
【原出願日】平成19年5月10日(2007.5.10)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】
[ Back to top ]