JP2013089045A - 情報処理装置、制御方法、及びプログラム - Google Patents
情報処理装置、制御方法、及びプログラム Download PDFInfo
- Publication number
- JP2013089045A JP2013089045A JP2011229135A JP2011229135A JP2013089045A JP 2013089045 A JP2013089045 A JP 2013089045A JP 2011229135 A JP2011229135 A JP 2011229135A JP 2011229135 A JP2011229135 A JP 2011229135A JP 2013089045 A JP2013089045 A JP 2013089045A
- Authority
- JP
- Japan
- Prior art keywords
- printer
- information
- print queue
- queue
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
- G06F3/1204—Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1224—Client or server resources management
- G06F3/1228—Printing driverless or using generic drivers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/126—Job scheduling, e.g. queuing, determine appropriate device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1285—Remote printer device, e.g. being remote from client or server
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
【課題】 プリンタードライバーをインストールしていないプリンターを用いて印刷を行うたびに、プリンタードライバーに対応するプリントキューを自動的に作成すると、ユーザーが選択可能なプリンターを含む出力先の選択肢が増える。
【解決手段】 プリントキューを作成するが、プリンター情報を表示する表示部がプリントキューに対応するプリンター情報を表示しない。
【選択図】 図7
【解決手段】 プリントキューを作成するが、プリンター情報を表示する表示部がプリントキューに対応するプリンター情報を表示しない。
【選択図】 図7
Description
本発明は、プリントキューに対応するプリンター情報の表示を制御する技術に関するものである。
情報処理装置からプリンターを利用するには、一般的にそのプリンターに対応した特定のプリンタードライバーを情報処理装置にインストールする必要がある。
従来、ユーザーが利用するプリンターが複数台ある場合には、その台数分だけプリンタードライバーを情報処理装置にインストールしていた。しかし、ユーザーはプリンターのIPアドレスを調べる、対応するプリンタードライバーを探す等のインストールのための面倒な作業を強いられてきた。
そこで近年、この面倒な作業を効率化するための技術が考案されている。
例えば特許文献1には、仮想プリンタードライバーで印刷文書を中間データとしてスプールし、出力プリンターに対応する専用プリンタードライバーを自動的にインストールし、中間データを専用プリンタードライバーで印刷する技術の開示がある。
従来、ユーザーが利用するプリンターが複数台ある場合には、その台数分だけプリンタードライバーを情報処理装置にインストールしていた。しかし、ユーザーはプリンターのIPアドレスを調べる、対応するプリンタードライバーを探す等のインストールのための面倒な作業を強いられてきた。
そこで近年、この面倒な作業を効率化するための技術が考案されている。
例えば特許文献1には、仮想プリンタードライバーで印刷文書を中間データとしてスプールし、出力プリンターに対応する専用プリンタードライバーを自動的にインストールし、中間データを専用プリンタードライバーで印刷する技術の開示がある。
特許文献1では、まだ専用プリンタードライバーをインストールしていないプリンターを用いて印刷を行うたびに、専用プリンタードライバーに対応するプリントキューを自動的に作成する。
しかしながら、印刷を行ったプリンターの数だけプリントキューが作成されると、ユーザーが選択可能なプリンターを含む出力先の選択肢が増える。よって、ユーザーが出力先を選択する際に、いずれの出力先を選べば良いかわかりにくくなってしまい、作業効率が落ちてしまうという課題があった。
例えば、特許文献1の技術を適用した携帯可能な情報処理装置を用いて、ユーザーが情報処理装置を携帯して移動することにより、ユーザーが印刷するプリンターを変更して印刷を行うとする。この場合、自動作成されるプリントキューの数は新たなプリンターで印刷する度に増え、上記課題が顕著である。
上記の目的を達成するための本発明に係る情報処理装置は、
第1のプリントキューを作成する通常作成手段と、
前記通常作成手段の作成する前記第1のプリントキューに対応するプリンタードライバーが動作することにより第2のプリントキューを作成する仮想作成手段と、を有し、
プリンターに関する情報であるプリンター情報を表示する表示部は、前記通常作成手段が作成する前記第1のプリントキューに対応するプリンターのプリンター情報を表示し、前記仮想作成手段が作成する前記第2のプリントキューに対応するプリンターのプリンター情報を表示しないことを特徴とする。
第1のプリントキューを作成する通常作成手段と、
前記通常作成手段の作成する前記第1のプリントキューに対応するプリンタードライバーが動作することにより第2のプリントキューを作成する仮想作成手段と、を有し、
プリンターに関する情報であるプリンター情報を表示する表示部は、前記通常作成手段が作成する前記第1のプリントキューに対応するプリンターのプリンター情報を表示し、前記仮想作成手段が作成する前記第2のプリントキューに対応するプリンターのプリンター情報を表示しないことを特徴とする。
本発明はプリントキューに対応するプリンター情報の表示を制御することで、ユーザーに作業効率の高い印刷環境を提供する。
[第1の実施形態]
以下、本発明を実施するための第1の実施形態について図面を用いて説明する。
以下、本発明を実施するための第1の実施形態について図面を用いて説明する。
(システムの構成図)
図1(a)は、本発明の実施形態に係るネットワークシステムの概略を示すブロック図である。このネットワークシステムは、ホストコンピューター101と、このホストコンピューター101より印刷データを受信して印刷を行なう複数のプリンター(102a,102b,…)などの周辺機器等を備える。これらはネットワーク104を介して接続されている。
図1(a)は、本発明の実施形態に係るネットワークシステムの概略を示すブロック図である。このネットワークシステムは、ホストコンピューター101と、このホストコンピューター101より印刷データを受信して印刷を行なう複数のプリンター(102a,102b,…)などの周辺機器等を備える。これらはネットワーク104を介して接続されている。
図1(b)は、図1(a)のホストコンピューター101とプリンター102の装置構成を示すブロック図である。
(ホストコンピューターの装置構成)
ホストコンピューター101は、一般的なパーソナルコンピューターなどを含む情報処理装置である。
ホストコンピューター101は、一般的なパーソナルコンピューターなどを含む情報処理装置である。
CPU111は、RAM112に記憶されているプログラムに従って、システムバス114に接続される各デバイスを総括的に制御している。
RAM112は、CPU111の主メモリ、ワークエリア等としても機能している。
ROM113は、各種プログラム及びデータを格納している。具体的には各種フォントを記憶するフォントROM(113a)、ブートプログラムやBIOS等を記憶するプログラムROM(113b)、各種データを記憶するデータROM(113c)に区分けして構成されている。
キーボードコントローラI/F115は、キーボードやポインティングデバイス(マウス)119からのキー入力を制御する。
ディスプレイI/F116は、ディスプレイ120への表示を制御している。
外部メモリI/F117は、例えばハードディスク(HD)、Solid State Disk(SSD)等の外部メモリ121とのアクセスを制御する。
外部メモリ121は、オペレーティングシステムプログラム(以下、OS)122をはじめ各種印刷用アプリケーション123、印刷処理関連プログラム124を含む。さらに、ユーザファイル、編集ファイル等144を記憶するコンピューターが読み取り可能な記憶媒体としても機能する。
なお、ここではOS122としてMicrosoft(登録商標) Windows(登録商標)を使用するものとする。
加えて、CPU104が外部メモリ121に記憶されているプログラムに基づき処理を実行することによって、図5の一部に示されるようなホストコンピューター101のソフトウェア構成及び後述するフローチャートの各ステップの処理が実現される。
印刷処理関連プログラム124は、インストーラー125、プリントジョブマネージャー126、認証ジョブマネージャー127を含む。さらに仮想プリンタードライバー128、専用プリンタードライバー129、プリンターリストプログラム130、管理ユーティリティ131を含んでいる。
ここで、仮想プリンタードライバー128というのは、プリンター102に対して直接的ではなく間接的に印刷を実行するために利用されるプログラムである。
プリンター102に対して間接的に用いられるプログラムであるため「仮想」と呼称しているが、仮想プリンタードライバー128はOS122上では一般的なプリンタードライバーとして登録される。よって、ユーザーは通常の印刷作業手順に近い感覚で作業を行うことができる。
一方の専用プリンタードライバー129は、直接的に印刷するために用いられる、従来からあるプリンタードライバーである。
専用プリンタードライバー129としては、プリンター102a、102bの各モデルが持つ機能を最大限利用できるものをそれぞれ用意しても良いし、いずれのモデルにも共通の機能のみを利用できる汎用的な種類のものだけを用意しても良い。
ネットワークI/F118は、ネットワーク104を介してプリンター102に接続され、プリンター102との間で通信制御処理を行なう。
(プリンターの装置構成)
次にプリンター102の構成について説明する。
次にプリンター102の構成について説明する。
CPU132は、プリンター102の全体の動作を制御している。
RAM139は、CPU132の主メモリ、ワークエリア等として機能するとともに、出力情報展開領域、環境データ格納領域としても用いられる。
またこのRAM139は、NVRAM(Non−volatile RAM:不揮発性RAM)領域も備えており、増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。
ROM133は、各種フォントを記憶するフォントROM133a、CPU132により実行される制御プログラム等を記憶するプログラムROM133b、及び各種データを記憶するデータROM133cを備えている。
ネットワークI/F138は、ホストコンピューター101との間でデータの送受信を行なう。印刷部I/F136は、プリンタエンジンである印刷部137とのインターフェースを制御している。
外部メモリ134は、外部メモリI/F140によりアクセスが制御されている。さらにオプションとして接続されるハードディスク(HD)、Solid State Disk(SSD)等を含んでおり、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。
なお、ハードディスク等の外部メモリ134が接続されていない場合には、ROM133のデータROM133cに、ホストコンピューター101で利用される情報等を記憶することになる。
なお、この外部メモリ134は1個に限らず複数備えるものであってもよい。例えば、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンター制御言語を解釈するプログラム等を格納した外部メモリを複数接続できるように構成されていてもよい。
操作部142には、ユーザーによる操作を受け付ける操作パネルが設けられ、その操作パネルには操作のためのスイッチ及びLED表示器等が配されている。
また、NVRAMに操作パネルからのプリンタモード設定情報を記憶するようにしてもよい。
CPU132は、ROM133のプログラムROM133bに記憶された制御プログラム等に基づき、印刷部I/F136を介して印刷部137に出力情報としての画像信号を出力する。
また、CPU132はネットワークI/F138を介してホストコンピューター101との通信処理が可能となっている。またホストコンピューター101から送信される印刷データを受信すると共に、プリンター102内の情報等をホストコンピューター101に通知可能に構成されている。
(プリンタードライバー、プリントキュー、ポートの各情報とそれらの関係)
図2は、プリンタードライバーとプリントキューとポートの各情報とそれらの関係を説明した図である。
図2は、プリンタードライバーとプリントキューとポートの各情報とそれらの関係を説明した図である。
図はUML(Unified Modeling Language)のオブジェクト図を使って表現している。
OS122は、ユーザーが容易にプリンタードライバーをインストールしたり、ドキュメントを印刷したりできるよう、プリンタードライバー20、プリントキュー21、ポート22という3種類のオブジェクトを管理している。
これらのオブジェクトはOS122が、情報として外部メモリ121上に記憶させ、アプリケーション123などのプログラムからアクセスできるよう管理している。
これらのオブジェクトはOS122が、情報として外部メモリ121上に記憶させ、アプリケーション123などのプログラムからアクセスできるよう管理している。
プリンタードライバー20は、インストールされた仮想プリンタードライバー128および専用プリンタードライバー129を指すオブジェクトである。
プリンタードライバー20はモデルごとに管理されるため、モデルが異なれば別のオブジェクトとなる。
プリンタードライバー20はモデルごとに管理されるため、モデルが異なれば別のオブジェクトとなる。
プリントキュー21は、アプリケーション123から印刷する際の印刷対象オブジェクトである。またプリントキュー21は、プリンタードライバー20に関連付けられて管理される。なお、ひとつのプリンタードライバー20に対して、複数のプリントキュー21を関連付けることができる。
ポート22は出力先を特定するオブジェクトである。
ポート22は出力先を特定するオブジェクトである。
通常はひとつのプリントキュー21に対してひとつのポート22が関連付けられて管理される。
例えば、オフィスにDevice Model Aというプリンターを3台導入した場合、Device Model Aに対応した専用プリンタードライバー129をインストールする。そしてインストールしたプリンタードライバー20を1つ、プリントキュー21を3つ、ポート22を3つ作成して互いに関連付けるのが典型的な構成となる。
各オブジェクトはそれぞれプリンタードライバー構成情報201、プリントキュー構成情報211、ポート構成情報221を保持している。
プリンタードライバー構成情報201は、モデル名、ドライバーバージョン、ハードウェア情報、ドライバーモジュール名、等から構成される。
プリントキュー構成情報211は、プリントキュー名、プリンタードライバー名、ポート名、印刷設定情報、アクセス権情報等から構成される。
ポート構成情報221は、ポート名、アドレス情報(IPアドレス等)、ポートモジュール名、等から構成される。
(インストール処理のフローチャート)
図3は、インストーラー125による本実施形態に係るインストール処理を説明するフローチャートである。
図3は、インストーラー125による本実施形態に係るインストール処理を説明するフローチャートである。
ユーザーは本実施形態に係る印刷システムを利用する前準備を行う。具体的には利用するホストコンピューター101のOS122上にインストーラー125を用いて、仮想プリンタードライバー128、プリントジョブマネージャー126、専用プリンタードライバー129のインストール処理、および関連する処理を行う。
本実施形態では、S100〜S107を第1のインストール処理と呼ぶ。
まず、インストーラー125は、ダミーポートを作成し(S101)、仮想プリンタードライバー128をインストールし(S102)、ダミーポートに関連付けて仮想プリンタードライバーのプリントキューの作成をOS122に指示する(S103)。
なお、以降、本明細書ではプリントキューの作成をOS122に指示することを、プリントキューを作成すると表現する。
ここでダミーポートとは実際の印刷データ出力を行わない偽のポート22を意味する。
後述するが、仮想プリンタードライバー128はその特徴として自らが生成する印刷用の中間データをプリントジョブマネージャー126に出力する。
したがって仮想プリンタードライバー128はポートを通じた出力を行わないのだが、OS122の管理上、プリントキュー21には1つ以上のポートを関連付ける必要があるため、どこへも出力を行わないダミーポートを関連付ける。
次に、インストーラー125は、プリントジョブマネージャー126をインストールする(S104)。
プリントジョブマネージャー126と仮想プリンタードライバー128は互いに不可分の関係にあるため、プリントジョブマネージャー126のインストールはS102の内部処理として実行しても良い。
次に、インストーラー125は、専用プリンタードライバー129をインストールする(S105)。
プリンター102a、102bの各モデル用にそれぞれ専用プリンタードライバー129を用意した場合は、用意した専用プリンタードライバーをすべてインストールする。
ここでは、専用プリンタードライバー129をインストールしてOS122上にプリンタードライバー20を作成するにとどめる。
専用プリンタードライバー129に関連付けるプリントキュー21やポート22の作成は、後述する第2のインストール処理で行う。
最後に、インストーラー125は、特殊ユーザーをOS122に作成する(S106)。
特殊ユーザーとは後述するプリントジョブマネージャー126による第2のインストール処理や印刷処理において一時的に権限偽装(impersonate)するために使用するユーザーオブジェクトである。
本実施例ではこの特殊ユーザーのユーザーオブジェクトにprintuserという名前を付けたものとする。
以上で、第1のインストール処理が終了する(S107)。
以上で、第1のインストール処理が終了する(S107)。
(印刷処理のデータフロー図)
図4は本実施形態に係る印刷処理のデータフロー図である。
図4は本実施形態に係る印刷処理のデータフロー図である。
本図を用いて、印刷処理関連プログラムの間でどのような入出力が行われるか明らかにする。
アプリケーション123は仮想プリンタードライバー128に対して、OS122の提供する描画インターフェースであるGDI(Graphic Device Interface)400を通じて印刷指示命令を出力する。
次に仮想プリンタードライバー128は、入力された印刷指示命令をEMF(Enhanced Meta File)401の形式に変換してプリントジョブマネージャー126に出力する。
次に仮想プリンタードライバー128は、入力された印刷指示命令をEMF(Enhanced Meta File)401の形式に変換してプリントジョブマネージャー126に出力する。
ここでEMF401とは、GDI400の印刷指示命令と互換性のある中間データ形式であり、アプリケーション123から出力された一連の印刷指示命令を再現可能なデータとして記録したものである。
本実施形態では中間データ形式としてEMF401を用いて説明している。しかし、印刷指示命令を再現可能なデータであれば、例えばXPS(XML Paper Specification)、PDF(Portable Document Format)、あるいは独自に定義した任意の形式であっても良い。
次にプリントジョブマネージャー126は、後述する第2のインストール処理などを行い、GDI400を通じて印刷指示命令を出力する。
出力された印刷指示命令は、専用プリンタードライバー129に対して入力される。
次に、専用プリンタードライバー129は、プリンター102が処理可能なPDL(Printer Description Language)402の形式に変換し、印刷ジョブとしてプリンター102に出力する。
最後にプリンター102は、入力された印刷ジョブを処理して印刷出力を行う。
(印刷処理のシーケンス図)
図5は本実施形態に係る印刷処理のシーケンス図である。
図5は本実施形態に係る印刷処理のシーケンス図である。
本図を用いて、一連の印刷処理中に関連プログラムの各コンポーネントの内部、およびそれらの間でどのような処理が行われているか明らかにする。
なお、印刷処理はすべて後述するuser01のユーザー権限下で実行されるものとする。
まず、ユーザーはアプリケーション123に対して印刷したいドキュメントの印刷指示を図6(a)で示すユーザーインターフェース(UI)6000を通じて入力する(S200)。
UI6000はプリンターリストプログラム130によって表示される。プリンターリストプログラム130は表示部として機能することによって、これを実現する。
6004に表示されている6001と6002はプリンターに関する情報、すなわちプリンター情報である。他にも6004にはユーザーが選択可能な出力先が表示される。出力先としては例えばPDFを作成するPDFライターなどが挙げられる。
なお、本明細書ではプリンター情報もプリントキューと表現する。
6001は仮想プリンタードライバー128に関連付けられたプリントキューであり、6002は専用プリンタードライバー129に関連付けられたプリントキューである。
専用プリンタードライバー129のプリントキュー6002は、前記第1のインストール処理では作成されないので、専用プリンタードライバー129のインストール後に本実施例の係る処理とは別の操作でユーザーが作成作業を行ったものである。
ここでは仮想プリンタードライバーを通じて出力を行うため、ユーザーは6001のプリントキューを選択し、印刷ボタン6003を押して、印刷を指示する。
次に、アプリケーション123は、仮想プリンタードライバー128に対して、印刷初期化処理を行う(S201)。
仮想プリンタードライバー128は印刷初期化が行われるとプリントジョブマネージャー126の起動処理を行う(S202)。
プリントジョブマネージャー126は、このように仮想プリンタードライバー128の印刷処理開始後に起動されるプログラムであり、後述するプリンターの特定、第2のインストール処理、専用プリンタードライバー129への印刷実行など固有の処理を担う。
また、プリントジョブマネージャー126は内部的なコンポーネントとして、プリンター特定部1261、プリンタードライバー管理部1262、デスプール処理部1263を含む。
次に、アプリケーション123はプリントジョブマネージャー126が起動されると、仮想プリンタードライバー128に対して印刷を開始し、一連の印刷描画命令をGDI400により出力する(S203)。
仮想プリンタードライバー128は、入力された一連の印刷描画命令をEMF401形式に変換し、後段の処理で印刷描画命令を再現できるよう外部メモリ121に保存する。
これをスプール処理と呼ぶ(S204)。
アプリケーション123は一連の印刷描画命令の最後に印刷終了の処理を行い(S205)、仮想プリンタードライバー128は、保存されたEMF401の外部メモリ121におけるファイルパスをプリントジョブマネージャー126に通知する(S206)。
なお、S204は、外部メモリ121に対してスプール処理を実施するが、外部メモリ121を介さずプリントジョブマネージャー126へ直接スプール処理してもかまわない。
次に、プリンター特定部1261は、プリンターの検索を行う(S207)。
ここで検索とは、ネットワーク104に接続されたプリンター102aや102bと通信し、それらの名称、設置場所、IPアドレス、ハードウェア情報といった情報を取得することを指す。
ハードウェア情報としては、プリンターの機種情報や製造元であるベンダー情報などが含まれる。
通信手段としては公知の技術であるSNMP(Simple Network Management Protocol)やWSD(Web Services on Devices)などのプロトコルを使用する。
通常、プリンター102aや102bの状態、すなわち電源が入っているか、ネットワーク104に接続されているかを事前に把握しないため、プリンター特定部1261は印刷指示の都度、すべてのプリンターとの通信を試みる。
ネットワーク内のすべての装置との通信には、これも公知の技術であるブロードキャストという手段を用いる。
プリンター特定部1261がこのブロードキャストの方法で、ネットワークI/F118を通じてSNMPの情報取得用データを送信すると、ネットワーク104で到達可能なすべてのプリンター102が情報取得用データを受信する。そして、各プリンター102が取得対象として指定されたプリンターの名称や設置場所などの情報を応答のデータとしてネットワークI/F138を通じて送信すると、プリンター特定部1261は順次それらの応答を受信する。そして、受信した情報をRAM112に保存する。
プリンター特定部1261は、受信した応答からプリンター名や設置場所などの情報を取り出し、図6(b)のようなプリンターリストとしてUI6100に表示する(S208)。
UI6100には情報を表示するためのリストコントロール6101が配置され、その中からひとつをカーソル6102によって、プリンターを選択することができる。
ボタン6103を押すと、ネットワーク104内で再検索が行われ、利用可能なプリンターのリストを最新の状態に更新できる。
ボタン6104を押すと、カーソル6102で現在選択されているプリンターが出力先として決定される(S209)。
プリンター特定部1261は、S209での出力先の決定を受け、次の処理に移る。
出力先のプリンターが決定されて次へボタンが押下されると(S209)、プリンター特定部1261はプリンタードライバー管理部1262に対して第2のインストール処理を実行するよう依頼する(S210)。
ここで、図5のシーケンス図の説明をいったん中断し、第2のインストール処理の詳細について図6、7を用いて説明する。
(第2のインストール処理のフローチャート)
図7は第2のインストール処理を説明するフローチャートである。
図7は第2のインストール処理を説明するフローチャートである。
本処理は、S209でユーザーにより選択されたプリンターへ印刷要求するためのプリントキューが既にあればそれを選択し、なければ新しいプリントキューを作成する。
さらに、ユーザーの印刷出力先選択の作業を妨げないよう、新たにプリントキューが作成された場合は特定のアクセス権情報を設定して見えないようにする。
ドライバー管理部1262は、第2のインストール処理が開始して(S300)、プリンター102のアドレス情報(たとえば、IPアドレス)を取得する(S301)。
アドレス情報はプリンターの検索処理S207において取得されRAM112に記憶されているものを取り出す。
次に、ドライバー管理部1262は、OS122に登録されているすべてのプリントキューからプリントキューに関連付けられているポートのアドレス情報を取得する(S302〜S304)。
S302〜S304のステップは、各プリントキューに関し、プリントキュー構成情報211に含まれるポート情報から関連付けられたポートを特定し、特定されたポートのポート構成情報221に含まれるアドレス情報を取り出す。
次に、ドライバー管理部1262は、S209でユーザーにより選択された出力先となるプリンターのアドレス情報と、ポートのアドレス情報が合致するプリントキューが存在するかどうか判断する(S305)。
ドライバー管理部1262は、合致するプリントキューが存在すれば、新たにプリントキューを作成する必要がないのでそのプリントキューを印刷要求する対象として選択し(S306)、第2のインストール処理を終了する(S313)
ドライバー管理部1262は、合致するプリントキューが存在しない場合、プリンターのハードウェア情報を取得する(S307)。
ドライバー管理部1262は、合致するプリントキューが存在しない場合、プリンターのハードウェア情報を取得する(S307)。
本実施形態ではハードウェア情報として、プラグアンドプレイインストールに用いられるハードウェア情報を取得する。
ハードウェア情報はプリンターの検索処理S207において取得されRAM112に記憶されているものを取り出す。
次に、ドライバー管理部1262は、第1のインストール処理でインストールした専用プリンタードライバー129の中から、出力先となるプリンターのハードウェア情報に適合するものを決定する(S308)。
S308は、各プリンタードライバーに関し、プリンタードライバー構成情報201に含まれるハードウェア情報を取り出し、出力先となるプリンターのハードウェア情報と比較して一致するものを選択する。
本実施例で用いられるハードウェア情報はプラグアンドプレイの文字列情報であり、その文字列が一致すればハードウェア情報が一致したことと同意となる。
本実施例では、S105でプリンター102a、102b、...のすべてに対応する専用プリンタードライバー129をあらかじめ第1のインストール手段でOS122に組み込んでおくことを前提にしている。
ここでもし仮にS105ですべてのプリンタードライバーをインストールしない場合、特許文献1に言及されている方法を用いて、汎用的なプリンタードライバーを併用するか、外部のサーバーから適合するプリンタードライバーを取得する等の処理をしても良い。
次に、アドレス情報を元にプリンター102へ出力するためのポートを作成し(S309)、S308で決定されたプリンタードライバーのプリントキューを作成してポートを関連付ける(S310)。
次に、作成したプリントキューのプリントキュー構成情報201に含まれるアクセス権情報を特殊ユーザー以外アクセスできないように設定して(S311)、出力先として選択して(S312)、第2のインストール処理を終了する(S313)。
なお、S311のアクセス権情報の設定方法は、OSが提供する初期値を変更する方法であってもよいし、最初から特殊ユーザー以外アクセスできないアクセス権を設定する方法であってもよい。
(ユーザー、グループ、ならびにプリントキューの構成情報の例)
ここで、図8、図9を用いて、S311の特殊ユーザー以外アクセスできないようプリントキューのアクセス権情報を設定する処理について説明する。
ここで、図8、図9を用いて、S311の特殊ユーザー以外アクセスできないようプリントキューのアクセス権情報を設定する処理について説明する。
図8は、OS122におけるユーザーオブジェクト、グループオブジェクト、ならびにプリントキューのアクセス権情報の例を示したものである。
図8(a)はOS122に登録されているユーザーオブジェクトの例である。
ここではユーザーオブジェクトとして、user01、user02、printuserの3つが存在する。
このうち、printuserは第1のインストール処理で作成する特殊ユーザーのオブジェクトである。
OS122上のプログラムは、必ずいずれかのユーザーオブジェクトの権限下で実行される。
本実施例の場合、アプリケーション123はuser01の権限下で実行されており、アプリケーション123によって起動された仮想プリンタードライバー128、さらにプリントジョブマネージャーもuser01の権限下で実行される。
図8(b)はOS122に登録されているグループオブジェクトの例である。
グループオブジェクトはユーザーオブジェクトと同列のオブジェクトである。しかし、ユーザーオブジェクトとグループオブジェクトを関連付けることにより、どのユーザーオブジェクトがどのグループオブジェクトに属しているかという情報をOS122で管理できるようになる。
ここではグループオブジェクトとして、everyone、administratorsの2つが存在する。
everyoneはすべてのユーザーオブジェクト(user01、user02、printuser)が所属するグループオブジェクトである。
administratorsは管理者権限を持ったユーザーオブジェクト(user01、printuser)が所属するグループオブジェクトである。
図8(c)はOS122に登録されているプリントキューの例である。
Virtual Printer、Printer Aは図6では6001、6002でそれぞれ表現されている仮想プリンタードライバー128および専用プリンタードライバー129のプリントキューである。
Created Printer Bは第2のインストール処理のS310で作成されたプリントキューである。
各プリントキューはプリントキュー構成情報211を保持しており、図8(c)にはそのひとつであるアクセス権情報を示した。
プリントキュー構成情報211におけるアクセス権情報とは、プログラムがどのユーザー権限下で実行されているかによって、プリントキューに対する操作を許可するか拒否するかを決定するための情報である。
アクセス権情報はユーザーオブジェクトまたはグループオブジェクトのリストで表現される。
例えばVirtual Printerのアクセス権情報にはeveryoneが設定されている。
これはeveryoneグループオブジェクトに属するユーザー権限下でプログラムを実行している場合、Virutual Printerへのアクセスが可能という意味である。
everyoneグループオブジェクトにはすべてのユーザーオブジェクトが属しているので、つまり全ユーザー権限下のプログラムがVirutual Printerを使った印刷処理を行うことができる。
次のPrinter Aは、user01の権限下で、本実施例の係る処理とは別に作成されたプリントキューであるが、アクセス権情報にはeveryoneグループオブジェクトが設定されているので、これも全ユーザーオブジェクトが利用可能である。
最後のCreated Printer Bは第2のインストール処理中のS310で作成されたプリントキューであるが、プリンタードライバー管理部1282は、アクセス権情報には特殊ユーザーであるprintuserを設定する。
すなわち、S310で作成したプリントキューがCreated Printer Bであるとすると前述のS311の処理はCreated Printer Bのアクセス権にprintuserを設定することである。
S311により、OS122はprintuser権限で実行されたプログラムのみCreated Printer Bへのアクセスを許可し、それ以外のユーザーオブジェクト(例えばuser01も)のプログラムは拒否するようふるまうことになる。
S311のアクセス権情報の設定によって影響を受けるのが、前述のUI6000を表示したプリンターリストプログラム130である。以降、具体的なプリンターリストプログラム300の処理を説明する。
なお、プリンターリストプログラム130はOS122に組み込まれていても良いし、OS122上で動くOS122とは異なるプログラムであってもよい。
(プリンターリスト表示処理のフローチャート)
図9は本実施例に係るプリンターリスト表示処理を説明するフローチャートである。
図9は本実施例に係るプリンターリスト表示処理を説明するフローチャートである。
本実施形態の印刷処理S200において、アプリケーション123は、ユーザーからの印刷指示を受けて、プリンターリストプログラム130を起動する。
起動されると、プリンターリストプログラム130はUI6000にプリンターのプリントキューを表示するプリンターリスト表示処理を開始する(S400)。
まず、プリンターリストプログラム130は、プログラムを呼び出したユーザーオブジェクトの情報を取得する(S401)。
本実施形態の印刷処理はuser01の権限下で実行されるので、S401によって取得されるユーザーオブジェクト情報はuser01となる。
次に、プリンターリストプログラム130は、OS122に登録されているすべてのプリントキューに関して、処理を繰り返す(S402〜S406)。
すなわち、プリントキューのプリントキュー構成情報211のアクセス権情報を取得し、S401で取得したユーザーオブジェクトがアクセス可能かどうかを判断する(S403)。
アクセス権がある場合はS404に進んでプリンターのプリンター情報をリストに表示し、そうでなければ表示しない(S405)。
すべてのプリントキューについて繰り返したら処理を終了する(S407)。
以上、第2のインストール処理によって、特殊ユーザーのみアクセス可能なプリントキューが作成された場合に、再び本実施形態の印刷処理を実行しても、UI6000には作成されたプリントキューに対応するプリンター情報は表示されない。
いわば、「見えないプリントキュー」がOS122に作成され登録された状態となっており、本発明の課題であった、プリントキューの数が多すぎることによりユーザーが出力先の選択を困難に感じてしまう状態を回避できることになる。
以上で図8、図9の説明を終わり、再び図5に戻ってS212以降の処理を説明する。S212以降の説明で肝要な点は、特殊ユーザー以外アクセスできないプリントキューにいかに印刷指示を行うかである。
プリンター特定部1261は、第2のインストール処理が終了すると、プリンターリストのUI6100から、デスプール処理部1263が有する図6(c)の画面6200に遷移する(S212)。
遷移すると、デスプール処理部1263は、プレビューエリア6201に印刷ドキュメントを実際に印刷したときのイメージを表示する(S213)。
このとき表示されるイメージは、S204においてスプールされたEMF401をデスプール処理部1263が読み込み、解析して、プレビューエリア6201の大きさに合わせて描画したものである。
このとき表示されるイメージは、S204においてスプールされたEMF401をデスプール処理部1263が読み込み、解析して、プレビューエリア6201の大きさに合わせて描画したものである。
次に、デスプール処理部1263は、ユーザーによってボタン6204が押される入力を受けて、権限偽装を行ってから(S215)、デスプール処理を行う(S216)。
ここで、権限偽装とは、プログラムの実行権限を一時的にあるユーザーオブジェクトから別のユーザーオブジェクトへ変更する処理を意味する。
例えば、Microsoft(登録商標) Windows(登録商標)において権限偽装の処理は、まずLogonUserというAPIでユーザートークンを取得する。さらにそのユーザートークンをImpersonateLoggedOnUserというAPIに指定することで実現される。
本実施例においてはuser01から、printuserへ権限偽装して、実行権限を変更する。
続くデスプール処理S216というのは、スプール処理S204の逆で、S206にて通知された保存位置情報からEMF401データを読み出し、解析して、印刷描画命令を再現することである。
再現された印刷描画命令の出力先はいうまでもなく第2のインストール処理で選択された出力先のプリントキューである。
もし権限偽装S215を行わずにデスプール処理S216を行おうとすると、出力先であるプリントキューが第2のインストール処理で作成されたものであった場合user01の権限下ではOS122によってアクセスが拒否されてしまう。
したがってプログラムの実行権限を、権限偽装S215で一時的にprintuserに変更しておかなければならない。
専用プリンタードライバー129は、入力された印刷描画命令をPDL402に変換し、ネットワークI/F138を通じて印刷ジョブとしてプリンター102に送信する(S217)。
デスプール処理S216とそれに連動した専用プリンタードライバー129のPDL送信処理S217が終了したら、デスプール処理部1263は、偽装解除する(S218)。
偽装解除とは、プログラムの実行権限を権限偽装した状態から元の状態に戻すことを指し、Microsoft(登録商標) Windows(登録商標)ではRevertToSelfというAPIで実現される。
最後に、プリントジョブマネージャー126はプログラムを終了する。
ところで、図6(c)のスピンコントロール6202やチェックボックス6203はそれぞれ印刷部数、白黒印刷といった一般的な印刷設定を変更するための入力手段である。
また、ボタン6214は、専用プリンタードライバー129固有の印刷設定UI(不図示)を呼び出し、固有の印刷設定を変更するための入力手段である。
このような印刷設定の変更処理を行うにも、やはりプリントジョブマネージャー126が、対象となるプリントキューに対してアクセス権を有している必要がある。
したがって、これら印刷設定処理を実行する際も、その前後で権限偽装S215と偽装解除S218を行わなければならない。
以上、プリントキューのアクセス権情報を特殊ユーザー以外アクセスできないように設定することにより「見えないプリントキュー」を作成し、さらに「見えないプリントキュー」に対して印刷処理を行う技術について説明した。
ところで、作成されるプリントキューの数を増やさないようにすることだけを考慮すれば、プリントキューそのものを印刷処理の終了後に削除するというよりシンプルな手段も考えられる。
しかしながら、もし削除する手段を採用した場合、第2のインストール処理において毎回プリントキューを作成しなければならなくなる。
逆に本発明のように削除しなければ、プリントキューを作成することなく単に出力先として選択することが可能となる(S306に相当)。
プリントキューの作成処理は、一般的に時間がかかる処理であるため、毎回作成させるとS209〜212にかけてユーザーが操作できない時間が長くなり、効率が低下する。
したがって、出力先の選択を容易にすることと、ユーザー操作の効率を低下させないようにすることを両立させるには、本発明で開示した手段が最適といえる。
[第2の実施形態]
(システムの構成図)
次に、本発明を実施するための第2の形態について図面を用いて説明する。
(システムの構成図)
次に、本発明を実施するための第2の形態について図面を用いて説明する。
第1の形態は、ユーザーがホストコンピューター上で出力先を指定して印刷指示を行うシステムであった。
それに対し、第2の形態は、ユーザーがホストコンピューター上で印刷指示のみ行い、出力先の指定は、プリンターのそばに設置されたカードリーダーなどの認証ユニットで認証することによって行う、いわゆる認証プリントのシステムである。
図10(a)は、第2の形態に係るネットワークシステムの概略を示すブロック図である。
図10(a)に示すように、このネットワークシステムは、複数のホストコンピューター101a、101b、複数のプリンター102a、102b、複数の認証ユニット142a、142b、ICカード143、認証サーバー144を備える。
これらはネットワーク104を介して接続されている。
まず、システムを構成する各装置の詳細を説明する前に、システムの概要を印刷作業の流れに沿って説明する。
ユーザーによる印刷実行の指示を受けたホストコンピューター101aは、出力対象のプリンターを特定せずに印刷処理を実行し、投入された印刷ジョブを保持する(S140)。
次に、ユーザーがICカードをかざすことによって出力プリンター102a選択の合図を受信(S141)した認証ユニット142aは、ICカード143からICカード固有のIDを読み取り、認証サーバー144へIDを送る(S142)。
認証サーバー144は、受信したIDと関連付けられたホストコンピューター101aへプリンター102aのネットワークアドレスを送る(S143)。
ホストコンピューター101aは、受信したプリンター102aのネットワークアドレスに対し、保持しておいた印刷ジョブをレンダリングして出力する(S144)。
次に、図10(a)のシステムを構成する各装置の詳細を順に説明していく。
(認証ユニット142aについて)
認証ユニット142aは、出力プリンターを特定し、認証プリントを実行するための端末である。
認証ユニット142aは、出力プリンターを特定し、認証プリントを実行するための端末である。
認証ユニットは、出力プリンターとペアで存在する必要があり、図10(a)において、プリンター102aには認証ユニット142a、プリンター102bには認証ユニット142bという具合に関連付けがされている。
プリンターと認証ユニットの関連付けに関しては認証ユニットにその情報を記憶させることによっても実現可能ではあるが、本実施形態においては、後述する認証サーバー144によって実現している。
(認証ユニット142aの装置構成)
図10(b)は、認証ユニット142の概略的な構成の一例を示すブロック図である。
図10(b)は、認証ユニット142の概略的な構成の一例を示すブロック図である。
図10(b)に示すように、認証ユニット142は、CPU1421、設定情報記憶部認証部1422、設定情報記憶部1423、ネットワークI/F1424、ローカルI/F1425を備える。
認証ユニット142は、これら各々の機能部を、システムバス1427により互いに接続して構成する。
さらに、ローカルI/F1425にICカードリーダー1426を接続して構成する。
CPU1421は、認証ユニット142全体の制御を司る中央演算処理部である。
設定情報記憶部1422は、認証ユニット142の初期設定時に入力される認証サーバー144のネットワークアドレスを記憶しておく。
ICカードリーダー1426は、ICカードから一意な識別情報を読み取る。
ここでは、ICカードリーダー1426は、FeliCa(登録商標)のような非接触式ICカードに対応した読み取り機器を想定しているが、この技術に限定されるものではなく、一意な識別情報の入力が可能ならば他の実現方法であっても構わない。
例えば、ICカードリーダーの代わりに指紋センサー等の生体認証センサーを設置するという方法もある。
なお、このICカードリーダー1426が、直接システムバス1427に接続されずローカルI/F1425を介して接続されているのは、認証手段を柔軟に変更できるようにするためである。
認証部1423は、ICカードリーダー1426を介して取得するIDを、ネットワークI/F1424を介して、認証サーバー144へ送る。
(プリンター102について)
プリンター102の構成は、図1(b)で説明した通りである。
プリンター102の構成は、図1(b)で説明した通りである。
なお、認証ユニット142はプリンター102を特定するためにあるので、通常、認証ユニットとプリンターは物理的に接近して設置される。
本実施形態においては、プリンターと認証ユニットを分けて構成しているが、認証ユニット相当の機能を包含するプリンターがあってもかまわない。
(認証サーバー144について)
認証サーバー144は、図11(a)に示す、ICカードのIDと、ホストコンピューターのネットワークアドレスの第1組み合わせ情報を記憶している。
認証サーバー144は、図11(a)に示す、ICカードのIDと、ホストコンピューターのネットワークアドレスの第1組み合わせ情報を記憶している。
さらに認証サーバー144は、図11(b)に示す、認証ユニットのネットワークアドレスと出力デバイスのネットワークアドレスの第2組み合わせ情報も記憶している。
認証サーバー144が図11(a)の情報と図11(b)の情報を一元管理することによって、ホストコンピューターとプリンターと認証ユニットを連携させた認証プリントが実現されている。
認証サーバー144は、認証ユニット142aからICカード143のIDを受信する。その結果、図11(a)の第1組み合わせ情報からID(162696509400678657に関連付けられたホストコンピューター101aのネットワークアドレス(192.168.0.2)を得る。
さらに、認証サーバー144は、IDを受信した際に認証ユニット120aのネットワークアドレス(192.168.0.16)も同時に受信している。よって、図11(b)の第2組み合わせ情報から、認証ユニット142aに関連付けられたプリンター102aのネットワークアドレス(192.168.0.48)を得る。
最後に、認証サーバー144は、こうして得られたプリンター102aのネットワークアドレス(192.168.0.48)をホストコンピューター101aに送信し、ホストコンピューター101aからプリンター102aへ印刷ジョブの送信を促す。
(ホストコンピューター101)
ホストコンピューター101の構成は、図1(b)で説明した通りである。
ホストコンピューター101の構成は、図1(b)で説明した通りである。
なお、第1の実施形態において印刷処理やインストール処理などを含む中心的な役割を担ったのがプリントジョブマネージャー126であったのに対し、第2の実施形態では認証ジョブマネージャー127が主な処理を担う。
(図12のシーケンス図の説明)
以下、図12のシーケンス図を用いて、第2の実施形態に係る、認証ジョブマネージャー127を中心とした印刷処理関連プログラム間で行われる印刷処理(S500〜)を説明する。
以下、図12のシーケンス図を用いて、第2の実施形態に係る、認証ジョブマネージャー127を中心とした印刷処理関連プログラム間で行われる印刷処理(S500〜)を説明する。
前提として、印刷処理の前に、第1のインストール処理と同様のセットアップがホストコンピューター101aで行われているものとする。具体的にはS104のプリントジョブマネージャー126をインストールする代わりに、認証ジョブマネージャー127をインストールしておく。
第2の実施形態の印刷処理のうち、S500〜S506までのアプリケーション123と仮想プリンタードライバー128による印刷処理は、第1の実施形態で述べたS200〜S206までの処理とそれぞれ同様である。
唯一異なるのは、S202において起動されるプログラムがプリントジョブマネージャー126であったのに対し、S502で起動されるのは認証ジョブマネージャー127である点のみである。
認証ジョブマネージャー127が有する内部コンポーネントはプリントジョブマネージャー126と同じく3つあり、プリンタードライバー管理処理部1262とデスプール処理部1263の2つは両者で共通である。
残り1つの通信処理部1301は、認証ジョブマネージャー127特有の内部コンポーネントで、認証ユニット142との通信や、プリンタードライバー管理処理部1262とデスプール処理部1263の制御を行う。
認証ジョブマネージャー127がS502において起動されると、通信処理部1301は受信待機処理を実行する(S507)。
受信待機処理とは、すなわち、認証サーバー144が送信する情報を受信できるよう、ホストコンピューター101のネットワークI/F118を制御する処理である。
ネットワークI/F118の制御はOS122が提供するAPIの機能によって実現される。APIの例としてはWinsockなどがある。
EMFのメモリ位置が通知され(S506)、受信待機処理が実行されると、ユーザーによる認証操作が行われるまでジョブがホストコンピューター101上で留め置かれ、待機状態に入る(S507)。
次に、認証ユニット142は、ユーザーによってICカード143を使った認証操作が行われると(S141)、カードIDを読み取り、カードID情報を認証サーバー144に送信する(S142)。
次に認証サーバー144は、記憶した組み合わせ情報を元に得た出力先のプリンター102のネットワークアドレスを、ホストコンピューター101に送信する(S143)。
S141〜S143の処理の詳細についてはすでに図10(a)、(b)を用いて述べたとおりである。
次に認証ジョブマネージャー127の通信処理部1301は、認証サーバー144から出力先のプリンター102のネットワークアドレスを受信すると、出力先プリンター情報取得処理を行う(S508)。
出力先プリンター情報取得処理S508とは、S207のプリンターの検索処理と同様の処理をひとつのプリンター102に対して行うものである。
S207は周辺のネットワークを探索するブロードキャストなどの通信方法によって、SNMPプロトコルによりプリンターのハードウェア情報などを取得するものであったが、S508はプリンター102からのみハードウェア情報を取得する処理である。
次の通信処理部1301による第2のインストール処理依頼(S509)およびプリンタードライバー管理処理部1262による第2のインストール処理(S510)は、第1の実施形態で述べたS210およびS211と同様である。
すなわち、第2のインストール処理でプリントキューを作成した場合に特殊ユーザーのみ作成したプリントキューにアクセスが可能となるように該当プリントキューのアクセス権情報の設定を行う。
通信処理部1301は、S510によって専用プリンタードライバーのインストールが完了したら、デスプール処理部1263に対して印刷開始指示を行う(S511)。
以降のデスプール処理部1263によるS512〜S515の処理は、第1の実施形態におけるS215〜S218とそれぞれ同一である。
すなわち、特殊ユーザーに権限偽装し(S512)、デスプール処理で中間データを描画命令として再現し(S513)、PDLデータを生成して送信し(S514)、偽装解除する(S515)という一連の処理は同一である。
このようにして、第2の実施形態における認証プリントシステムにおいても、「見えないプリントキュー」を作成することにより、UI6000で出力先を選ぶ際に出力先が多すぎて選択が困難になるという問題を回避することが可能となる。
[第3の実施形態](図13、14)
次に、本発明を実施するための第3の実施形態について図面を用いて説明する。
次に、本発明を実施するための第3の実施形態について図面を用いて説明する。
図13は管理ユーティリティ131が表示するUI7000の例を示す図である。
第1および第2の実施形態で述べたとおり、第2のインストール処理によって作成されるプリントキューは、特殊ユーザー以外アクセスできないようアクセス権情報が設定されているため、UI6000には出力先として表示されない。
プリントキューが表示されない状態が維持されることによって、UI6000における出力先選択の作業が容易になるが、一方で、頻繁に利用するプリンター102が存在する場合、対応するプリントキューがUI6000に表示された方が便利な場合もある。
そこで、管理ユーティリティ131は、第2のインストール処理によって作成された見えないプリントキューを見えるようにする手段を提供する。
管理ユーティリティ131は、第1のインストール処理において仮想プリンタードライバー128などとともにホストコンピューター101にインストールされ、ユーザーからの任意の起動要求に応じて起動される管理プログラムである。
管理ユーティリティ131が起動されると、図14(a)のフローチャートで示すプリントキュー表示処理(S700〜)が開始される。
管理ユーティリティ131は、特殊ユーザーしかアクセスできないプリントキューを含めてプリントキューの一覧を取得するため、まず特殊ユーザーに権限偽装する(S701)。
次に、管理ユーティリティ131は、プリントキューの一覧を取得する(S702)。
S702で管理ユーティリティ131が取得する情報にはプリントキューの名前、特殊ユーザー自身のアクセス権やuser01等の特殊ユーザー以外のユーザーオブジェクトのアクセス権が含まれる。
最後に、管理ユーティリティ131は、偽装解除して(S703)、処理を終了する(S704)。
図14(a)の処理が終了すると、7001のリストにはプリントキューの一覧が、名前の情報と、隠されているかどうかの情報とともに表示される。
隠されているかどうかとは、すなわち特殊ユーザーしかアクセスできないようになっているかどうかを意味する。
第2のインストール手段によって追加されたプリントキューであれば「はい」と、そうでなければ「いいえ」と表示される。
プリントキューに対する管理操作は、7002のカーソルでプリントキューを選択した状態で7003のボタンを押すことにより行われる。
7003のボタンは選択されたプリントキューが隠されている場合(「はい」のとき)のみ入力することができる。
ボタン7003が入力されると、図14(b)のフローチャートで示すプリントキュー管理処理(S600〜)が開始される。
管理ユーティリティ131は、特殊ユーザーしかアクセスできないプリントキューのアクセス権情報を変更するので、まず特殊ユーザーに権限偽装する(S601)。
次に、管理ユーティリティ131は、アクセス権情報を任意のユーザーオブジェクトがアクセス可能なように変更する(S602)。
図8の例で言えば、Created Printer Bのアクセス権情報をprintuserからeveryoneに変更する。
最後に、管理ユーティリティ131は、偽装解除して(S603)、処理を終了する(S604)。
以上、図13および図14を用いて述べたように、プリントキュー管理処理によって、ユーザーは見えなくなったプリントキューを見えるようにでき、出力先の指定方法を柔軟に変更することが可能となる。
[他の実施例]
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
Claims (12)
- 第1のプリントキューを作成する通常作成手段と、
前記通常作成手段の作成する前記第1のプリントキューに対応するプリンタードライバーが動作することにより第2のプリントキューを作成する仮想作成手段と、を有し、
プリンターに関する情報であるプリンター情報を表示する表示部は、前記通常作成手段が作成する前記第1のプリントキューに対応するプリンターのプリンター情報を表示し、前記仮想作成手段が作成する前記第2のプリントキューに対応するプリンターのプリンター情報を表示しないことを特徴とする情報処理装置。 - 前記仮想作成手段は前記第2のプリントキューのアクセス権に関する情報であるアクセス権情報を特定のアクセス権に設定し、前記表示部は前記第2のプリントキューの前記特定のアクセス権を有していないことにより前記第2のプリントキューに対応する前記プリンターの前記プリンター情報を表示しないことを特徴とする請求項1に記載の情報処理装置。
- 前記特定のアクセス権で動作して前記第2のプリントキューに対応する前記プリンターを用いて印刷する指示を受け付ける印刷受付手段と、を有することを特徴とする請求項2に記載の情報処理装置。
- プリントキューに対応するプリンターのプリンター情報を前記表示部に表示させる指示を受け付ける受付手段と、
前記受付手段が前記指示を受け付けることにより前記第2のプリントキューに対応する前記プリンターの前記プリンター情報を前記表示部が表示するように前記第2のプリントキューを変更する変更手段と、を有し、
前記表示部は前記変更手段が変更する前記第2のプリントキューに対応する前記プリンターの前記プリンター情報を表示することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。 - 第1のプリントキューを作成する通常作成工程と、
前記通常作成工程の作成する前記第1のプリントキューに対応するプリンタードライバーが動作することにより第2のプリントキューを作成する仮想作成工程と、を有し、
プリンターに関する情報であるプリンター情報を表示する表示部は、前記通常作成工程が作成する前記第1のプリントキューに対応するプリンターのプリンター情報を表示し、前記仮想作成工程が作成する前記第2のプリントキューに対応するプリンターのプリンター情報を表示しないことを特徴とする制御方法。 - 前記仮想作成工程は前記第2のプリントキューのアクセス権に関する情報であるアクセス権情報を特定のアクセス権に設定し、前記表示部は前記第2のプリントキューの前記特定のアクセス権を有していないことにより前記第2のプリントキューに対応する前記プリンターの前記プリンター情報を表示しないことを特徴とする請求項5に記載の制御方法。
- 前記特定のアクセス権で動作して前記第2のプリントキューに対応する前記プリンターを用いて印刷する指示を受け付ける印刷受付工程と、を有することを特徴とする請求項6に記載の制御方法。
- プリントキューに対応するプリンターのプリンター情報を前記表示部に表示させる指示を受け付ける受付工程と、
前記受付工程が前記指示を受け付けることにより前記第2のプリントキューに対応する前記プリンターの前記プリンター情報を前記表示部が表示するように前記第2のプリントキューを変更する変更工程と、を有し、
前記表示部は前記変更工程が変更する前記第2のプリントキューに対応する前記プリンターの前記プリンター情報を表示することを特徴とする請求項5乃至7のいずれか1項に記載の制御方法。 - コンピュータを
第1のプリントキューを作成する通常作成手段、
前記通常作成手段の作成する前記第1のプリントキューに対応するプリンタードライバーが動作することにより第2のプリントキューを作成する仮想作成手段、として機能させ、
プリンターに関する情報であるプリンター情報を表示する表示部は、前記通常作成手段が作成する前記第1のプリントキューに対応するプリンターのプリンター情報を表示し、前記仮想作成手段が作成する前記第2のプリントキューに対応するプリンターのプリンター情報を表示しないことを特徴とするプログラム。 - 前記仮想作成手段は前記第2のプリントキューのアクセス権に関する情報であるアクセス権情報を特定のアクセス権に設定し、前記表示部は前記第2のプリントキューの前記特定のアクセス権を有していないことにより前記第2のプリントキューに対応する前記プリンターの前記プリンター情報を表示しないことを特徴とする請求項9に記載のプログラム。
- コンピュータを、
前記特定のアクセス権で動作して前記第2のプリントキューに対応する前記プリンターを用いて印刷する指示を受け付ける印刷受付手段、として機能させることを特徴とする請求項10に記載のプログラム。 - コンピュータを、
プリントキューに対応するプリンターのプリンター情報を前記表示部に表示させる指示を受け付ける受付手段、
前記受付手段が前記指示を受け付けることにより前記第2のプリントキューに対応する前記プリンターの前記プリンター情報を前記表示部が表示するように前記第2のプリントキューを変更する変更手段、として機能させ、
前記表示部は前記変更手段が変更する前記第2のプリントキューに対応する前記プリンターの前記プリンター情報を表示することを特徴とする請求項9乃至11のいずれか1項に記載のプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011229135A JP2013089045A (ja) | 2011-10-18 | 2011-10-18 | 情報処理装置、制御方法、及びプログラム |
US13/652,792 US9367266B2 (en) | 2011-10-18 | 2012-10-16 | Information processing apparatus, control method, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011229135A JP2013089045A (ja) | 2011-10-18 | 2011-10-18 | 情報処理装置、制御方法、及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013089045A true JP2013089045A (ja) | 2013-05-13 |
Family
ID=48085798
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011229135A Pending JP2013089045A (ja) | 2011-10-18 | 2011-10-18 | 情報処理装置、制御方法、及びプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US9367266B2 (ja) |
JP (1) | JP2013089045A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020123243A (ja) * | 2019-01-31 | 2020-08-13 | ブラザー工業株式会社 | サポートプログラム、情報処理装置、および印刷方法 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013235383A (ja) * | 2012-05-08 | 2013-11-21 | Canon Inc | 情報処理装置、制御方法、及びプログラム |
US9990217B2 (en) * | 2012-05-31 | 2018-06-05 | Red Hat, Inc. | Hypervisor printer emulation for virtual machines |
JP6470635B2 (ja) * | 2015-05-29 | 2019-02-13 | キヤノン株式会社 | 情報処理装置、情報処理方法 |
JP6907851B2 (ja) * | 2017-09-15 | 2021-07-21 | ブラザー工業株式会社 | 制御プログラム |
US10592836B2 (en) * | 2017-09-22 | 2020-03-17 | Kabushiki Kaisha Toshiba | System and method for queueing and printing electronically fillable form print jobs |
US10949134B2 (en) * | 2018-01-19 | 2021-03-16 | Canon Kabushiki Kaisha | Client apparatus, control method, and storage medium |
CN110096241A (zh) * | 2018-01-31 | 2019-08-06 | 京瓷办公信息系统株式会社 | 图像形成系统及图像形成方法 |
JP7073945B2 (ja) * | 2018-06-28 | 2022-05-24 | 株式会社リコー | 情報処理装置、情報処理システム、情報処理方法、及びプログラム |
JP7309348B2 (ja) * | 2018-11-30 | 2023-07-18 | キヤノン株式会社 | プログラム及び制御方法 |
JP7224877B2 (ja) * | 2018-11-30 | 2023-02-20 | キヤノン株式会社 | 情報処理装置およびプログラム |
JP7422463B2 (ja) | 2020-01-31 | 2024-01-26 | キヤノン株式会社 | プログラム、及び情報処理装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7304753B1 (en) * | 1999-03-11 | 2007-12-04 | Electronics For Imaging, Inc. | Systems for print job monitoring |
US9007603B2 (en) * | 2006-03-31 | 2015-04-14 | Konica Minolta Laboratory U.S.A., Inc. | Print management method and apparatus with destination panel |
JP4994814B2 (ja) * | 2006-12-05 | 2012-08-08 | キヤノン株式会社 | 画像処理装置及びその制御方法 |
JP5489619B2 (ja) | 2009-09-29 | 2014-05-14 | キヤノン株式会社 | 情報処理装置及びその方法 |
-
2011
- 2011-10-18 JP JP2011229135A patent/JP2013089045A/ja active Pending
-
2012
- 2012-10-16 US US13/652,792 patent/US9367266B2/en not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020123243A (ja) * | 2019-01-31 | 2020-08-13 | ブラザー工業株式会社 | サポートプログラム、情報処理装置、および印刷方法 |
JP7255209B2 (ja) | 2019-01-31 | 2023-04-11 | ブラザー工業株式会社 | サポートプログラム、情報処理装置、および印刷方法 |
Also Published As
Publication number | Publication date |
---|---|
US20130094045A1 (en) | 2013-04-18 |
US9367266B2 (en) | 2016-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2013089045A (ja) | 情報処理装置、制御方法、及びプログラム | |
JP5697486B2 (ja) | 印刷中継サーバ、印刷中継サーバを制御する制御方法、その制御方法のプログラム、および印刷処理方法 | |
JP5955041B2 (ja) | 印刷システム及びその方法 | |
US8850459B2 (en) | Information processing apparatus, information processing method, and program | |
JP4623469B2 (ja) | プリントサーバおよびプリントシステムおよびプリント方法およびプログラムおよび記録媒体 | |
JP5336819B2 (ja) | 情報処理装置及び印刷制御方法 | |
US8451463B2 (en) | Information processing apparatus and information processing method | |
US7907313B2 (en) | Management of multiple printer drivers | |
US8587811B2 (en) | Information processing apparatus and method thereof | |
US20110075177A1 (en) | Image forming apparatus and method thereof | |
EP2629192A2 (en) | Information processing apparatus, information processing method, and program | |
US20110075207A1 (en) | Information processing apparatus and method thereof | |
JP2003131839A (ja) | ネットワークシステム、情報処理装置、情報処理方法、及び、制御プログラム | |
JP2020004158A (ja) | 情報処理装置、情報処理装置の制御方法、及びプログラム | |
JP2015232755A (ja) | 情報処理装置、印刷装置、情報処理装置のドライバ処理方法、印刷装置のドライバ処理方法、及びプログラム | |
US8688864B2 (en) | Information processing apparatus, information processing method, and information processing program | |
JP7102216B2 (ja) | プログラム | |
JP2015230710A (ja) | 情報処理装置及びプログラム、制御方法 | |
JP2005258924A (ja) | 情報処理装置及びその制御方法、及び画像形成システム | |
JP2011257881A (ja) | 印刷制御装置及びその表示方法 | |
JP2014174679A (ja) | 情報処理装置及びその方法 | |
JP5361482B2 (ja) | 情報処理装置、ネットワーク設定方法、及びプログラム | |
JP2016099753A (ja) | 端末装置、プリンタ制御方法、およびコンピュータプログラム | |
JP2015232754A (ja) | 情報処理装置、データ処理装置、印刷装置、情報処理装置のドライバ処理方法、データ処理装置のドライバ処理方法、印刷装置のドライバ処理方法、及びプログラム | |
JP7455613B2 (ja) | 情報処理装置、その制御方法、並びにプログラム |