JP2014203268A - 情報処理装置及び制御方法 - Google Patents
情報処理装置及び制御方法 Download PDFInfo
- Publication number
- JP2014203268A JP2014203268A JP2013078988A JP2013078988A JP2014203268A JP 2014203268 A JP2014203268 A JP 2014203268A JP 2013078988 A JP2013078988 A JP 2013078988A JP 2013078988 A JP2013078988 A JP 2013078988A JP 2014203268 A JP2014203268 A JP 2014203268A
- Authority
- JP
- Japan
- Prior art keywords
- identification information
- driver
- environment
- control application
- peripheral device
- 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/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1229—Printer resources management or printer maintenance, e.g. device status, power levels
- G06F3/123—Software or firmware update, e.g. device firmware management
-
- 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
-
- 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/1225—Software update, e.g. print driver, modules, plug-ins, fonts
-
- 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
- G06F3/1289—Remote printer device, e.g. being remote from client or server in server-client-printer device configuration, e.g. the server does not see the printer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device 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/1229—Printer resources management or printer maintenance, e.g. device status, power levels
- G06F3/1231—Device related settings, e.g. IP address, Name, Identification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
- Facsimiles In General (AREA)
Abstract
【課題】従来、柔軟にデバイスドライバーとは異なるデバイス制御アプリケーションが、ユーザーに対して容易に提供できる仕組みが無かった。
【解決手段】本発明は、第1のUI環境(タッチパネルUI)と、該第1のUI環境とは異なる第2のUI環境とを提供するOSが実行される情報処理装置であって、前記第1のUI環境が提供されている際に通信ネットワークに接続された周辺機器の識別情報が取得された場合、該識別情報を利用して、前記第1のUI環境で動作するアプリケーションを管理するサービスから、前記周辺機器を制御するためのデバイス制御アプリケーションを取得することを特徴とする。
【選択図】図12
【解決手段】本発明は、第1のUI環境(タッチパネルUI)と、該第1のUI環境とは異なる第2のUI環境とを提供するOSが実行される情報処理装置であって、前記第1のUI環境が提供されている際に通信ネットワークに接続された周辺機器の識別情報が取得された場合、該識別情報を利用して、前記第1のUI環境で動作するアプリケーションを管理するサービスから、前記周辺機器を制御するためのデバイス制御アプリケーションを取得することを特徴とする。
【選択図】図12
Description
本発明は、例えばコンピューターに接続されたプリンターなどの周辺機器を利用するために、適切なデバイスドライバーもしくはデバイス制御アプリケーション等をインストールする技術に関する。
コンピューターにプリンター等の周辺機器を接続した際に接続された機器を利用するためのデバイスドライバーをコンピューターに組み込む技術として、Plug and Play(プラグアンドプレイ)がよく知られている。
プラグアンドプレイ技術を採用することで、ユーザーは周辺機器を利用するための煩雑なデバイスドライバーのインストール作業や設定の作業から解放され、利便性が格段に向上する。
米国マイクロソフト社のオペレーティングシステム(以降、OSと呼ぶ)であるWindows(登録商標)がプリンター向けに行うプラグアンドプレイはユニバーサルシリアルバス(USB)やWeb Service on Devices(WSD)のインターフェイスを介してプリンターから識別情報を取得する。取得した識別情報を元にOSは最適なデバイスドライバーを探し出し、デバイスドライバーをインストールし、プリンターを検知した接続先を出力先に設定する動作を行う。
このWindows OSのプラグアンドプレイでは、プリンターからプリンターのモデル識別情報(MDL)を取得し、モデル識別情報(MDL)に対応するプリンタードライバーを探し、インストールを行い、出力先ポートの設定を行う機能を提供する。もし、モデル識別情報(MDL)に対応するプリンタードライバーが見つからなければ、プリンターの互換識別情報(CID)を取得し、この互換識別情報(CID)に対応するプリンタードライバーを探し、インストールを行い、出力先ポートの設定を行う。
この様にすることで、プリンターのモデル識別情報(MDL)に応じたモデル毎のプリンタードライバーを優先的にインストールすることができる。もし、モデル毎のプリンタードライバーが見つからないのであれば、互換識別情報(CID)に応じた各プリンターファミリーやクラスに対して共通なプリンタードライバーを導入することになる。
尚、上記のようなオペレーティングシステムの提供するプラグアンドプレイシステムを利用した先行技術として、特許文献1に示すような技術も存在する。この特許文献1ではプリンターが他のプリンターを検索する。その際、共通プリンタードライバー向けの機器IDが設定されているプリンターが見つかった場合に、共通プリンタードライバー向けの機器IDをプラグアンドプレイの機器ID要求に応答することについて記載されている。この先行技術例ではプリンター側でプラグアンドプレイ要求に応答する機器IDを共通プリンタードライバー向けの機器IDに書き換えることで、インストールされるプリンターを制御する例について述べられている。
また、近年では、携帯電話などのモバイル機器やタブレットなど、タッチパネルしか持たない画面の小さなデバイスも多い。そこで、OSは、新たなユーザーインターフェース(UI)環境として、タッチパネルの操作に最適化されたUI環境(以降、タッチパネル用UIと呼ぶ)を持つようになってきている。タッチパネルに最適なタッチパネル用UIは、ユーザーの指で操作しやすいようなボタン配置になっている。一方で、マウスやキーボードにより選択指示などを行っていた従来までのUI環境のことを、デスクトップUIと呼ぶ。また、タッチパネル用UIからデスクトップUIへ手動により表示を切り替えられるように構成されたOSも出てきている。このようなOS上で動作するアプリケーションを作成するには、それぞれのUI向けに異なるパッケージを用意する必要がある。
一方、デスクトップUI用に設計されているプリンタードライバーに関しては、タッチパネル用UIのアプリケーションからの印刷要求時でもそのプリンタドライバーが使用可能となるよう、OSが互換性を持たせている。これによってユーザーは、タッチパネル用UIをもつ新たなOSの環境においても、従来のUI環境であるデスクトップUI用に作成された従来のプリンタードライバーを使用して、印刷を行なうことができる。
モデル識別情報(MDL)に紐付けられ各プリンターのモデル毎に提供されるプリンタードライバーを「スペシフィックドライバー」と呼ぶことにする。また、互換識別情報(CID)に紐付けられ該当プリンターのファミリーやクラスに対して共通なプリンタードライバーを「クラスドライバー」と呼ぶことにする。またタッチパネル用UIで動作するアプリケーションとして作成された、プリントやスキャンやファックスの機能をもつ周辺機器を利用し、また制御するためのアプリケーションを「デバイス制御アプリ」と呼ぶことにする。背景技術で述べたように、モデル識別情報(MDL)に対応するスペシフィックドライバーが見つからない場合、互換識別情報(CID)に対応するクラスドライバーを導入するプラグアンドプレイの仕組みは既に提供されている。この仕組みを利用することで、プラグアンドプレイでスペシフィックドライバーが見つからない場合であっても、適切なクラスドライバーをインストールすることが可能になった。また、簡便なユーザー操作で必要なプリンタードライバーをインストールすることが可能になった。
しかしながら、プラグアンドプレイの仕組みで導入されるスペシフィックドライバーやクラスドライバーは、背景技術記載のタッチパネル用UIに最適なプリンタードライバーではない。例えば、従来、プリンタードライバーが有しているセキュアプリント機能や部門管理機能などの機能を用いた印刷に際してユーザー情報を確認するような機能に関するUIはタッチパネル用UIには提供されない。また印刷時にダイアログをポップアップしてユーザーの入力を促すようなポップアップUIは、従来のUI環境であるデスクトップUI上に表示する必要がある等の機能制限がある。
タッチパネル用UI向けに作成されたデバイス制御アプリにおいては前記のような制限事項はない。しかしながら、デバイス制御アプリを導入するための簡易的な仕組み例えばプラグアンドプレイのような仕組みは存在しないため、ユーザー自らが各プリンターのモデルに対応したデバイス制御アプリのインストール作業を行う必要があるとの課題がある。
よって、本発明は上記従来の技術に鑑みてなされたもので、情報処理装置におけるUI環境などの様々な条件を考慮しつつ、柔軟にデバイス制御アプリを容易にユーザーに提供できる仕組みを構築することを目的とする。
上記課題を解決するために、本発明は、例えば、第1のユーザーインターフェイス(UI)環境と、該第1のUI環境とは異なる第2のUI環境とを提供するオペレーティングシステム(OS)が実行される情報処理装置であって、通信ネットワークに接続された周辺機器から該周辺機器の識別情報を取得する第1の取得手段と、前記第1のUI環境が提供されている際に前記第1の取得手段により前記周辺機器の識別情報が取得された場合、該識別情報を利用して、前記第1のUI環境で動作するアプリケーションを管理するサービスから、前記周辺機器を制御するためのデバイス制御アプリケーションを取得する第2の取得手段と、を有することを特徴とする。
本発明によれば、UI環境などの様々な条件を考慮しつつ、柔軟にデバイス制御アプリを容易にユーザーに提供できる。
(第1実施形態)
以下、本発明を実施するための最良の形態について図面を用いて説明する。図1は本発明のシステム構成の一例を示すブロック図である。図1において、プリンタードライバーおよびデバイス制御アプリケーション(以降、デバイス制御アプリ)のインストールに係るシステムは、周辺機器、クライアントコンピューター102、サーバコンピューター104で構成される。本発明では、周辺機器の一例として、具体的にプリンター100を挙げて説明を行う。本発明が適用可能な周辺機器の例としては、他にもスキャナーや複写機や複合機などといった機器が挙げられる。プリンター100とクライアントコンピューター102は双方向通信が可能な接続媒体101を介して、クライアントコンピューター102とサーバコンピューター104はインターネットあるいはイントラネット等の通信可能な接続媒体(通信ネットワーク)103を介して接続されている。なお、サーバコンピューター104は複数存在していても構わない。
以下、本発明を実施するための最良の形態について図面を用いて説明する。図1は本発明のシステム構成の一例を示すブロック図である。図1において、プリンタードライバーおよびデバイス制御アプリケーション(以降、デバイス制御アプリ)のインストールに係るシステムは、周辺機器、クライアントコンピューター102、サーバコンピューター104で構成される。本発明では、周辺機器の一例として、具体的にプリンター100を挙げて説明を行う。本発明が適用可能な周辺機器の例としては、他にもスキャナーや複写機や複合機などといった機器が挙げられる。プリンター100とクライアントコンピューター102は双方向通信が可能な接続媒体101を介して、クライアントコンピューター102とサーバコンピューター104はインターネットあるいはイントラネット等の通信可能な接続媒体(通信ネットワーク)103を介して接続されている。なお、サーバコンピューター104は複数存在していても構わない。
<コンピューターの構成>
図2は代表的なクライアントコンピューター102である情報処理装置の構成を示すブロック図である。クライアントコンピューター102はCPU1によって制御される。CPU1はROM3に記憶された基本入出力システム(BIOS制御プログラム)や外部メモリ11に記憶されたオペレーティングシステム(OS)や各種アプリケーションプログラムなどをRAM2にロードし、実行することが可能である。外部メモリ11は外部メモリーインターフェイス7を介してバス4に接続されている。クライアントコンピューター102にはユーザーからの入力を受けるキーボード9や処理の結果を画像としてユーザーに表示するためのディスプレイ10が接続されている。キーボードやディスプレイはそれじれキーボードインターフェイス5、ディスプレイインターフェイス6を介してバス4に接続されている。更に、他情報機器やプリンターなどの機器と通信を行うためのネットワーク・プリンターI/F8を備える。
図2は代表的なクライアントコンピューター102である情報処理装置の構成を示すブロック図である。クライアントコンピューター102はCPU1によって制御される。CPU1はROM3に記憶された基本入出力システム(BIOS制御プログラム)や外部メモリ11に記憶されたオペレーティングシステム(OS)や各種アプリケーションプログラムなどをRAM2にロードし、実行することが可能である。外部メモリ11は外部メモリーインターフェイス7を介してバス4に接続されている。クライアントコンピューター102にはユーザーからの入力を受けるキーボード9や処理の結果を画像としてユーザーに表示するためのディスプレイ10が接続されている。キーボードやディスプレイはそれじれキーボードインターフェイス5、ディスプレイインターフェイス6を介してバス4に接続されている。更に、他情報機器やプリンターなどの機器と通信を行うためのネットワーク・プリンターI/F8を備える。
なお、サーバコンピューター104も図2で説明したクライアントコンピューター102と同様のハードウェア構成を持つ単独のサーバ装置あるいはクラスターサーバー装置として構成される。
<プリンターの構成>
図3は周辺機器(プリンター100)の構成を示すブロック図である。プリンター100はCPU12により制御される。CPU12はROM14に記憶された制御プログラムへ外部メモリ22に格納された各種プログラムをRAM13にロードし、実行することが可能である。CPU12は制御プログラムの動作に基づいて入出力部16を介して入力された印刷データを画像信号に変換し、印刷部インターフェイス17を介して印刷部20に出力することで印刷することが可能である。またCPU12は制御プログラムの動作に基づいて入出力部16を介して入力された各種応答要求に対して、処理した結果を入出力部16から出力する。尚、プリンター100には操作部21が接続され、ユーザーからの直接の入力を受け付けることも可能になっている。周辺機器としては、他にもスキャナーやコピー機、FAX装置などが挙げられる。なおこれら構成要素はバス15に接続されており、外部メモリ22は外部メモリーインターフェイス18を介してバス15に接続されている。
図3は周辺機器(プリンター100)の構成を示すブロック図である。プリンター100はCPU12により制御される。CPU12はROM14に記憶された制御プログラムへ外部メモリ22に格納された各種プログラムをRAM13にロードし、実行することが可能である。CPU12は制御プログラムの動作に基づいて入出力部16を介して入力された印刷データを画像信号に変換し、印刷部インターフェイス17を介して印刷部20に出力することで印刷することが可能である。またCPU12は制御プログラムの動作に基づいて入出力部16を介して入力された各種応答要求に対して、処理した結果を入出力部16から出力する。尚、プリンター100には操作部21が接続され、ユーザーからの直接の入力を受け付けることも可能になっている。周辺機器としては、他にもスキャナーやコピー機、FAX装置などが挙げられる。なおこれら構成要素はバス15に接続されており、外部メモリ22は外部メモリーインターフェイス18を介してバス15に接続されている。
<クライアントコンピューターのソフトウェア構成>
図4はクライアントコンピューター102のソフトウェア構成を示すブロック図である。図4を用いて、クライアントコンピューター102のソフトウェア構成について説明する。
図4はクライアントコンピューター102のソフトウェア構成を示すブロック図である。図4を用いて、クライアントコンピューター102のソフトウェア構成について説明する。
プラグアンドプレイ検出部210はユニバーサルシリアルバス(USB)やWeb Service on Devices(WSD)等のインターフェイスを介して、新たにネットワークに参加した周辺機器を検出する。具体的には、プリンター100がネットワークに接続された場合や、ネットワーク上のプリンター100の電源がONになった場合に検出が行われる。検知対象の機器はプリンターとは限らないが、本実施形態ではプリンタを対象機器として説明する。機器ID取得部220はプラグアンドプレイで検出されたプリンター100に機器ID取得要求を送り、機器IDを取得する。機器IDについては後述する。ドライバー検索部230は取得した機器IDに対応したデバイス制御アプリ250やスペシフィックドライバー260やクラスドライバー270の検索を行う。尚、ドライバー検索部230の検索範囲(ドライバー検索の対象領域)は、クライアントコンピューター102内のOSにより管理される記憶領域の一部であるドライバーストアーがある。他にも、ドライバー検索の対象領域は、クライアントコンピューター102に接続された外部記憶媒体も含まれてもよい。また、それに留まらず、ドライバー検索の対象領域としては、予め決められた外部のサーバコンピューター104に対しても行われてもよい。ドライバーインストール処理部240はドライバー検索部230が見つけたデバイス制御アプリ250やスペシフィックドライバー260やクラスドライバー270のインストール処理を行う。
尚、デバイス制御アプリ250、スペシフィックドライバー260、クラスドライバー270については後述する。
尚、デバイス制御アプリ250、スペシフィックドライバー260、クラスドライバー270については後述する。
尚、クライアントコンピューター102には、OSと一緒にバンドルされていたり、後から導入されたりしたスペシフィックドライバー260やクラスドライバー270を保持できるものとする。UIスタイル取得部290はディスプレイ10に表示されているUI環境がタッチパネル用UIかデスクトップUIかのUIスタイル情報取得処理を行う。なお、タッチパネル用UIは、従来までのデスクトップUIに比べて、タッチパネルでの操作により適した表示制御などを行うUI環境である。ドライバインストーラ800はアプリケーションプログラムであり、プラグアンドプレイ検出部と機器ID取得部とドライバー検索部とで構成される。
[デバイス制御アプリについて]
デバイス制御アプリ250は各々のモデルに対応した印刷やファックスやスキャンの機能を有したアプリケーションであり、タッチパネル用UI上で動作するアプリケーションとして設計されたものである。また、機器ID340を利用するプラグアンドプレイシステムでは、モデル識別情報(MDL)と互換識別情報(CID)の両方、もしくはどちらか片方に対応する。本実施形態のデバイス制御アプリは、周辺機器を制御するための機能を持ち、周辺機器の設定を行うためのUI画面を提供する。その画面は、タッチパネル操作に対応したもので、たとえば選択用のスイッチやボタン類が指先で選択できる程度に大きく、また、キーボードが装備されていないコンピューターであればテキストボックスのための仮想キーボードが表示されるなど、タッチパネル操作で容易に操作を行える。変更可能な設定は従来のプリンタードライバーに準じたものであり、例えばA3やA4などの用紙サイズや用紙種類、レイアウト、品質、給紙部、部数、縁の有無等である。さらに、複数種類のプリンターに対応したデバイス制御アプリであれば、プリンターの種類を選択することもできる。さらにアプリケーションとしての機能も有しており、例えば印刷対象のデータファイルを選択することができる。
デバイス制御アプリ250は各々のモデルに対応した印刷やファックスやスキャンの機能を有したアプリケーションであり、タッチパネル用UI上で動作するアプリケーションとして設計されたものである。また、機器ID340を利用するプラグアンドプレイシステムでは、モデル識別情報(MDL)と互換識別情報(CID)の両方、もしくはどちらか片方に対応する。本実施形態のデバイス制御アプリは、周辺機器を制御するための機能を持ち、周辺機器の設定を行うためのUI画面を提供する。その画面は、タッチパネル操作に対応したもので、たとえば選択用のスイッチやボタン類が指先で選択できる程度に大きく、また、キーボードが装備されていないコンピューターであればテキストボックスのための仮想キーボードが表示されるなど、タッチパネル操作で容易に操作を行える。変更可能な設定は従来のプリンタードライバーに準じたものであり、例えばA3やA4などの用紙サイズや用紙種類、レイアウト、品質、給紙部、部数、縁の有無等である。さらに、複数種類のプリンターに対応したデバイス制御アプリであれば、プリンターの種類を選択することもできる。さらにアプリケーションとしての機能も有しており、例えば印刷対象のデータファイルを選択することができる。
またデバイス制御アプリは周辺機器のベンダにより提供され、たとえばOSのベンダなどが提供するサービスである「アプリストアー」などと呼ばれる所定のサーバーシステムからコンピューターに対してダウンロード可能に保持、管理される。
[スペシフィックドライバーについて]
スペシフィックドライバー260は、プリンター100の各々のモデルに対応したプリンタードライバーであり、機器ID340を利用するプラグアンドプレイシステムではモデル識別情報(MDL)に対応するプリンタードライバーである。
スペシフィックドライバー260は、プリンター100の各々のモデルに対応したプリンタードライバーであり、機器ID340を利用するプラグアンドプレイシステムではモデル識別情報(MDL)に対応するプリンタードライバーである。
[クラスドライバーについて]
クラスドライバー270はプリンター100の属するファミリーやクラスに共通したプリンタードライバーであり、機器ID340を利用するプラグアンドプレイシステムでは互換識別情報(CID)に対応するプリンタードライバーである。また、クラスドライバー270は、OSに同梱されるインボックスドライバーとして、提供される場合もある。
クラスドライバー270はプリンター100の属するファミリーやクラスに共通したプリンタードライバーであり、機器ID340を利用するプラグアンドプレイシステムでは互換識別情報(CID)に対応するプリンタードライバーである。また、クラスドライバー270は、OSに同梱されるインボックスドライバーとして、提供される場合もある。
<サーバーコンピュータのソフトウェア構成>
図5はサーバコンピューター104のソフトウェア構成を示すブロック図である。図5を用いて、サーバコンピューター104のソフトウェア構成について説明する。サーバコンピューター104には、クラアントコンピューター102のドライバー検索部230に応答するためのドライバー管理部280を備える。ドライバー管理部280を介して、サーバコンピューター104はクライアントコンピューター102にデバイス制御アプリ250やスペシフィックドライバー260やクラスドライバー270を提供する。尚、サーバコンピューター104に各プリンターベンダーが提供する最新のデバイス制御アプリやプリンタードライバーを保持しておく。そうすることで最新のデバイス制御アプリやプリンタードライバーをクライアントコンピューター102に提供することが可能になる。
図5はサーバコンピューター104のソフトウェア構成を示すブロック図である。図5を用いて、サーバコンピューター104のソフトウェア構成について説明する。サーバコンピューター104には、クラアントコンピューター102のドライバー検索部230に応答するためのドライバー管理部280を備える。ドライバー管理部280を介して、サーバコンピューター104はクライアントコンピューター102にデバイス制御アプリ250やスペシフィックドライバー260やクラスドライバー270を提供する。尚、サーバコンピューター104に各プリンターベンダーが提供する最新のデバイス制御アプリやプリンタードライバーを保持しておく。そうすることで最新のデバイス制御アプリやプリンタードライバーをクライアントコンピューター102に提供することが可能になる。
<プリンターのソフトウェア構成>
図6はプリンター100のソフトウェア構成を示すブロック図である。図6を用いて、プリンター100のソフトウェア構成について説明する。
図6はプリンター100のソフトウェア構成を示すブロック図である。図6を用いて、プリンター100のソフトウェア構成について説明する。
印刷ジョブ制御部310は受信した印刷データを印刷するための印刷ジョブ制御を行う。印刷処理部320は実際に印刷処理を実行する。機器情報提供部330は機器ID取得部の要求に応じてプリンター100内に保持している機器ID340を提供する。
<機器IDの構成及び例> 図7は機器ID340の構成及び例を示す図である。まず図7(A)を用いて、本発明で扱う機器ID340の構成及び例を説明する。機器ID340は文字列情報の形で表現され、主な要素として次に示す要素で構成される。
機器の製造者情報を示す"MANUFACTURER"(以下MFG)。
機器が対応しているコマンドセット示す"COMMAND SET"(以下CMD)。
機器のモデル識別情報を示す"MODEL"(以下MDL)。
機器のクラス情報を示す"CLASS"(以後CLS)。
機器の属するファミリーやクラスの互換識別情報を示す"COMPATIBLE ID"(以下CID)。
尚、IEEE1284の規定ではMFG、MDL、CMDの提供は必須とされているが、CLS、CIDの提供は任意となっている。
機器の製造者情報を示す"MANUFACTURER"(以下MFG)。
機器が対応しているコマンドセット示す"COMMAND SET"(以下CMD)。
機器のモデル識別情報を示す"MODEL"(以下MDL)。
機器のクラス情報を示す"CLASS"(以後CLS)。
機器の属するファミリーやクラスの互換識別情報を示す"COMPATIBLE ID"(以下CID)。
尚、IEEE1284の規定ではMFG、MDL、CMDの提供は必須とされているが、CLS、CIDの提供は任意となっている。
図7(B)は機器IDの一例を示している。この例では製造者は"ABC"であり、コマンドセットとして"PCL"をサポートしており、モデル名称が"M123"というプリンターである。また、クラスが"PRINTER"であり、互換識別情報としては"Class1"という名称が与えられている機器であることを示している。
<ドライバインストーラのソフトウェア構成>
図8はドライバインストーラ800のソフトウェア構成を示すブロック図である。図8を用いて、ドライバインストーラ800のソフトウェア構成について説明する。プラグアンドプレイ検出部810はユニバーサルシリアルバス(USB)やWeb Service on Devices(WSD)等のインターフェイスを介して接続されたプリンター100の検知を行う。機器ID取得部820はインストール対象のプリンター100に機器ID取得要求を送り、機器IDを取得する。ドライバー検索部830は取得した機器IDに対応したデバイス制御アプリ250やスペシフィックドライバー260やクラスドライバー270の検索を行う。尚、ドライバー検索部830の検索範囲は、予め決められたサーバコンピューター104に対して行われるものとする。
図8はドライバインストーラ800のソフトウェア構成を示すブロック図である。図8を用いて、ドライバインストーラ800のソフトウェア構成について説明する。プラグアンドプレイ検出部810はユニバーサルシリアルバス(USB)やWeb Service on Devices(WSD)等のインターフェイスを介して接続されたプリンター100の検知を行う。機器ID取得部820はインストール対象のプリンター100に機器ID取得要求を送り、機器IDを取得する。ドライバー検索部830は取得した機器IDに対応したデバイス制御アプリ250やスペシフィックドライバー260やクラスドライバー270の検索を行う。尚、ドライバー検索部830の検索範囲は、予め決められたサーバコンピューター104に対して行われるものとする。
[タッチパネル用UIとデスクトップUIについて]
本実施形態におけるデスクトップUIの一例を図9に示す。また、本実施形態におけるタッチパネル用UIの一例を図10に示す。タッチパネルに最適なタッチパネル用UI1000は、ユーザーの指で操作しやすいようなタイル形式のボタン配置(例えば、ボタン1001やボタン1002)となっている。ユーザーはそれぞれのボタンをタッチすることで、ボタンに対応した機能、例えばアプリケーションプログラムの実行などをコンピューターに行わせることができる。また、上記タッチパネル用UI1000からデスクトップUI900へ手動により表示を切り替えられるように構成されたOSも出てきている。
本実施形態におけるデスクトップUIの一例を図9に示す。また、本実施形態におけるタッチパネル用UIの一例を図10に示す。タッチパネルに最適なタッチパネル用UI1000は、ユーザーの指で操作しやすいようなタイル形式のボタン配置(例えば、ボタン1001やボタン1002)となっている。ユーザーはそれぞれのボタンをタッチすることで、ボタンに対応した機能、例えばアプリケーションプログラムの実行などをコンピューターに行わせることができる。また、上記タッチパネル用UI1000からデスクトップUI900へ手動により表示を切り替えられるように構成されたOSも出てきている。
一方、デスクトップUI900用に設計されているプリンタードライバーに関しては、タッチパネル用UI1000のアプリケーションからの印刷要求時でも使用可能となるよう、OSが互換性を持たせている。これによってユーザーは、タッチパネル用UI1000をもつ新たなOSの環境においても、従来のUI環境であるデスクトップUI900用に作成された従来のプリンタードライバーを使用して、印刷を行なうことができる。
しかしながら、タッチパネル用UI1000におけるアプリケーションから従来のプリンタードライバーのUIを表示すると使い勝手の悪いものとなってしまう。タッチパネルで操作するユーザーにとって、マウスやキーボードの入力を前提とした従来のプリンタードライバーのUIは細かすぎ、操作しづらいからである。
このため、タッチパネル用UI1000ではプリンタードライバーのUIを直接表示せず、XML形式のメタデータを元にOSがUIを自動生成して印刷設定を指定させることで使い勝手の向上を図るなどしている。本実施形態におけるタッチパネル用UI1000におけるアプリケーションのUI1101とXML形式のメタデータを元にOSが自動生成するUI1102の一例を図11に示す。XML形式のメタデータを元に自動生成されるUI1102では印刷体裁に関する設定の指定のみ可能である。図11のUI1102では印刷部数、用紙方向、カラー/白黒の指定が可能となっている。
[デバイス制御アプリおよびプリンタードライバーのインストール処理(その1)]
図12はデバイス制御アプリ250とスペシフィックドライバー260とクラスドライバー270とを検索対象としたプラグアンドプレイの処理フローである。この図を用いて、デバイス制御アプリ250とスペシフィックドライバー260とクラスドライバー270とを検索対象としたプラグアンドプレイの処理について説明を行う。
図12はデバイス制御アプリ250とスペシフィックドライバー260とクラスドライバー270とを検索対象としたプラグアンドプレイの処理フローである。この図を用いて、デバイス制御アプリ250とスペシフィックドライバー260とクラスドライバー270とを検索対象としたプラグアンドプレイの処理について説明を行う。
まず、クライアントコンピューター102のプラグアンドプレイ検出部210が接続媒体101を介してプリンター100が接続されたことを検知し、このプラグアンドプレイの処理が開始される。
機器ID取得部220はプリンター100に対して機器ID340の取得要求を発行し、この取得容要求を受けたプリンター100の機器情報提供部330は、機器ID340を機器ID取得部220に対して返答する。機器ID取得部220は取得した機器ID340に含まれるモデル識別情報(MDL)と互換識別情報(CID)をドライバー検索部230渡す(ステップS1201)。
ステップS1202にてUIスタイル取得部290は、クライアントコンピューター102のディスプレイ10に表示されているUIがタッチパネル用UIかデスクトップUIどちらであるかのUIスタイル情報を取得する。ステップS1202の処理でタッチパネル用UIであるとの情報が取得された場合ステップS1300へ、デスクトップUIであるとの情報が取得された場合はステップS1205に処理を進める(ステップS1203)。
ステップS1300にてドライバー検索部230はデバイス制御アプリ検索処理を行う。ステップS1300の処理については図13にて後述する。ステップS1300の検索処理にて、機器ID340に対応するデバイス制御アプリ250が見つかった場合ステップS1700へ、見つからなかった場合はステップS1205に処理を進める(ステップS1204)。
ステップS1700にて、ドライバーインストール処理部240はデバイス制御アプリのインストール処理を行う。ステップS1700の処理については図17にて後述する。
ステップS1205にてドライバー検索部230は機器ID取得部220から受け取ったモデル識別情報(MDL)に対応するスペシフィックドライバー260の検索を実施する。このステップS1205の検索処理でスペシフィックドライバー260が見つかった場合ステップS1800へ、見つからない場合にはステップS1207に処理を進める(ステップS1206)。ステップS1800の処理については図18にて後述する。
ステップS1206にてモデル識別情報(MDL)に対応するスペシフィックドライバー260が見つからない場合、ステップS1207へと進む。
ステップS1207では、ドライバー検索部230は機器ID取得部220から受け取った互換識別情報(CID)に対応するクラスドライバー270の検索を実施する。もしも機器ID340に互換識別情報(CID)の記載がなかった場合は空の情報を受け取ることになるため、対応するクラスドライバー270は見つからない。
このステップS1207の検索処理でクラスドライバー270が見つかった場合ステップS1800へ、見つからない場合にはステップS1900に進む。(ステップS1208)ステップS1900の処理については図19にて後述する。
図12の手順では、プリンタードライバーをインストールしようとするコンピューターのユーザーインターフェイスがタッチパネル用UIか否かを判定し、タッチパネルUIであればデバイス制御アプリを優先的に探索する。そしてタッチパネル用UIでない場合、または該当するデバイス制御アプリが見つからなかった場合に、従来のユーザーインターフェイスに対応したプリンタードライバーのインストールを試みている。
[ステップS1300の詳細]
図13は機器ID340に最適なデバイス制御アプリ250を検索する処理(ステップS1300)のフローである。この図を用いてデバイス制御アプリ250の検索について説明を行う。
図13は機器ID340に最適なデバイス制御アプリ250を検索する処理(ステップS1300)のフローである。この図を用いてデバイス制御アプリ250の検索について説明を行う。
ステップS1301にてサーバコンピューター104のデバイス制御アプリすべてを検索し終えた場合ステップS1307へ、サーバコンピューター104のデバイス制御アプリすべてを検索していない場合にはステップS1302に処理を進める。ステップS1302にてドライバー検索部230は受け取った機器ID340に対応するデバイス制御アプリ250の検索を実施する。デバイス制御アプリ250の検索はサーバコンピューター104に保存されたデバイス制御アプリを対象として、モデル識別情報(MDL)もしくは互換識別情報(CID)に対応したデバイス制御アプリかどうか順次検索を行う。モデル識別情報(MDL)もしくは互換識別情報(CID)に対応したデバイス制御アプリ250が見つかった場合ステップS1304へ、見つからなかった場合にはステップS1301に処理を進める。前記の処理を行うことで、サーバコンピューター104上のすべてのデバイス制御アプリに対して検索処理を行う(ステップS1303)。
ステップS1304にてドライバー検索部230は検索で見つかったデバイス制御アプリ250の能力情報問い合わせをドライバー管理部280に対して行う。デバイス制御アプリの能力情報とは、例えばホチキスやパンチなどのプリンターオプション機能や、セキュアプリント機能や部門管理機能などの印刷機能が利用可能もしくは利用不可能かの情報である。例えば、デバイス制御アプリの能力情報の一例は次のようなものである。
デバイス制御アプリA:プリンターオプション機能=可:セキュアプリント機能=可:部門管理機能=不可、
デバイス制御アプリB:プリンターオプション機能=不可:セキュアプリント機能=不可:部門管理機能=不可、
デバイス制御アプリC:プリンターオプション機能=不可:セキュアプリント機能=可:部門管理機能=不可。
デバイス制御アプリB:プリンターオプション機能=不可:セキュアプリント機能=不可:部門管理機能=不可、
デバイス制御アプリC:プリンターオプション機能=不可:セキュアプリント機能=可:部門管理機能=不可。
この例ではデバイス制御アプリAはプリンターオプション機能とセキュアプリント機能が利用可能であり部門管理機能は利用不可能であることを示している。またデバイス制御アプリBはプリンターオプション機能とセキュアプリント機能と部門管理機能が利用不可であることを示している。またデバイス制御アプリCはセキュアプリント機能が利用可能でありプリンターオプション機能と部門管理機能が利用不可能であることを示している。
ステップS1305にてドライバー検索部230はデバイス制御アプリ250に対するマッチングスコアの算出を行う。マッチングスコアとは検索で見つかったデバイス制御アプリ250のモデル識別情報(MDL)と互換識別情報(CID)の対応状況とその能力値から算出する能力的な適合度を数値で示したものである。図14はマッチングスコアの算出方法の一例を示している。この例ではモデル識別情報(MDL)に対応している場合は10点、互換識別情報(CID)に対応している場合は5点、能力情報で対応する機能1つにつき10点とした合計値でマッチングスコアが算出される。例えば、図14のデバイス制御アプリAは、モデル識別情報(MDL)と2つの機能に対応しているため、マッチングスコアは30点となる。同様にデバイス制御アプリBは5点、デバイス制御アプリCは25点となり、デバイス制御アプリAの能力値が最も高い。
ステップS1306にてドライバー検索部230は算出したマッチングスコアと該当デバイス制御アプリの情報とを検索結果テーブルに保存する。検索結果テーブルには、例えば、デバイス制御アプリの情報としてアプリ名とモデル識別情報(MDL)と互換識別情報(CID)の対応状況とその能力情報(能力値)とが保存され、算出されたマッチングスコアが当該アプリに関連付けて保存される。
ステップS1307にてドライバー検索部230は検索結果テーブルを参照し、検索結果テーブルに情報がある場合ステップS1308に進み、情報がない場合には該当するデバイス制御アプリが見つからないものとして処理を終了する。
ステップS1308にてドライバー検索部230は検索結果テーブルのマッチングスコアが最も高いデバイス制御アプリ250をサーバコンピューター104からクライアントコンピューター102にダウンロードする。その後に、デバイス制御アプリ250のアプリ名を検索結果としてドライバーインストール処理部240に渡し、処理を終了する。
[デバイス制御アプリおよびプリンタードライバーのインストール処理(その2)]
図15はデバイス制御アプリ250とスペシフィックドライバー260とクラスドライバー270を検索対象としたプラグアンドプレイの、図12に代わり得る処理フローである。図15の手順は、従来のプラグアンドプレイの処理にデバイス制御アプリ250を検索対象に追加したプラグアンドプレイシステムの処理についての処理フローである。
図15はデバイス制御アプリ250とスペシフィックドライバー260とクラスドライバー270を検索対象としたプラグアンドプレイの、図12に代わり得る処理フローである。図15の手順は、従来のプラグアンドプレイの処理にデバイス制御アプリ250を検索対象に追加したプラグアンドプレイシステムの処理についての処理フローである。
まず、クライアントコンピューター102のプラグアンドプレイ検出部210が接続媒体101を介してプリンター100が接続されたことを検知し、このプラグアンドプレイの処理が開始される。
機器ID取得部220はプリンター100に対して機器ID340の取得要求を発行し、この取得容要求を受けたプリンター100の機器情報提供部330は、機器ID340を機器ID取得部220に対して返答する。機器ID取得部220は取得した機器ID340に含まれるモデル識別情報(MDL)と互換識別情報(CID)をドライバー検索部230に渡す(ステップS1501)。
ステップS1502にてドライバー検索部230は機器ID取得部220から受け取ったモデル識別情報(MDL)に対応するスペシフィックドライバー260の検索を実施する。このステップS1502の検索処理でスペシフィックドライバー260が見つかった場合ステップS1800へ、見つからない場合にはステップS1504に処理を進める(ステップS1503)。ステップS1800の処理については図18にて後述する。
ステップS1503にてモデル識別情報(MDL)に対応するスペシフィックドライバー260が見つからない場合、ステップS1504へと進む。
ステップS1504では、ドライバー検索部230は機器ID取得部220から受け取った互換識別情報(CID)に対応するクラスドライバー270の検索を実施する。もしも機器ID340に互換識別情報(CID)の記載がなかった場合は空の情報を受け取ることになるため、対応するクラスドライバー270は見つからない。
このステップS1504の検索処理でクラスドライバー270が見つかった場合ステップS1800へ、見つからない場合にはステップS1300に進む(ステップS1505)。ステップS1300では前述の図13の処理が行われる。
前記ステップS1300の探索処理で、機器ID340に対応するデバイス制御アプリ250が見つかった場合ステップS1700へ、見つからなかった場合はステップS1900に処理を進める。(ステップS1506)ステップS1700の処理については図17にて後述する。またステップS1900の処理については図19にて後述する。
図15の手順では、まず従来のユーザーインターフェイスに対応したプリンタードライバーを探索し、該当するプリンタードライバーが見つからなかった場合にデバイス制御アプリを探索してそのインストールを試みる。このためデバイス制御アプリの探索の優先度は図15に比べて下がる。
[デバイス制御アプリおよびプリンタードライバーのインストール処理(その3)]
図16はデバイス制御アプリ250とスペシフィックドライバー260とクラスドライバー270を検索対象としたドライバインストーラ800のインストール処理のフローである。この処理ではOSのプラグアンドプレイシステムを使わない。そのため、OSのプラグアンドプレイシステムの変更なしに、タッチパネル用UIもしくはデスクトップUIに最適なプリンタードライバーとデバイス制御アプリをインストールする仕組みを提供することが可能である。したがって図16の手順は図12や図15の手順と併存できないものではなく、例えばプリンターのベンダが提供するインストーラをマニュアルで起動し、プリンタードライバーのインストールを試みる際の手順ということができる。したがって例えばインストーラが起動されるなど、マニュアルインストールの指示に応じて図16の手順が実行される。この図を用いて、デバイス制御アプリ250とスペシフィックドライバー260とクラスドライバー270を検索対象としたドライバインストーラ800の処理について説明を行う。
図16はデバイス制御アプリ250とスペシフィックドライバー260とクラスドライバー270を検索対象としたドライバインストーラ800のインストール処理のフローである。この処理ではOSのプラグアンドプレイシステムを使わない。そのため、OSのプラグアンドプレイシステムの変更なしに、タッチパネル用UIもしくはデスクトップUIに最適なプリンタードライバーとデバイス制御アプリをインストールする仕組みを提供することが可能である。したがって図16の手順は図12や図15の手順と併存できないものではなく、例えばプリンターのベンダが提供するインストーラをマニュアルで起動し、プリンタードライバーのインストールを試みる際の手順ということができる。したがって例えばインストーラが起動されるなど、マニュアルインストールの指示に応じて図16の手順が実行される。この図を用いて、デバイス制御アプリ250とスペシフィックドライバー260とクラスドライバー270を検索対象としたドライバインストーラ800の処理について説明を行う。
まずドライバインストーラ800のプラグアンドプレイ検出部820が接続媒体101を介してプリンター100が接続されたことを検知し、インストール処理が開始される。
機器ID取得部820はプリンター100に対して機器ID340の取得要求を発行し、この取得容要求を受けたプリンター100の機器情報提供部330は、機器ID340を機器ID取得部820に対して返答する。機器ID取得部820は取得した機器ID340に含まれるモデル識別情報(MDL)と互換識別情報(CID)をドライバー検索部830渡す(ステップS1601)。
ステップS1300にて、図13に示すデバイス制御アプリの検索処理を行う。この際の処理において、デバイス制御アプリの検索処理を行うのはドライバーインストール800を構成するドライバー検索部830である。ステップS1300の検索処理で、機器ID340に対応するデバイス制御アプリ250が見つかった場合ステップS1700へ、見つからなかった場合はステップS1603に処理を進める(ステップS1602)。ステップS1700の処理については図17にて後述する。
ステップS1603にてドライバー検索部830は機器ID取得部820から受け取ったモデル識別情報(MDL)に対応するスペシフィックドライバー260の検索を実施する。このステップS1603の検索処理でスペシフィックドライバー260が見つかった場合ステップS1800へ、見つからない場合にはステップS1605に処理を進める(ステップS1604)。ステップS1800の処理については図18にて後述する。
ステップS1604にてモデル識別情報(MDL)に対応するスペシフィックドライバー260が見つからない場合、ステップS1605へと進む。
ステップS1605では、ドライバー検索部830は機器ID取得部820から受け取った互換識別情報(CID)に対応するクラスドライバー270の検索を実施する。もしも機器ID340に互換識別情報(CID)の記載がなかった場合は空の情報を受け取ることになるため、対応するクラスドライバー270は見つからない。
このステップS1605の検索処理でクラスドライバー270が見つかった場合ステップS1800へ、見つからない場合にはステップS1900に進む(ステップS1606)。ステップS1900の処理については図19にて後述する。
以上の手順によれば、プリンタードライバーのインストール指示に応じて、まず該当するデバイス制御アプリが探索されて、発見されればそれがインストールされる。このため、タッチパネル用UIで使用されているコンピューターでプリンタードライバーのマニュアルインストールを試みると、優先的にデバイス制御アプリをインストールすることができ、プラグアンドプレイの手順は変更する必要がない。
[デバイス制御アプリのインストール処理(S1700)]
図17はデバイス制御アプリが見つかった場合の処理(ステップS1700)のフローである。この図を用いて、デバイス制御アプリが見つかった場合の処理について説明を行う。
図17はデバイス制御アプリが見つかった場合の処理(ステップS1700)のフローである。この図を用いて、デバイス制御アプリが見つかった場合の処理について説明を行う。
ドライバーインストール処理部240はインストールを指示されたデバイス制御アプリ250がクライアントコンピューター102にインストール済みかどうかを調べる。例えば、クライアントコンピューター102にインストールされているデバイス制御アプリ名のリストを取得する。前記リストにインストールが指示されたデバイス制御アプリ名が記載されているかどうか調べることで、該当デバイス制御アプリが既にインストール済みかどうかを判断することができる(ステップS1701)。
該当デバイス制御アプリがクライアントコンピューター102にインストールされていない場合、ドライバーインストール処理部240はクライアントコンピューター102に該当デバイス制御アプリをインストールする処理を行う(ステップS1702)。すなわち、サーバコンピューター104から該当するデバイス制御アプリをダウンロードし、レジストリへの登録など必要なインストール処理を行う。一方該当デバイス制御アプリがクライアントコンピューター102にインストールされている場合には、ステップS1703に処理を進める。
ステップS1703にてドライバーインストール処理部240はプラグアンドプレイ検出部210がプリンター100の接続を検知したポートを出力先ポートとしてデバイス制御アプリ250に登録して処理を終了する。ここで登録したポートはデバイス制御アプリ250でデフォルト出力先として登録する。また、インストールされたデバイス制御アプリ250は図10のタイル1002で示されるように、タイルとして表示される。なお図16のマニュアルインストールの手順で呼び出された場合には、プラグアンドプレイ検出部210がプリンター100の接続を検知したポートではなく、指定されたポートを出力先ポートとする。
[ドライバーのインストール処理(S1800)]
図18はスペシフィックドライバー260或いはクラスドライバー270が見つかった場合の処理(ステップS1800)のフローである。この図を用いて、プリンタードライバーが見つかった場合の処理について説明を行う。ドライバーインストール処理部240はインストールを指示されたプリンタードライバーが既にクライアントコンピューター102にインストール済みかどうかを調べる。例えば、クライアントコンピューター102にインストールされているプリンタードライバー名のリストを取得する。このリストにインストールが指示されたプリンタードライバー名が記載されているかどうか調べることで、該当プリンタードライバーが既にインストール済みかどうかを判断することができる(ステップS1801)。
図18はスペシフィックドライバー260或いはクラスドライバー270が見つかった場合の処理(ステップS1800)のフローである。この図を用いて、プリンタードライバーが見つかった場合の処理について説明を行う。ドライバーインストール処理部240はインストールを指示されたプリンタードライバーが既にクライアントコンピューター102にインストール済みかどうかを調べる。例えば、クライアントコンピューター102にインストールされているプリンタードライバー名のリストを取得する。このリストにインストールが指示されたプリンタードライバー名が記載されているかどうか調べることで、該当プリンタードライバーが既にインストール済みかどうかを判断することができる(ステップS1801)。
該当プリンタードライバーがクライアントコンピューター102にインストールされてない場合、ドライバーインストール処理部240はクライアントコンピューター102に該当プリンタードライバーをインストールする処理を行う(ステップS1802)。
ステップS1801の処理で既にプリンタードライバーがインストール済みの場合も含め、ドライバーインストール処理部240はプラグアンドプレイ検出部210がプリンター100の接続を検知したポートを出力先ポートとする論理プリンターの作成を行う(ステップS1803)。ここで、論理プリンターとはプリンタードライバーを利用するための論理的なオブジェクであり、印刷アプリケーションが印刷を行う際に「プリンター」として参照するオブイジェクトである。尚、一つの論理プリンターは一つのプリントキューを持つ。このようにしてプリンタードライバーをインストールすることができる。
[ドライバーが見つからなかった場合の処理(ステップS1900)]
図19はスペシフィックドライバー260或いはクラスドライバー270が見つからなかった場合の処理(ステップS1900)のフローである。図19を用いて、プリンタードライバーが見つからなかった場合の処理について説明を行う。ドライバーインストール処理部240は、論理プリンターを追加するためにユーザーの入力を受け付けるダイアログの表示を行う(ステップS1901)。図20は、ステップS1901で表示されるプリンタの追加画面の一例を示す図であり、このようなダイアログを表示しユーザーからインストールを行うプリンタードライバーの入力を受け付ける。
図19はスペシフィックドライバー260或いはクラスドライバー270が見つからなかった場合の処理(ステップS1900)のフローである。図19を用いて、プリンタードライバーが見つからなかった場合の処理について説明を行う。ドライバーインストール処理部240は、論理プリンターを追加するためにユーザーの入力を受け付けるダイアログの表示を行う(ステップS1901)。図20は、ステップS1901で表示されるプリンタの追加画面の一例を示す図であり、このようなダイアログを表示しユーザーからインストールを行うプリンタードライバーの入力を受け付ける。
図19に戻り、インストールするプリンタードライバーが指定されているかどうかの判定を行う(ステップS1902)。
インストールするプリンタードライバーが指定されていない場合、プリンタードライバーのインストールやプリンターの追加処理は行わず、処理を終了する。
インストールするプリンタードライバーがユーザーにより指定された場合、図18のステップS1801、S1802、S1803と同じ処理を行い、プリンタードライバー及びプリンターのインストール・追加処理を行う。
(第2実施形態)
周辺機器がプリントやファックスやスキャンなど1台で複数機能を搭載した複合機の場合についての実施形態を説明する。なおシステムの構成などは第1実施形態と共通であり、またプリンタードライバーのインストール処理に関しても共通である。
周辺機器がプリントやファックスやスキャンなど1台で複数機能を搭載した複合機の場合についての実施形態を説明する。なおシステムの構成などは第1実施形態と共通であり、またプリンタードライバーのインストール処理に関しても共通である。
本実施形態の場合プラグアンドプレイ時に検出される機器ID340に含まれるクラス情報(CLS)の値によって、プリンタードライバーもしくはデバイス制御アプリをインストールする。例えばファックス機能をもつ複合機に対応したファックスドライバーでは、印刷時にファックス宛先を指定するダイアログを必ずポップアップする。ただしユーザーの入力を促すようなポップアップUIは、従来のUI環境であるデスクトップUI上に表示する必要がある等の機能制限があるのは前述のとおりである。そのため、機器ID340に含まれるクラス情報(CLS)がファックスクラスを示す"MODEM"の場合は、前記機能制限のないデバイス制御アプリをインストールすることで、ユーザー利便性を向上させることができる。一方で機器ID340に含まれるクラス情報(CLS)がプリントクラスを示す"PRINTER"の場合は、プリンタードライバーを優先的にインストールする。これは一般的にクラスドライバーやデバイス制御アプリと比較してもスペシフィックドライバーのほうが機能的に優れている点が多いためである。
図21は機器ID340に含まれるクラス情報(CLS)によってインストール処理を切り替える処理のフローである。まず、クライアントコンピューター102のプラグアンドプレイ検出部210が接続媒体101を介してプリンター100が接続されたことを検知し、処理が開始される。
機器ID取得部220はプリンター100に対して機器ID340の取得要求を発行し、この取得容要求を受けたプリンター100の機器情報提供部330は、機器ID340を機器ID取得部220に対して返答する。機器ID取得部220は取得した機器ID340に含まれるモデル識別情報(MDL)と互換識別情報(CID)とクラス情報(CLS)をドライバー検索部230渡す(ステップS2101)。
ステップS2101の処理で取得したクラス情報(CLS)がファックスを示す値であった場合、検出されたデバイスは複合機である可能性ありステップS2200へ、そうでなかった場合はステップS2103へ処理を進める(ステップS2102)。ステップS2200にてドライバーインストール処理部240は、モデル識別情報(MDL)と互換識別情報(CID)に対応するデバイス制御アプリもしくはプリンタードライバーの検索とインストール処理を行う。この処理に際して、ステップS2200の処理については図22にて後述する。
ステップS2101の処理で取得したクラス情報(CLS)がファックスを示す値であった場合、検出されたデバイスは複合機である可能性ありステップS2200へ、そうでなかった場合はステップS2103へ処理を進める(ステップS2102)。ステップS2200にてドライバーインストール処理部240は、モデル識別情報(MDL)と互換識別情報(CID)に対応するデバイス制御アプリもしくはプリンタードライバーの検索とインストール処理を行う。この処理に際して、ステップS2200の処理については図22にて後述する。
ステップS2103にて、ステップS2101の処理で取得したクラス情報(CLS)がプリントを示す値であった場合ステップS1500へ、そうでなかった場合はステップS1200へ処理を進める。(ステップS2103)ステップS1500では前述の図15の処理が行われる。またステップS1200では前述の図12の処理が行われる。本フローにおいては、ステップS2101にてドライバー検索部230に機器ID340に含まれるモデル識別情報(MDL)と互換識別情報(CID)が渡されている。そのため図12のステップS1201、図15のステップS1501の処理は省略することが可能である。図15の手順では、まずスペシフィックドライバーを最優先として、該当するものがなければ次にクラスドライバー、それがなければ最後にデバイス制御アプリを検索してインストールを試みる。また図12の手順では、タッチパネル用UIならばまずデバイス制御アプリを最優先として、該当するものがないか、あるいは従来のユーザーインターフェイスであれば次にスペシフィックドライバー、それがなければ最後にクラスドライバーを検索してインストールを試みる。
[デバイス制御アプリまたはプリンタードライバーのインストール処理(S2200)]
図22は、モデル識別情報(MDL)と互換識別情報(CID)に対応するデバイス制御アプリもしくはプリンタードライバーの検索とインストール処理のフローである。
図22は、モデル識別情報(MDL)と互換識別情報(CID)に対応するデバイス制御アプリもしくはプリンタードライバーの検索とインストール処理のフローである。
ステップS1300にてドライバー検索部230はまず検出されたデバイスに対応したデバイス制御アプリの検索処理を行う。ステップS1300では前述の図13の処理が行われる。ステップS1300の検索処理にて、機器ID340に対応するデバイス制御アプリ250が見つかった場合ステップS1700へ、見つからなかった場合はステップS2202に処理を進める(ステップS2201)。ステップS1700にて、ドライバーインストール処理部240はデバイス制御アプリのインストール処理を行う。ステップS1700では前述の図17の処理が行われる。すなわち検出された周辺機器が複合機であり、対応するデバイス制御アプリがあれば、そのデバイス制御アプリがインストールされる。
ステップS2202にてドライバー検索部230は機器ID取得部220から受け取ったモデル識別情報(MDL)に対応するスペシフィックドライバー260の検索を実施する。このステップS2202の検索処理でスペシフィックドライバー260が見つかった場合ステップS1800へ、見つからない場合にはステップS2204に処理を進める(ステップS2203)。ステップS1800では前述の図18の処理が行われる。
ステップS2202にてモデル識別情報(MDL)に対応するスペシフィックドライバー260が見つからない場合、ステップS2204へと進む。
ステップS2204では、ドライバー検索部230は機器ID取得部220から受け取った互換識別情報(CID)に対応するクラスドライバー270の検索を実施する。もしも機器ID340に互換識別情報(CID)の記載がなかった場合は空の情報を受け取ることになるため、対応するクラスドライバー270は見つからない。
このステップS2204の検索処理でクラスドライバー270が見つかった場合ステップS1800へ、見つからない場合にはステップS1900に進む(ステップS2205)。ステップS1900では前述の図19の処理が行われる。
以上の手順によって複合機に対応したデバイス制御アプリを優先的にインストールすることができる。
また、周辺機器がプリントやファックスやスキャンなど1台で複数機能を搭載した複合機の場合には、プラグアンドプレイ時に複数の機器ID340が検出される場合がある。その場合は図21のインストール処理を検出された機器ID毎に行うことで、それぞれの機器IDに適したプリンタードライバーもしくはデバイス制御アプリをインストールすることが可能である。
上記実施形態により、タッチパネル用UIもしくはデスクトップUIそれぞれに最適なプリンタードライバーかデバイス制御アプリをインストールする簡易的な仕組みを提供することで、ユーザーの利便性を向上させることができる。
上記実施形態はWindows(登録商標)OSについての実施形態となっている。しかしながら、他OS(例:Mac OS)においても、それらOSがサポートしているプラグアンドプレイシステムと同機能を有するシステム(例:Bonjour)に本発明を適用することで同様の効果を提供することができる。
(他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
さらに、本発明には、上述した実施形態の適宜組み合わせることにより構成されたシステムやその機能も含まれるものとする。
Claims (23)
- 第1のユーザーインターフェイス(UI)環境と、該第1のUI環境とは異なる第2のUI環境とを提供するオペレーティングシステム(OS)が実行される情報処理装置であって、
通信ネットワークに接続された周辺機器から該周辺機器の識別情報を取得する第1の取得手段と、
前記第1のUI環境が提供されている際に前記第1の取得手段により前記周辺機器の識別情報が取得された場合、該識別情報を利用して、前記第1のUI環境で動作するアプリケーションを管理するサービスから、前記周辺機器を制御するためのデバイス制御アプリケーションを取得する第2の取得手段と、を有することを特徴とする情報処理装置。 - 前記識別情報には、モデル識別情報と互換識別情報とが含まれることを特徴とする請求項1に記載の情報処理装置。
- 前記第2の取得手段は、前記識別情報に対応するデバイス制御アプリケーションが取得できない場合に、該識別情報に対応するデバイスドライバーを、デバイスドライバー検索の対象領域から検索することで、取得することを特徴とする請求項1または2に記載の情報処理装置。
- 前記デバイスドライバー検索の対象領域は、前記情報処理装置のデバイスドライバーを管理するための記憶領域及び外部のサーバーが提供する記憶領域を含むことを特徴とする請求項3に記載の情報処理装置。
- 前記第2の取得手段は、前記第2のUI環境が提供されている際に前記取得手段により前記周辺機器の識別情報が取得された場合、該識別情報に対応するデバイスドライバーを、デバイスドライバー検索の対象領域から検索することで、取得することを特徴とする請求項1乃至4のいずれか一項に記載の情報処理装置。
- 前記第2の取得手段は、前記識別情報に対応する複数のデバイス制御アプリケーションのなかで、それぞれが提供する機能に基づいて算出された能力値が最も高いデバイス制御アプリケーションを取得することを特徴とする請求項1乃至5のいずれか一項に記載の情報処理装置。
- 前記能力値は、デバイス制御アプリケーションが前記識別情報に対応していること、及びデバイス制御アプリケーションが提供する機能の数に応じて、算出されることを特徴とする請求項6に記載の情報処理装置。
- 前記通信ネットワークに周辺機器が参加した際に、前記OSの機能として提供される前記取得手段による当該周辺機器の識別情報の取得が行われることを特徴とする請求項1乃至7のいずれか一項に記載の情報処理装置。
- デバイスドライバーのインストーラが起動されると、前記取得手段による周辺機器の識別情報の取得が行われることを特徴とする請求項1乃至8のいずれか一項に記載の情報処理装置。
- 前記周辺機器はプリンターであることを特徴とする請求項1乃至9のいずれか一項に記載の情報処理装置。
- 前記第1のUI環境は、前記第2のUI環境よりもタッチパネルの操作に適したUI環境であることを特徴とする請求項1乃至10のいずれか一項に記載の情報処理装置。
- 前記第2のUI環境は、前記OSよりもバージョンが低いOSとの互換を保つために提供されるUI環境であることを特徴とする請求項11に記載の情報処理装置。
- 通信ネットワークに接続された周辺機器から該周辺機器の識別情報を取得する第1の取得手段と、
前記第1の取得手段により取得された識別情報に含まれるクラス情報で前記周辺機器が複合機であることを示す場合には、該識別情報を利用して、前記周辺機器を制御するためのデバイス制御アプリケーションを取得する第2の取得手段と、を有し、
前記第2の取得手段は、前記識別情報に対応するデバイス制御アプリケーションが取得できない場合に、前記識別情報に対応するデバイスドライバーを取得することを特徴とする情報処理装置。 - 第1のユーザーインターフェイス(UI)環境と、該第1のUI環境とは異なる第2のUI環境とを提供するオペレーティングシステム(OS)が実行される情報処理装置における制御方法であって、
通信ネットワークに接続された周辺機器から該周辺機器の識別情報を取得する第1の取得工程と、
前記第1のUI環境が提供されている際に前記周辺機器の識別情報が取得された場合、該識別情報を利用して、前記第1のUI環境で動作するアプリケーションを管理するサービスから、前記周辺機器を制御するためのデバイス制御アプリケーションを取得する第2の取得工程と、を有することを特徴とする制御方法。 - 前記識別情報には、モデル識別情報と互換識別情報とが含まれることを特徴とする請求項14に記載の制御方法。
- 前記第2の取得工程では、前記識別情報に対応するデバイス制御アプリケーションが取得できない場合に、該識別情報に対応するデバイスドライバーが、デバイスドライバー検索の対象領域から検索することで、取得されることを特徴とする請求項14または15に記載の制御方法。
- 前記デバイスドライバー検索の対象領域は、前記情報処理装置のデバイスドライバーを管理するための記憶領域及び外部のサーバーが提供する記憶領域を含むことを特徴とする請求項16に記載の制御方法。
- 前記通信ネットワークに周辺機器が参加した際に、前記OSの機能として当該周辺機器の識別情報の取得が行われることを特徴とする請求項14乃至17のいずれか一項に記載の制御方法。
- デバイスドライバーのインストーラが起動されると、前記周辺機器の識別情報の取得が行われることを特徴とする請求項14乃至17のいずれか一項に記載の制御方法。
- 前記第1のUI環境は、前記第2のUI環境よりもタッチパネルの操作に適したUI環境であることを特徴とする請求項14乃至19のいずれか一項に記載の制御方法。
- 情報処理装置における制御方法であって、
通信ネットワークに接続された周辺機器から該周辺機器の識別情報を取得する第1の取得工程と、
前記取得された識別情報に含まれるクラス情報で前記周辺機器が複合機であることを示す場合には、該識別情報を利用して、前記周辺機器を制御するためのデバイス制御アプリケーションを取得する第2の取得工程と、を有し、
前記第2の取得工程では、前記識別情報に対応するデバイス制御アプリケーションが取得できない場合に、前記識別情報に対応するデバイスドライバーが取得されることを特徴とする制御方法。 - 請求項1乃至12のいずれか一項に記載の手段としてコンピューターを機能させるためのプログラム。
- 請求項13に記載の手段としてコンピューターを機能させるためのプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013078988A JP2014203268A (ja) | 2013-04-04 | 2013-04-04 | 情報処理装置及び制御方法 |
US14/218,135 US9170763B2 (en) | 2013-04-04 | 2014-03-18 | Information processing apparatus and control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013078988A JP2014203268A (ja) | 2013-04-04 | 2013-04-04 | 情報処理装置及び制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014203268A true JP2014203268A (ja) | 2014-10-27 |
Family
ID=51654241
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013078988A Pending JP2014203268A (ja) | 2013-04-04 | 2013-04-04 | 情報処理装置及び制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9170763B2 (ja) |
JP (1) | JP2014203268A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017027538A (ja) * | 2015-07-28 | 2017-02-02 | キヤノン株式会社 | 情報処理装置、制御方法、及びプログラム |
JP2017033141A (ja) * | 2015-07-30 | 2017-02-09 | キヤノン株式会社 | 周辺装置、その方法、及びプログラム |
EP3499359A1 (en) | 2017-12-14 | 2019-06-19 | Konica Minolta, Inc. | System, device, method and program |
US10747482B2 (en) | 2018-03-30 | 2020-08-18 | Brother Kogyo Kabushiki Kaisha | Computer-readable medium, information processing device, and method for installing appropriate program |
WO2020262135A1 (ja) * | 2019-06-26 | 2020-12-30 | 株式会社デンソー | 車両制御システムおよび電子制御装置 |
JP2021140300A (ja) * | 2020-03-03 | 2021-09-16 | 株式会社リコー | 情報処理装置、制御方法、及びプログラム |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013152608A (ja) * | 2012-01-25 | 2013-08-08 | Canon Inc | 情報処理装置、その方法、及びプログラム |
US11082476B2 (en) * | 2016-11-15 | 2021-08-03 | Verizon Media Inc. | Computerized system and method for automatically providing networked devices non-native functionality |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4273024B2 (ja) * | 2004-03-10 | 2009-06-03 | キヤノン株式会社 | 情報処理装置、画像形成装置、該装置における方法、システム |
JP4115474B2 (ja) * | 2005-08-26 | 2008-07-09 | キヤノン株式会社 | 画像形成装置及び画像形成装置の制御方法、画像形成システム、プログラム及び記憶媒体 |
US8179538B2 (en) * | 2005-08-31 | 2012-05-15 | Canon Kabushiki Kaisha | Image processing apparatus, information processing apparatus and control method |
JP4960900B2 (ja) | 2008-02-07 | 2012-06-27 | キヤノン株式会社 | 情報処理装置および画像形成装置 |
JP5294892B2 (ja) * | 2009-01-14 | 2013-09-18 | キヤノン株式会社 | 画像形成装置、装置、制御方法、及びプログラム |
JP5316078B2 (ja) * | 2009-02-25 | 2013-10-16 | 株式会社リコー | 通信機器、該通信機器の制御方法およびそのプログラムならびにシステム |
JP2011013816A (ja) | 2009-06-30 | 2011-01-20 | Ricoh Co Ltd | インストールシステム、情報機器、インストール方法、及びインストールプログラム |
CN101702143B (zh) * | 2009-12-02 | 2011-08-10 | 华为终端有限公司 | 修改usb设备驱动匹配信息的方法及装置 |
-
2013
- 2013-04-04 JP JP2013078988A patent/JP2014203268A/ja active Pending
-
2014
- 2014-03-18 US US14/218,135 patent/US9170763B2/en not_active Expired - Fee Related
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017027538A (ja) * | 2015-07-28 | 2017-02-02 | キヤノン株式会社 | 情報処理装置、制御方法、及びプログラム |
JP2017033141A (ja) * | 2015-07-30 | 2017-02-09 | キヤノン株式会社 | 周辺装置、その方法、及びプログラム |
EP3499359A1 (en) | 2017-12-14 | 2019-06-19 | Konica Minolta, Inc. | System, device, method and program |
US10747482B2 (en) | 2018-03-30 | 2020-08-18 | Brother Kogyo Kabushiki Kaisha | Computer-readable medium, information processing device, and method for installing appropriate program |
US11327693B2 (en) | 2018-03-30 | 2022-05-10 | Brother Kogyo Kabushiki Kaisha | Computer-readable medium, information processing device, and Method for installing appropriate program |
WO2020262135A1 (ja) * | 2019-06-26 | 2020-12-30 | 株式会社デンソー | 車両制御システムおよび電子制御装置 |
JP2021005217A (ja) * | 2019-06-26 | 2021-01-14 | 株式会社デンソー | 車両制御システムおよび電子制御装置 |
JP2021140300A (ja) * | 2020-03-03 | 2021-09-16 | 株式会社リコー | 情報処理装置、制御方法、及びプログラム |
JP7439570B2 (ja) | 2020-03-03 | 2024-02-28 | 株式会社リコー | 情報処理装置、制御方法、及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
US9170763B2 (en) | 2015-10-27 |
US20140300928A1 (en) | 2014-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2014203268A (ja) | 情報処理装置及び制御方法 | |
JP4986693B2 (ja) | 情報処理装置及びその制御方法、並びにプログラム | |
JP2007233662A (ja) | インストーラを作成するためのプログラム,該プログラムを記憶する記憶媒体,インストーラの作成方法,情報処理装置 | |
JP2020004158A (ja) | 情報処理装置、情報処理装置の制御方法、及びプログラム | |
US9830544B2 (en) | Image processing apparatus, control method, and storage medium for executing print processing using a password including selecting a personal identification code type that indicates a purpose for using the password | |
US20140300914A1 (en) | Information processing apparatus, method for controlling the same, and recording medium | |
JP5317817B2 (ja) | 情報処理装置、プリンタドライのバインストール方法、及び、プログラム | |
JP4981936B2 (ja) | インストーラ及びプリンタドライバのインストール方法 | |
JP2007069358A (ja) | 画像形成装置及びその制御方法、プログラム、画像形成システム | |
JP2015107594A (ja) | 印刷装置、印刷制御方法及びプログラム | |
JP2007069359A (ja) | 画像形成装置及びその制御方法、プログラム、画像形成システム | |
US8792107B2 (en) | Information processing apparatus, method for uninstalling printer driver, and recording medium | |
JP6326795B2 (ja) | 情報処理システム、情報処理装置、情報処理方法及びプログラム | |
US9606761B2 (en) | Information processing apparatus for controlling an output process and method for the same | |
JP2016177432A (ja) | プログラム、情報処理装置、記憶媒体、画面作成方法 | |
JP2011186726A (ja) | プリンタードライバー、印刷制御装置、プリンター検索プログラム | |
US10346102B2 (en) | Information processing apparatus that controls install of a device driver in accordance with capability of an operating system, installation method, and storage medium | |
JP2011186969A (ja) | 情報処理装置、情報処理装置の制御方法、インストール方法及びコンピュータプログラム | |
JP2023018114A (ja) | プログラム、情報処理装置、及び情報処理装置の制御方法 | |
US9270853B2 (en) | Exporting and importing for display on an image forming apparatus environment setting information of an application | |
JP6252060B2 (ja) | プログラム、情報処理装置及び画像処理システム | |
JP6013801B2 (ja) | 画像出力システム、及び、画像出力装置 | |
JP2011186899A (ja) | プリンタードライバー、印刷制御装置、印刷システム | |
JP7171227B2 (ja) | 情報処理装置、その制御方法およびアプリケーション | |
JP6972884B2 (ja) | 印刷指示装置 |