JP5393427B2 - 情報処理装置、情報処理方法及びプログラム - Google Patents

情報処理装置、情報処理方法及びプログラム Download PDF

Info

Publication number
JP5393427B2
JP5393427B2 JP2009285354A JP2009285354A JP5393427B2 JP 5393427 B2 JP5393427 B2 JP 5393427B2 JP 2009285354 A JP2009285354 A JP 2009285354A JP 2009285354 A JP2009285354 A JP 2009285354A JP 5393427 B2 JP5393427 B2 JP 5393427B2
Authority
JP
Japan
Prior art keywords
device management
twain
function
driver
argument
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.)
Active
Application number
JP2009285354A
Other languages
English (en)
Other versions
JP2011076576A (ja
Inventor
孝一 安部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2009285354A priority Critical patent/JP5393427B2/ja
Priority to US12/870,217 priority patent/US9270845B2/en
Priority to CN201010272043.7A priority patent/CN102006384B/zh
Publication of JP2011076576A publication Critical patent/JP2011076576A/ja
Application granted granted Critical
Publication of JP5393427B2 publication Critical patent/JP5393427B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • H04N1/00244Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server with a server, e.g. an internet server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00405Output means
    • H04N1/00408Display of information to the user, e.g. menus
    • H04N1/00413Display of information to the user, e.g. menus using menus, i.e. presenting the user with a plurality of selectable options
    • H04N1/00416Multi-level menus
    • H04N1/00419Arrangements for navigating between pages or parts of the menu
    • H04N1/00427Arrangements for navigating between pages or parts of the menu using a menu list
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00405Output means
    • H04N1/00408Display of information to the user, e.g. menus
    • H04N1/00464Display of information to the user, e.g. menus using browsers, i.e. interfaces based on mark-up languages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00405Output means
    • H04N1/00474Output means outputting a plurality of functional options, e.g. scan, copy or print
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00405Output means
    • H04N1/00482Output means outputting a plurality of job set-up options, e.g. number of copies, paper size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00501Tailoring a user interface [UI] to specific requirements
    • H04N1/00503Customising to a particular machine or model, machine function or application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00962Input arrangements for operating instructions or parameters, e.g. updating internal software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0008Connection or combination of a still picture apparatus with another apparatus
    • H04N2201/0034Details of the connection, e.g. connector, interface
    • H04N2201/0037Topological details of the connection
    • H04N2201/0039Connection via a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0094Multifunctional device, i.e. a device capable of all of reading, reproducing, copying, facsimile transception, file transception

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Facsimiles In General (AREA)
  • Stored Programmes (AREA)

Description

本発明は、情報処理装置、情報処理方法及びプログラムに関する。
近年、USB、Ethernet(登録商標)、無線LAN等の様々なインタフェースを利用して、情報処理装置に周辺装置を接続した周辺装置制御システムが、自宅やオフィス等、様々な場面で有効に活用されている。周辺装置の例としては、例えば、プリンタ、複写機、ファクシミリ、スキャナ、デジタルカメラ、及びこれらの複合機能等が挙げられる。
Windows(登録商標) 7では、パーソナルコンピュータ(以下、PCと略す場合がある)等の情報処理装置に接続された周辺装置を管理する新しい機能が導入される。PCに接続された装置を表示するウィンドウであるDevices and Printersフォルダと各周辺装置に特有なアプリケーションやサービスとへのリンク機能を備えるDevice Stage(登録商標)である。Devices and Printersフォルダの画面(後述する図5(a))は、Windowsの「スタートメニュー」から表示することができる。Devices and Printersフォルダからは更に各周辺装置のDevice Stage画面(後述する図5(b))を開くことができる。Device Stageではビジュアルな画面を提供でき、ユーザが簡単に装置に関連する機能やサービスにアクセスすることができるようになる。ここで、周辺装置の例として、スキャナの例を挙げる。例えば、画像やドキュメントの読取りが可能なアプリケーションへのリンクをDevice Stage画面上から提供すること等が考えられる。この例の場合、Device Stage画面から、画像やドキュメントの読取りが可能なアプリケーションを起動して、周辺装置(スキャナ)を使って画像やドキュメントを読取ること等ができる。また、インターネットの普及に伴い、情報処理装置や周辺装置をインターネットに接続し、インターネットを利用した様々なオンラインサービスも提供されている。例えば、メーカーがインターネット上で提供するサポートサイトのリンクをDevice Stage画面上に設けることで、ユーザが簡単に装置に関連するサイトにアクセスできるようにするといった活用例も挙げられる。以下、Device Stageをデバイス管理画面と呼んで説明する場合がある。
周辺装置の例としてプリンタ、FAX、スキャナ、ストレージを搭載したマルチファンクションプリンタ(以下、MFPと略す場合がある)を挙げる。従来、アプリケーションからMFPのスキャナ機能を利用して画像やドキュメントを読取る場合、一般的に次に示すような操作手順により行われている。
(1−1) アプリケーションを起動する。
(1−2) アプリケーション内のスキャナ選択部で、入力装置であるスキャナ(ドライバ)を選択する。
(1−3) アプリケーション上から、読取りを実行する。
例えば、MFPやスキャナ等の複数の入力装置が1台のPCに接続されていて、それらのドライバがインストールされている場合を考える。すると、一度、読取りを実行した後は、最後に選択された入力装置が、次回このアプリケーションを起動するときのデフォルトデバイスとして、選択された状態となっているケースが多い。
従来例としては、例えば特許文献1に示すような技術が存在する。
特開2005−85132号公報
Device Stageからリンクされたアプリケーションを起動して、MFPにセットされた画像やドキュメントを読取る場合、一連の手順が従来とは多少異なる。より具体的には、Device Stageの画面が、Devices and Printersフォルダを経由して表示されため、次に示すような操作手順となる。
(2−1) Devices and Prinetesフォルダを開く。
(2−2) Devices and Prinetesフォルダ内で、操作対象の周辺装置を選択する。
(2−3) その周辺装置用のDevice Stage画面を開く。
(2−4) Device Stage画面上から、アプリケーションを起動する。
(2−5) アプリケーション上から、読取りを実行する。
例えば、MFPやスキャナ等の複数の入力装置が1台のPCに接続されていて、それらのドライバがインストールされている場合において、アプリケーションからあるスキャナを使って一度読取りが行われていたケースを考える。このとき、アプリケーションにおいて、次回このアプリケーションを起動するときのデフォルトデバイスとして、このスキャナが選択された状態となっている。ここで、前記ステップ(2−1)〜(2−5)の操作により、前記スキャナとは異なるMFPを使って、前記アプリケーションからこのMFPにセットされている画像やドキュメントの読取りを実行することを試みる。ステップ(2−5)において、アプリケーション上から読取りを実行した場合、このアプリケーションは、このMFPからではなく、このアプリケーション内でデフォルトデバイスと設定されているスキャナから画像やドキュメントの読取りを実行する。その結果、期待される画像やドキュメントを読取ることができず、画像やドキュメントの読取りに失敗する、という問題がある。
次に、MFPが、USBやEthernetネットワーク等の複数のインタフェースを介して1台のPCに接続されているケースを考える。この様なケースの場合、接続されるインタフェースによって、MFP用のドライバの名前が変わる。例えば、後述する図6に示すように、USB接続のTWAINドライバの場合は「ABC Kmmn (TWAIN)」というドライバ名が、前記アプリケーション内のスキャナ選択部に表示される。また、IHVネイティブプロトコルのネットワーク接続のTWAINドライバの場合は「ABC Kmmn (TWAIN) Network」というドライバ名が、前記アプリケーション内のスキャナ選択部に表示される。MFPが、USBとEthernetネットワークとの2つのインタフェースを介して1台のPCに接続されているとする。
まず、従来の操作手順により、ステップ(1−2)でアプリケーション内のスキャナ選択部でUSB接続のTWAINドライバ「ABC Kmmn (TWAIN)」を選択する。そして、ステップ(1−3)でアプリケーション上からUSBを介してMFPで読取りを実行する。読取りが完了した時点では、アプリケーションにおいて、次回このアプリケーションを起動するときのデフォルトデバイスとして、このUSB接続のTWAINドライバ「ABC Kmmn (TWAIN)」が選択された状態となっている。次に、MFPからUSBケーブルを抜き、MFPがEthernetネットワークだけを介してPCに接続されている状態にする。この状態から、Device Stageからリンクされたアプリケーションを起動する。そして、IHVネイティブプロトコルのネットワーク接続のTWAINドライバ「ABC Kmmn (TWAIN) Network」を使って、Ethernetネットワークを介してMFPで読取りを実行することを試みる。ステップ(2−5)において、アプリケーション上から読取りを実行した場合、このアプリケーションは、以下のような動作を行う。アプリケーションは、アプリケーション内でデフォルトデバイスと設定されているUSB接続のTWAINドライバ「ABC Kmmn (TWAIN)」を使って画像やドキュメントの読取りを実行しようとする。つまり、このアプリケーションは、IHVネイティブプロトコルのネットワーク接続のTWAINドライバ「ABC Kmmn (TWAIN) Network」は使わない。その結果、MFPがUSBを介してPCと接続されていないため、期待される画像やドキュメントを読取ることができず、画像やドキュメントの読取りに失敗する、という問題もある。
本発明はこの様な問題点に鑑みなされたもので、ユーザの使用環境に応じて適切なデバイスの機能を提供することを目的とする。
そこで、本発明の情報処理装置は、複数の機能を提供するデバイスを管理するデバイス管理手段と、前記デバイスが提供する複数の機能のうち、一の機能を利用する利用手段と、を有し、前記デバイス管理手段は、複数の機能を提供するデバイスを管理するデバイス管理画面を構成するためのデバイス管理制御用データに基づいて前記デバイスが提供する複数の機能のうち、前記一の機能とは別の機能が利用可能か否かを確認し、確認の結果に応じて、前記利用手段へのリンクを表すオブジェクトに引数を設定し、前記利用手段は、前記デバイス管理画面に表示されている前記利用手段へのリンクを表すオブジェクトが指定された場合、前記引数に基づいてデバイスを設定する。
また、本発明の情報処理装置は、監視対象のデバイスの状態を確認し、確認した結果に応じて監視対象のデバイスの状態を表す情報を監視対象のデバイスに対応する状態情報の値に反映させる反映手段と、前記デバイスを管理するデバイス管理手段と、前記デバイスが提供する機能を利用する利用手段と、を有し、前記デバイス管理手段は、デバイスを管理するデバイス管理画面を構成するためのデバイス管理制御用データに記述されている前記状態情報を示す情報に基づいて前記状態情報の値を確認し、確認の結果に応じて、前記利用手段へのリンクを表すオブジェクトに引数を設定し、前記利用手段は、前記デバイス管理画面に表示されている前記利用手段へのリンクを表すオブジェクトが指定された場合、前記引数に基づいてデバイスを設定する。
また、本発明の情報処理装置は、デバイスを管理するデバイス管理手段と、前記デバイスが提供する機能を利用する利用手段と、を有し、前記デバイス管理手段は、前記利用手段へのリンクを表すオブジェクトに、複数の機能を提供するデバイスを管理するデバイス管理画面を構成するためのデバイス管理制御用データに記述されている前記デバイスのドライバのモデル名を引数として設定し、前記利用手段は、前記デバイス管理画面に表示されている前記利用手段へのリンクを表すオブジェクトが指定された場合、前記引数のモデル名に基づいてデバイスのドライバを選択し、選択したデバイスのドライバに基づいてデバイスを設定する。
本発明によれば、ユーザの使用環境に応じて適切なデバイスの機能を提供することができる。
情報処理装置及び周辺装置からなる周辺装置制御システムのシステム構成の一例を示す図である。 PC及びMFPのハードウェア構成の一例を表す図である。 PCのソフトウェア構成の一例を表す図である。 PCにおけるプリンタドライバの構成の一例を示す図である。 Devices and Printersフォルダとデバイス管理画面との一例を示す図である。 WIAアプリケーションとTWAINアプリケーションとの一例を示す図である。 PCのソフトウェア構成の一例を表す図である。 デバイス管理制御用ファイルの内容を表す図である。 デバイス管理制御用ファイルの内容を表す図である。 デバイス管理とTWAINアプリケーションとのソフトウェア構成の一例を示す図である。 デバイス接続時の処理の一例を示すフローチャートである。 デバイス管理制御用ファイルのインストールの処理の一例を示すフローチャートである。 デバイス管理画面の起動の処理の一例を示すフローチャートである。 デバイス管理画面の表示内容の構築の処理の一例を示すフローチャートである。 TWAINアプリケーションの起動の処理の一例を示すフローチャートである。 デバイス管理画面とマニュアルとの一例を示す図である。 デバイス管理制御用ファイルの内容を表す図である。 デバイス管理制御用ファイルの内容を表す図である。 デバイス管理画面の表示内容の構築の処理の一例を示すフローチャートである。 デバイス管理制御用ファイルの内容を表す図である。 ネットワークユーティリティの一例を表す図である。 ネットワークユーティリティの処理の一例を示すフローチャートである。 デバイスN用ポーリング処理の一例を示すフローチャートである。 デバイス管理画面の表示内容の構築の処理の一例を示すフローチャートである。 TWAINアプリケーションの起動の処理の一例を示すフローチャートである。
以下、本発明の実施形態について図面に基づいて説明する。
尚、以下、Windows 7 Operating Systemの情報の内、特に詳しい説明を付加していないものに関しては、2009年7月22日現在、以下の参考サイト1で公開されている情報であるので、必要以上の説明を省略する。
参考サイト1:http://msdn.microsoft.com/en−us/library/default.aspx
また、以下、USBとは、Universal Serial Busを表す。USBに関しては、2009年7月22日現在、以下の参考サイト2で公開されている情報であるので、必要以上の説明を省略する。
参考サイト2:http://www.usb.org/home
また、以下において、WSDとは、Web Service on Devicesを表する。WSDに関しては、2009年7月22日現在、以下の参考サイト3で公開されている情報であるので、必要以上の説明を省略する。
参考サイト3:http://www.microsoft.com/whdc/connect/rally/rallywsd.mspx
また、以下において、WIAとは、Windows Image Acquisitionの略である。WIAは、Windows Operating System上でイメージスキャナ等から画像を入力するための標準インタフェース(API)であるので、必要以上の説明を省略する。
また、以下において、TWAINとは、TWAIN Working Groupによって管理されているPCとスキャナやデジタルカメラとの間のインタフェースである。TWAINに関しては、2009年7月22日現在、以下の参考サイト4で公開されている情報であるので、必要以上の説明を省略する。
参考サイト4:http://www.twain.org/
<実施形態1>
図1は、情報処理装置及び周辺装置からなる周辺装置制御システムのシステム構成の一例を示す図である。図1において、1、2は、情報処理装置であり、一般的なパーソナルコンピュータ(以下、PCと略す場合がある)で構成される。PC1、PC2は、図2(a)で後述するようなハードウェアで構成され、Operating System(以下、OSと略す場合がある)としてWindows 7と同等のOSがインストールされている。
PC1、PC2は、それぞれEthernet(登録商標)で構成されるネットワーク4、8に接続されている。3は、マルチファンクションプリンタ(以下、MFPと略す場合がある)であり、カラーインクジェットプリンタ、カラーファクシミリ、カラースキャナ、フラッシュメモリ用の外部ストレージ等で構成され、周辺装置の一例である。MFP3は、ABC社製のKmmnというモデル名のMFPである。尚、周辺装置としては、プリンタ、複写機、ファクシミリ、スキャナ、デジタルカメラ、及びこれらの複合機能(複数の機能)を備える装置等であってもよい。
MFP3は、図2(b)で後述するようなハードウェアで構成され、PC1とUSBインタフェース14及びネットワーク4を介して接続されており、互いに双方向通信が可能である。80は、アプリケーションであり、Windows用の実行可能形式のファイル(*.EXE)で構成される。アプリケーションの一例として、デバイス管理80は、後述する図5(b)に示すようなデバイス管理画面を表示する機能を備える。142は、図6(b)で後述するTWAIN対応のアプリケーションである。141は図7(b)で後述するTWAINドライバである。ネットワーク4は、MFP3を使用するユーザ(顧客)が住んでいる自宅に構築された一般家庭用のホームネットワークである。MFP3は、この自宅内でネットワーク4を介してPC1と接続されて家族間で共有使用されているMFPである。ネットワーク8は、ABC社内に構築されたオフィスネットワークである。ネットワーク8に接続されているPC2は、Webサーバの機能を備えるWebサーバ9を備えており、インターネットを介してABC社のWebサイトを提供している。10は、PC1に挿入可能なCD−ROMであり、ソフトウェア(プログラム)や電子ファイルが格納されている。11、12は、ファイル格納部であり、図8及び図9で後述するデバイス管理制御用ファイル800は、Webサーバ9やCD−ROM10内のファイル格納部11、12に格納されていて、これらから配布される。尚、デバイス管理制御用ファイル800は、デバイス管理制御用データの一例である。5は、アナログ電話回線であり、PC1におけるMFP3を介したファクシミリの送信又は受信に使用される。6は、フラッシュメモリであり、MFP3のフラッシュメモリ装着用のスロット(図では省略)に装着することで、PC1からストレージとして参照することができる。7は、MFPであり、XYZ社製のDefgというモデルであり、MFP3とは異なるデバイスである。
図2は、PC及びMFPのハードウェア構成の一例を表す図である。PC1、PC2は、図2の(a)に示すようなハードウェアで構成されている。図2の(a)ではPC1の例で説明する。図2の(a)に示す通り、PC1は、ランダムアクセスメモリ部(RAM201)、ハードディスクドライブ部(HDD202)、キーボード部(KBD203)、CPU204、を含む。また、PC1は、表示用ディスプレイ(LCD205)、ネットワークボード(NB207)、を含む。また、PC1は、以上の構成要素を互いに接続するバス206を有する。尚、HDD202は、記憶部の一例である。KBD203は、入力部の一例である。CPU204は、制御部の一例である。LCD205は、表示部の一例である。NB207は、通信制御部の一例である。USBインタフェース14用のUSBポートはNB207に含まれる。尚、記憶部は、可搬性CD−ROM又は内部据付のROM等であってもよい。デバイス管理80、TWAINアプリケーション142等のアプリケーションや、図3、図4、図7、図10に示す各モジュール(ソフトウェア)は、HDD202に記憶され、必要に応じてRAM201に読み出されてCPU204により実行される。これにより、CPU204が、デバイス管理(デバイス管理部)80、TWAINアプリケーション142等のアプリケーションや、図3、図4、図7、図10に示す各モジュール(ソフトウェア)の機能を実現する。尚、TWAINアプリケーション142は、利用手段の一例である。
MFP3は、図2(b)に示すようなハードウェア構成を持つ。図2(b)において、15は、マイクロプロセッサ等から構成されるCPUである。CPU15は、MFP3の中央処理装置として、ROM16に記憶されているプログラムに従って、RAM17、通信部18、記録部19、操作部20、表示部21、読取り部22、ファクシミリ制御部23、外部ストレージ制御部24を制御する。ROM16にはプリンタドライバ50(図4で後述する)の制御に従ってMFP3が記録(印刷)処理や、印刷動作の状態をPC1へ通知する処理を行うプログラムが記憶されている。また、ROM16には、FAXドライバ(図は省略)の制御に従ってMFP3がファクシミリの送信又は受信処理や、ファクシミリの送信又は受信の状態をPC1へ通知する処理を行うプログラムも記憶されている。更に、ROM16には、WIAドライバ704やTWAINドライバ141の制御に従ってMFP3が画像の読取り処理や、読取り動作の状態をPC1へ通知する処理を行うプログラムも記憶されている。RAM17は主にPC1から送られて、それをもとに記録部19によって印刷される印字データが一時的に記憶される。また、RAM17には、読取り部22で読取られた画像データ、PC1から送られてきたファクシミリの送信データ、ファクシミリ制御部で受信されたファクシミリの受信データ等も一時的に記憶される。
通信部18には、USBインタフェース14、ネットワーク4用の接続ポート、アナログ電話回線5用の接続ポート等が含まれており、USB、Ethernet、ファクシミリのアナログ通信を制御する。記録部19は、インクジェット方式の記録ヘッド、各カラーインク、キャリッジ、記録紙搬送機構等から構成される記録ユニットと、前記印字データをもとに前記記録ヘッドにて印字用パルスを発生させるためのASIC等から構成される電気回路とから構成される。印刷可能なアプリケーション上での印刷操作、又はファクシミリの送信操作によって、アプリケーションで開かれているファイルの表示内容(画像データ)が、EMF形式のスプールファイルとしてPC1のHDD202に一時的に格納される。そして、スプールファイルは、プリンタドライバ50、又はFAXドライバを介してMFP3制御用コマンドを含む印字データ、又はファクシミリの送信データに変換された後、USBインタフェース14、又はネットワーク4を介してMFP3に送られる。MFP3にて受信された印字データは、記録部19で印字用パルスに変換されて、記録紙上に印刷される。MFP3にて受信されたファクシミリの送信データは、ファクシミリ制御部23でファクシミリの通信プロトコルに変換されて、アナログ電話回線5を介して相手先のファクシミリ装置に送信される。20は、操作部であり、電源ボタン、リセットボタン等の各種ボタンから構成され、MFP3を操作することができる。21は、表示部であり、タッチパネルの液晶ディスプレイで構成され、MFP3の状態の表示や、各種設定や電話番号の表示、入力等を行うことができる。22は、読取り部であり、カラーイメージセンサや画像処理用のASIC等から構成される電気回路とから構成され、スキャナ機能を制御する。23は、ファクシミリ制御部であり、ファクシミリ用のモデムやアナログ通信回路等から構成され、ファクシミリの通信プロトコルに従ってファクシミリの送信や受信を制御する。24は、外部ストレージ制御部であり、フラッシュメモリ装着用のスロットやストレージ用のインタフェース回路等から構成され、装着されたフラッシュメモリを制御する。
図3は、PCのソフトウェア構成の一例を表す図である。図3において、92は、Ethernetを制御するEthernet制御スタックである。91は、IP Networkを制御するIP Network制御スタックである。90は、WSDを制御するWSD制御スタックである。89は、IHVの独自プロトコルを制御するIHVネイティブプロトコル制御スタックである。88は、ネットワークのプラグ アンド プレイ(以下、N−PnPと略す場合がある)を制御するN−PnP制御スタックである。尚、ネットワーク接続デバイスに対するサポートを提供する、プラグ アンド プレイの一連の拡張機能としてWindows 7 OSに標準搭載されている機能として、Plug and Play Extensions(PnP−X)が存在する。しかし、本実施形態ではこれと同等の機能として前記N−PnPを利用する例で説明する。85は、デバイスドライバ群であり、OSに標準で同梱されている標準ドライバ群87とIHVから提供されるIHV製ドライバ群86とから構成される。84は、アプリケーション/DDIインタフェースであり、Application Programing Interface(API)、Device Driver Interface(DDI)から構成される。80は、アプリケーションであり、OSに標準で同梱されているデバイス管理(Device Management)である。30は、図4で後述する印刷可能なアプリケーションである。142は、TWAIN対応のアプリケーションである。143は、図6(a)で後述するWIA対応のアプリケーションである。82は、アプリケーション群であり、デバイス管理80、アプリケーション30、142、143等から構成される。デバイス管理80は、図5(a)で後述するフォルダ500や、図5(b)で後述するデバイス管理画面600を、アプリケーション/DDIインタフェース84等を介して管理、実行、表示することができる。尚、フォルダ500は、以下単にフォルダ500と記す。
図4は、PCにおけるプリンタドライバの構成の一例を示す図である。図4において、50は、PC1にインストールされているMFP3用のプリンタドライバであり、33〜36、39の複数のモジュールから構成される。30は、印刷可能なアプリケーションであり、例えば、OSに標準で同梱されているテキストエディタであるNotepad(Notepad.exe)等に相当する。31は、Graphics Device Interface(GDI)であり、OSの一部である。32は、プリンタキューであり、スプーラ40の一部として構成され、印刷ジョブがキューイングされる。キューイングされた印刷ジョブは、後述する図19に示すプリンタキューフォルダ107に表示される。33は、プリントプロセッサであり、印刷レイアウトの変更や印刷画像に対する特殊処理が行われる。34は、グラフィックスドライバであり、プリンタドライバの画像処理のコアとして、GDI31から送られて来る描画命令をもとに印刷用の画像処理を行い、印刷制御コマンドを作成する。35は、UIモジュールであり、プリンタドライバのユーザインタフェースの提供及び制御を行う。36は、ランゲージモニタであり、データの通信I/Fとしてデータの送受信を制御する。39は、ステータスモニタであり、MFP3のインクの残量や、警告、エラー等の状態を表示する。37は、ポートモニタであり、ランゲージモニタ36から送られて来るデータを適切なポートに対して送信したり、MFP3から送られて来るデータを、クラスドライバ38を介して受信したりする処理を行う。38は、クラスドライバであり、最もポートに近いローレベルのモジュールである。本実施形態では、クラスドライバ38は、WSDやIHVの独自プロトコルのプリンタクラスのドライバに相当し、ポート(本実施形態ではUSB又はネットワークポート)を制御する。プリンタドライバ50は、MFP3の製造元であるABC社製のものである。
図5は、Devices and Printersフォルダとデバイス管理画面との一例を示す図である。図5の(a)において、500は、Devices and Printersフォルダであり、PC1上に表示され、PC1で利用できる状態となっているプリンタやFAXがドライバごとにこの中に表示される。本実施形態においては、XYZDefgという名称のデバイス501とABC Kmmnという名称のデバイス503とが利用可能なデバイスとして表示されている。デフォルトマーク502は、システムのデフォルトデバイスを示すもので、ここでは、デバイス501がデフォルトデバイスに設定されている状態を表す。フォルダ500において、デバイスのアイコンが点線で示されているデバイス501は、利用できない状態であることを表し、実線で示されているデバイス503は、利用可能な状態であることを表す。
図5(b)において、600は、デバイス管理画面であり、図5(a)に示すDevice and Printersフォルダ500内のデバイス503が選択されることにより起動されて、表示される。このデバイス管理画面600を使ってMFP3の管理を行うことができる。デバイス管理画面600の上部には、デバイスアイコン601、デバイス名602、製造元情報603が表示される。デバイスアイコン601のデータは、デバイス管理制御用ファイル格納部905の一部として保持されている(不図示)。また、デバイス名602には、フォルダ500のデバイス503のデバイス名称が、製造元情報603には、<dm:manufacturer>要素801に指定された文字列が表示される。デバイス管理画面600の下部には、デバイス503に関連付けられた機能へのリンクが表示されている。つまり、プリンタキューボタン604、印刷設定ボタン605、画像の読み込み(WIA)ボタン610、画像の読み込み(TWAIN)ボタン611が表示される。尚、以下、画像の読み込み(WIA)ボタン610は、単に読み込み(WIA)ボタン610とも記す。また、以下、画像の読み込み(TWAIN)ボタン611は、単に読み込み(TWAIN)ボタン611とも記す。尚、画像の読み込み(TWAIN)ボタン611は、オブジェクトの一例である。
後述する図8、図9に示す<dm:functions>要素803の中に、それぞれのボタン及び機能を表す<dm:function>要素804、839、840、841、842、843、844が記載されている。画像の読み込み(TWAIN)ボタン611は、PC1とMFP3との接続状況に応じてTWAINアプリケーション142起動時にセットされる引数が異なる。
図6は、WIAアプリケーションとTWAINアプリケーションとの一例を示す図である。図6の(a)において、143は、OS標準のWIAアプリケーションであり、後述する図7に示すWIAドライバ703又は704等のWIAドライバと連携してMFP3のスキャナを使って画像を読取ることができるソフトウェアである。620は、スキャナ選択部であり、画像を読取るスキャナ(ドライバ)として、PC1にインストールされているWIAドライバを選択することができる。図6の(a)では、「ABC Kmmn (WIA)」が選択されている状態を表す。スキャナ(ドライバ)の選択は、スキャナ変更ボタン624を押下することで表示される、図6の(c)で後述するスキャナ選択ダイアログ622上で行うことができる。
図6の(c)は、スキャナ選択ダイアログを表す図である。図6の(c)において、622は、OS標準のスキャナ選択ダイアログである。623は、スキャナ選択部であり、PC1にインストールされているWIAドライバがこの中に表示されていて、WIAドライバを選択することで、WIAアプリケーション143で画像を読取るスキャナ(ドライバ)を指定することができる。本実施形態では、次の何れかを選択することができる。
ABC Kmmn (WIA)
ABC Kmmn WSD (WIA)
XYZ Defg (WIA)
「ABC Kmmn (WIA)」
は、MFP3がUSBインタフェース14を介してPC1に接続されていて製造元(ABC社)製のIHV WIAドライバ704がインストールされている場合にMFP3に割り当てられたWIAドライバ704の選択肢を表す。
「ABC Kmmn WSD (WIA)」
は、MFP3がネットワーク4を介してWSDを使ってPC1に接続されていてOS標準のStandard WIAドライバ703がインストールされている場合にMFP3に割り当てられたWIAドライバ703の選択肢を表す。
「XYZ Defg (WIA)」
は、MFP7がネットワーク4を介してWSDを使ってPC1に接続されていてOS標準のStandard WIAドライバ703がインストールされている場合にMFP7に割り当てられたWIAドライバ703の選択肢を表す。図6の(c)では、「ABC Kmmn (WIA)」が選択されている状態を表す。
図6(b)において、142は、製造元(ABC社)製のTWAINアプリケーションであり、後述する図7に示すTWAINドライバ141と連携してMFP3のスキャナを使って画像を読取ることができるソフトウェアである。621は、スキャナ選択部であり、画像を読取るスキャナ(ドライバ)として、PC1にインストールされているTWAINドライバを選択することができる。本実施形態では、次の何れかを選択することができる。
ABC Kmmn (TWAIN)
ABC Kmmn (TWAIN) WSD
ABC Kmmn (TWAIN) Network
「ABC Kmmn (TWAIN)」は、MFP3がUSBインタフェース14を介してPC1に接続されていて製造元(ABC社)製のTWAINドライバ141がインストールされている場合にMFP3に割り当てられたTWAINドライバ141の選択肢を表す。「ABC Kmmn (TWAIN) WSD」は、MFP3がネットワーク4を介してWSDを使ってPC1に接続されていて、TWAINドライバ141がインストールされている場合に、MFP3に割り当てられたTWAINドライバ141の選択肢を表す。「ABC Kmmn (TWAIN) Network」は、MFP3がネットワーク4を介してIHVネイティブプロトコルを使ってPC1に接続されていて、TWAINドライバ141がインストールされている場合に、MFP3に割り当てられたTWAINドライバ141の選択肢を表す。図6の(b)では、「ABC Kmmn (TWAIN)」が選択されている状態を表す。
図6の(d)は、スキャナ選択ダイアログを表す図である。図6の(d)において、625は、TWAINアプリケーション142が表示するスキャナ選択ダイアログである。626は、スキャナ選択部であり、PC1にインストールされているTWAINドライバがこの中に表示されている。ユーザがこのTWAINドライバを選択することで、TWAINアプリケーション142で画像を読取るスキャナ(ドライバ)を指定することができる。本実施形態では、次の何れかを選択することができる。
ABC Kmmn (TWAIN)
ABC Kmmn (TWAIN) WSD
ABC Kmmn (TWAIN) Network
これらの各TWAINドライバに関しては、スキャナ選択部621で前述したものと同一である。図6の(d)では、「ABC Kmmn (TWAIN) Network」が選択されている状態を表す。627はOKボタンであり、このボタンが押下されると、スキャナ選択部626で選択されているTWAINドライバが指定された状態で、TWAINアプリケーション142が起動される。TWAINアプリケーション142は、後述する起動時の第1引数であるTWAINドライバ名が""(空)、即ち不明なデバイスのとき、スキャナ選択ダイアログ625を表示する。
TWAINアプリケーション142は、次に示す起動時の引数により、アプリケーション起動時に選択されるデフォルトのスキャナ(ドライバ)と、起動元と、を指定する機能を備える。
第1引数: TWAINドライバ名
第2引数: 起動元
/devmng・・・デバイス管理画面から起動
/other・・・デバイス管理画面以外から起動
[例1]
TWAINScan.exe "ABC Kmmn (TWAIN)" /devmng
デバイス管理画面600上からTWAINアプリケーション142を起動して、USB接続でTWAINドライバ141を使ってMFP3で画像を読取るケースの例。
[例2]
TWAINScan.exe "ABC Kmmn (TWAIN) WSD" /devmng
デバイス管理画面600上からTWAINアプリケーション142を起動して、WSDのネットワーク接続でTWAINドライバ141を使ってMFP3で画像を読取るケースの例。
[例3]
TWAINScan.exe "ABC Kmmn (TWAIN) Network"/devmng
デバイス管理画面600上からTWAINアプリケーション142を起動して、IHVネイティブプロトコルのネットワーク接続でTWAINドライバ141を使ってMFP3で画像を読取るケースの例。
[例4]
TWAINScan.exe "ABC Kmmn (TWAIN)" /other
デバイス管理画面以外からTWAINアプリケーション142を起動して、USB接続でTWAINドライバ141を使ってMFP3で画像を読取るケースの例。
前記例1と例4とでは、起動元を表す第2引数だけが異なるが、この第2引数を利用して、TWAINアプリケーション142が、起動元に応じて起動時又は起動後の処理を切換えることができ、ユーザの操作性を向上することができる。第1引数を付加してTWAINアプリケーション142を起動することで、ユーザがスキャナ選択部621でスキャナ(ドライバ)を選択して指定する代わりに、特別な操作を行うことなく自動的に画像を読取るスキャナ(ドライバ)を指定することができる。
[例5]
TWAINScan.exe "" /devmng
デバイス管理画面600上から、図6の(d)に示すスキャナ選択ダイアログ625を表示した後、ユーザにTWAINドライバを選択させた上で、TWAINアプリケーション142を起動。そして、ユーザが選択したTWAINドライバ141を使ってMFP3で画像を読取るケースの例。
図7は、PCのソフトウェア構成の一例を表す図である。図7の(a)、(b)において、705は、OS標準のカーネルI/Oドライバである。図7の(a)はWIAアプリケーション143を使ってMFP3で画像を読取るために必要なソフトウェア構成を表す。143は、図6(a)に示すOS標準のWIAアプリケーションである。703は、OS標準のStandard WIAドライバである。704は、製造元(ABC社)製のIHV WIAドライバである。702は、OS標準のSTI/WIA Serviceであり、WIAアプリケーション143とWIAドライバ703、704とのインタフェースである。
図7(b)は、TWAINアプリケーション142を使ってMFP3で画像を読取るために必要なソフトウェア構成を表す。142は、図6(b)に示す製造元(ABC社)製のTWAINアプリケーションである。707は、OS標準のTWAINデータソースマネージャである。141は製造元(ABC社)製のTWAINドライバである。MFP3用のTWAINデータソースは、TWAINドライバ141の中に含まれている。
図8及び図9は、デバイス管理制御用ファイルの内容を表す図である。デバイス管理制御用ファイル800は、英語用のものである。これらの図に示す情報が、ファイル格納部11又は12に格納されている。図8において、<dm:manufacturer>要素801にはデバイス(MFP3)の製造元であるABC社の名前がセットされている。<dm:model>要素802にはデバイス(MFP3)のモデル名であるKmmnがセットされている。これらの情報は、デバイス管理制御用ファイル800のインストール時に利用される。また、デバイス管理制御用ファイル800には、デバイス管理画面600を構成するために必要な情報も記載されている。
MFP3がPC1に接続されているときに起動して表示されるデバイス管理画面600上に、図5に示す
「プリンタキューボタン604、印刷設定ボタン605、読み込み(WIA)ボタン610、読み込み(TWAIN)ボタン611」
を表示するために、それぞれのボタン及び機能を表す<dm:function>要素804、839、840、841、842、843、844が<dm:functions>要素803の中にセットされている。
<dm:function>要素804において、
<dm:name xml:lang="en−US">OpenPrinterQueue</dm:name>要素805
には、プリンタキューボタン604上に表示される「Open Printer Queue」という文字列がセットされている。
<dm:execute>openPrinterQueue</dm:execute>要素806
には、プリンタキューフォルダを表示する機能(プログラム)を表すopenPrinterQueueというコードがセットされている。ここでは図示しないが、プリンタキューフォルダは印刷ジョブの状態を表示する機能を備えている。
<dm:function>要素839において、
<dm:name xml:lang="en−US">Printing Preferences</dm:name>要素807
には、印刷設定ボタン605上に表示される「Printing Preferences」という文字列がセットされている。
<dm:execute>printingPreferences</dm:execute>要素808
には、印刷設定ダイアログを表示する機能(プログラム)を表すprintingPreferencesというコードがセットされている。ここでは図示しないが、印刷設定ダイアログとは、プリンタドライバ50のUIモジュール35に備えられている印刷設定画面を表す。
<dm:function>要素840において、
<dm:name xml:lang="en−US">Image Scan (WIA)</dm:name>要素809
には、読み込み(WIA)ボタン610に表示される「Image Scan (WIA)」という文字列がセットされている。
<dm:required>要素810
には、読み込み(WIA)ボタン610を表示するための条件を表す情報がセットされている。
<dm:device>scanner</dm:device>要素811
は、USBインタフェース14又はWSDのネットワーク4を介してPC1に接続されているデバイスが、WIAドライバ704又は703を利用したスキャナ機能を備えていることを表す。
<dm:available>true</dm:available>要素812
は、USBインタフェース14又はWSDのネットワーク4を介してPC1に接続されているデバイスにおいて、WIAドライバ704又は703を利用したスキャナ機能が利用可能な状態であることを表す。即ち、<dm:required>要素810で表される条件とは、WIAドライバ704又は703を利用した、USB又はWSDのネットワーク接続での画像の読み込みが可能なケースのことである。
<dm:execute>wiaScan</dm:execute>要素813
には、WIAアプリケーション143を起動する機能(プログラム)を表すwiaScanというコードがセットされている。
<dm:function>要素841において、
<dm:name xml:lang="en−US">Image Scan (TWAIN)</dm:name>要素814
には、読み込み(TWAIN)ボタン611に表示される「Image Scan (TWAIN)」という文字列がセットされている。
<dm:required>要素845
には、読み込み(TWAIN)ボタン611を表示するための条件を表す情報がセットされている。
<dm:device>storage</dm:device>要素815
は、USBインタフェース14を介してPC1に接続されているデバイスが、ストレージ機能を備えていることを表す。
<dm:available>true</dm:available>要素816
は、USBインタフェース14を介してPC1に接続されているデバイスのストレージ機能が、利用可能な状態であることを表す。PC1に接続されているデバイス(MFP3)のスキャナ機能が利用可能であることを判別するには、<dm:required>要素810を利用するのが一般的であると思われる。しかしWindows 7 OSにおいては、<dm:required>要素810を利用する場合、自動切換え制御を行うことができない。つまり、Windows 7 OSは、TWAINドライバ141を利用したスキャナ機能において、USB接続とWSDのネットワーク接続とを区別して、それぞれの接続に合わせて適切な制御を行う、等の自動切換え制御を行うことができない。従って、<dm:required>要素810では、TWAINアプリケーション142の起動時の引数として、PC1とMFP3とのインタフェースに応じて、それぞれのインタフェースにマッチする適切な値をセットすることができない。
そこで、<dm:required>要素845で表されるような、スキャナ機能とは関係の無い別の機能である「ストレージ機能が利用可能であるという状態」を利用する。つまり、これを利用してPC1とデバイス(MFP3)とのインタフェースを特定したスキャナ機能の判別を行うことで、TWAINアプリケーション142起動時に適切な情報を引数としてセットして、ユーザの操作性を向上している。
この様に、<dm:required>要素845で表される条件とは、ここでは、TWAINドライバによるUSB接続での画像の読み込みが可能なケースのことである。
<dm:execute>TWAINScan.exe "ABC Kmmn (TWAIN)" /devmng</dm:execute>要素817
には、TWAINアプリケーション142を起動する機能(プログラム)を表すTWAINScan.exe "ABC Kmmn (TWAIN)" /devmngというコードがセットされている。これにより読み込み(TWAIN)ボタン611が押下された場合、デフォルトのスキャナ(ドライバ)にUSB接続のTWAINドライバ141を表す
「ABC Kmmn (TWAIN)」
がセットされた状態でTWAINアプリケーション142が起動されるので、ユーザの操作性に優れる。
<dm:function>要素842において、
<dm:name xml:lang="en−US">Image Scan (TWAIN) − Select Device</dm:name>要素818
には、読み込み(TWAIN)ボタン611に表示される「Image Scan (TWAIN) − Select Device」という文字列がセットされている。尚、このように、読み込み(TWAIN)ボタン611に表示される文字列は、<dm:name>要素にセットされている文字列が反映されるので、図5の(b)で表示されている文字列と若干異なる場合がある。
<dm:required>要素846
には、読み込み(TWAIN)ボタン611を表示するための条件を表す情報がセットされている。
<dm:device>storage</dm:device>要素819
は、USBインタフェース14を介してPC1に接続されているデバイスが、ストレージ機能を備えていることを表す。
<dm:available>false</dm:available>要素820
は、USBインタフェース14を介してPC1に接続されているデバイスのストレージ機能が、利用できない状態であることを表す。PC1に接続されているデバイス(MFP3)のスキャナ機能が利用できない状態であることを判別するには、
<dm:required>
<dm:device>scanner</dm:device>
<dm:available>false</dm:available>
</dm:required>
を利用するのが一般的であると思われる。
しかしながら、Windows 7 OSにおいては、<dm:required>要素を利用する場合、以下の様な制御を行うことができない。つまり、TWAINドライバ141を利用したスキャナ機能において、USB接続とWSDのネットワーク接続とを区別して、それぞれの接続に合わせて適切な制御を行う、等の自動切換え制御を行うことができない。従って、この<dm:required>要素では、TWAINアプリケーション142の起動時の引数として、PC1とMFP3とのインタフェースに応じて、それぞれのインタフェースにマッチする適切な値をセットすることができない。そこで<dm:required>要素846で表されるようなスキャナ機能とは関係の無い別の機能である「ストレージ機能が利用できないという状態」を利用してPC1とデバイス(MFP3)とのインタフェースを特定したスキャナ機能の判別を行う。このことで、TWAINアプリケーション142起動時に適切な情報を引数としてセットして、ユーザの操作性を向上している。この様に、<dm:required>要素846で表される条件とは、ここでは、TWAINドライバによるUSB接続での画像の読み込みができないケースのことである。例えば、PC1とMFP3とがUSBインタフェース14やネットワーク4を介して接続されていないケースを表す。この様なケースにおいては、TWAINアプリケーション142が、まず、図6の(d)に示すスキャナ選択ダイアログ625を表示する。そして、ユーザが選択したTWAINドライバをスキャナ選択部621にセットした状態で、TWAINアプリケーション142が起動するのが望ましい。
従って、図6の(d)に示すスキャナ選択ダイアログ625を表示させる、読み込み(TWAIN)ボタン611を構築するための情報をセットしておく。
<dm:execute>TWAINScan.exe "" /devmng</dm:execute>要素821
には、TWAINアプリケーション142を起動する機能(プログラム)を表すTWAINScan.exe "" /devmngというコードがセットされている。これにより読み込み(TWAIN)ボタン611が押下された場合、以下の様にTWAINアプリケーション142が起動される。つまり、まず、スキャナ選択ダイアログ625が表示され、ユーザが選択したTWAINドライバがスキャナ選択部621にセットされた状態でTWAINアプリケーション142が起動される。このようにすることで、ユーザが、使用したいスキャナを未だ準備していないようなケースにおいても、使用したいスキャナ(ドライバ)を正しく指定して、TWAINアプリケーション142を起動することができるので、ユーザの操作性に優れる。
<dm:function>要素843において、
<dm:name xml:lang="en−US">Image Scan (TWAIN)</dm:name>要素822
には、読み込み(TWAIN)ボタン611に表示される「Image Scan (TWAIN)」という文字列がセットされている。
<dm:required>要素847
には、読み込み(TWAIN)ボタン611を表示するための条件を表す情報がセットされている。
<dm:device>printer</dm:device>要素823
は、PC1に接続されているデバイスが、プリンタ機能を備えていることを表す。
<dm:available>true</dm:available>要素824
は、PC1に接続されているデバイスのプリンタ機能が、利用可能な状態であることを表す。
<dm:port>WSD</dm:port>要素825
は、デバイスのプリンタ機能を利用するためのポートがWSDポートであることを表す。ここで、WSDポートとは、WSDを利用したネットワーク接続のポートである。
尚、<dm:port>WSD</dm:port>要素825は、OSの標準機能として定義されている。PC1に接続されているデバイス(MFP3)のスキャナ機能が利用可能であることを判別するには、<dm:required>要素810を利用するのが一般的であると思われる。しかしながら、Windows 7 OSにおいては、<dm:required>要素810を利用する場合、以下の様な制御を行うことができない。つまり、TWAINドライバ141を利用したスキャナ機能において、USB接続とWSDのネットワーク接続とを区別して、それぞれの接続に合わせて適切な制御を行う、等の自動切換え制御を行うことができない。従って、<dm:required>要素810では、TWAINアプリケーション142の起動時の引数として、PC1とMFP3とのインタフェースに応じて、それぞれのインタフェースにマッチする適切な値をセットすることができない。そこで、<dm:required>要素847で表されるような、スキャナ機能とは関係の無い別の機能である「プリンタ機能が利用可能であるという状態」と「プリンタ機能のポート名」とを利用する。つまり、これらを利用して、PC1とデバイス(MFP3)とのインタフェースを特定したスキャナ機能の判別を行うことで、TWAINアプリケーション142起動時に適切な情報を引数としてセットして、ユーザの操作性を向上している。この様に、<dm:required>要素847で表される条件とは、ここでは、TWAINドライバによるWSDのネットワーク接続での画像の読み込みが可能なケースのことである。
<dm:execute>TWAINScan.exe "ABC Kmmn (TWAIN) WSD" /devmng</dm:execute>要素826
には、TWAINアプリケーション142を起動する機能(プログラム)を表すTWAINScan.exe "ABC Kmmn (TWAIN) WSD" /devmng
というコードがセットされている。これにより、読み込み(TWAIN)ボタン611が押下された場合、以下の様にTWAINアプリケーション142が起動される。つまり、デフォルトのスキャナ(ドライバ)にWSDのネットワーク接続のTWAINドライバ141を表す「ABC Kmmn (TWAIN) WSD」がセットされた状態でTWAINアプリケーション142が起動される。従って、ユーザの操作性に優れる。
<dm:function>要素844において、
<dm:name xml:lang="en−US">Image Scan (TWAIN)</dm:name>要素827
には、読み込み(TWAIN)ボタン611に表示される「Image Scan (TWAIN)」という文字列がセットされている。
<dm:required>要素848
には、読み込み(TWAIN)ボタン611を表示するための条件を表す情報がセットされている。
<dm:device>printer</dm:device>要素828
は、PC1に接続されているデバイスが、プリンタ機能を備えていることを表す。
<dm:available>true</dm:available>要素829
は、PC1に接続されているデバイスのプリンタ機能が、利用可能な状態であることを表す。以下において、invert="yes"属性は、論理を反転することを意味する。
<dm:port invert="yes">LPT</dm:port>要素830は、デバイスのプリンタ機能を利用するためのポートがLPT(パラレル)ポートではないことを表す。
<dm:port invert="yes">COM</dm:port>要素831
は、デバイスのプリンタ機能を利用するためのポートがCOM(シリアル)ポートではないことを表す。
<dm:port invert="yes">FILE</dm:port>要素832
は、デバイスのプリンタ機能を利用するためのポートがFILE(ファイル出力)ポートではないことを表す。
<dm:port invert="yes">IR</dm:port>要素833
は、デバイスのプリンタ機能を利用するためのポートがIrDA(赤外線)ポートではないことを表す。
<dm:port invert="yes">XPS</dm:port>要素834
は、デバイスのプリンタ機能を利用するためのポートがXPS(XPSファイル出力)ポートではないことを表す。
<dm:port invert="yes">BTH</dm:port>要素835
は、デバイスのプリンタ機能を利用するためのポートがBluetoothポートではないことを表す。
<dm:port invert="yes">USB</dm:port>要素836
は、デバイスのプリンタ機能を利用するためのポートがUSBポートではないことを表す。
<dm:port invert="yes">WSD</dm:port>要素837
は、デバイスのプリンタ機能を利用するためのポートがWSDポートではないことを表す。PC1に接続されているデバイス(MFP3)のスキャナ機能が利用可能であることを判別するには、<dm:required>要素810を利用するのが一般的であると思われる。しかしながら、Windows 7 OSにおいては、<dm:required>要素810を利用する場合、TWAINドライバ141を利用したスキャナ機能において、IHVネイティブプロトコルのネットワーク接続を検出することができない。
また、プリンタ機能用のIHVネイティブプロトコルのネットワークポート名には、ABC_NET_<MACアドレス>というように、デバイスに依存する可変の情報であるMACアドレスが含まれていて、OSの標準ポートではない。このことから、OSの標準機能としても定義されていない。従って、<dm:port>要素でIHVネイティブプロトコルのネットワークポートを判別することが困難である。この様に、
<dm:required>要素810や
<dm:required>要素847
では、IHVネイティブプロトコルのネットワーク接続において、TWAINアプリケーション142の起動時の引数として、PC1とMFP3とのインタフェースに応じて、それぞれのインタフェースにマッチする適切な値をセットすることができない。そこで、<dm:required>要素848で表されるような、スキャナ機能とは関係の無い別の機能である「プリンタ機能が利用可能であるという状態」と「プリンタ機能のポート名の排他論理」とを利用する。つまり、これらを利用してPC1とデバイス(MFP3)とのインタフェースを特定したスキャナ機能の判別を行うことで、TWAINアプリケーション142の起動時に適切な情報を引数としてセットして、ユーザの操作性を向上している。この様に、<dm:required>要素848で表される条件とは、ここでは、TWAINドライバによるIHVネイティブプロトコルのネットワーク接続での画像の読み込みが可能なケースのことである。
<dm:execute>TWAINScan.exe "ABC Kmmn (TWAIN) Network" /devmng</dm:execute>要素838
には、TWAINアプリケーション142を起動する機能(プログラム)を表すTWAINScan.exe "ABC Kmmn (TWAIN) Network" /devmngというコードがセットされている。これにより、読み込み(TWAIN)ボタン611が押下された場合、以下のようにTWAINアプリケーション142が起動される。つまり、デフォルトのスキャナ(ドライバ)にIHVネイティブプロトコルのネットワーク接続のTWAINドライバ141を表す「ABC Kmmn (TWAIN) Network」がセットされた状態でTWAINアプリケーション142が起動される。従って、ユーザの操作性に優れる。
図10は、デバイス管理とTWAINアプリケーションとのソフトウェア構成の一例を示す図である。図10において、デバイス管理80は、表示部901、デバイス管理制御部902、リンク実行部903、デバイス管理制御用ファイル読取り部904、デバイス管理制御用ファイル格納部905からなる。デバイス管理制御用ファイル格納部905には、図12のステップS1405で保存されたデバイス管理制御用ファイル800が格納されている。TWAINアプリケーション142は、起動元判断部906、アプリケーション制御部907、デフォルトデバイス設定部908、読取り制御部909、ステータス取得部910により構成される。読取り制御部909は、MFP3で読取られてTWAINドライバ141から転送された画像データに、適切な画像処理等を行うモジュールである。ステータス取得部910は、TWAINドライバ141を介してMFP3の状態(ステータス)をモニタし、MFP3の状態を表す制御コマンドを取得するモジュールである。デバイス管理画面600は、MFP3がUSBインタフェース14又はネットワーク4を介してPC1に接続されるか、或いは、図5(a)に示すフォルダ500内のデバイスが選択されることにより起動・表示される。ここでは、MFP3がUSBインタフェース14又はネットワーク4を介してPC1に接続され、図5(b)に示すデバイス管理画面600が起動・表示される場合の例を中心に説明する。
図11は、デバイス接続時の処理の一例を示すフローチャートである。図11のフローチャートに係るプログラムは、HDD202に記憶されており、RAM201に読み出され、CPU204により実行される。
デバイス(MFP3)がPC(PC1)にUSBインタフェース14又はネットワーク4を介して接続されると(S1301)、PC1がデバイスIDを取得する(S1302)。デバイスIDは、例えば「MFG:ABC;MDL:Kmmn;CLS:PRINTER;CMD:K4;DES:ABC Kmmn;」のような文字列で表されるものである。PC1がUSBインタフェース14又はネットワーク4を介してMFP3から取得することができるMFP3のプリンタ機能のデバイスIDであり、次の情報を表す。
製造元(MFG:) : ABC
モデル(MDL:) : Kmmn
クラス(CLS:) : PRINTER
コマンド(CMD:): K4(ABC社プライベートの印刷制御用コマンド)
ディスクリプション(DES:): ABC Kmmn
次に、デバイス管理80が、PC1にドライバ(プリンタドライバ50、FAXドライバ、WIAドライバ703又は704、及びTWAINドライバ141)が既にインストール済みかを判断する(S1303)。以下、図11の説明においてドライバ(プリンタドライバ50、FAXドライバ、WIAドライバ703又は704、及びTWAINドライバ141)は、単にドライバと記す。
ステップS1303において、ドライバが未だインストールされていないと判断された場合、OSがドライバをインストールする(S1304)。その後、OSがドライバをロードする(S1305)。ドライバが正しくロードされると、図5(a)に示すフォルダ500にデバイス(MFP3)が登録された状態となる。デバイス管理80が、PC1に図8及び図9に示すデバイス管理制御用ファイル800が既にインストール済みかを判断する(S1306)。ステップS1306において、インストール済みのデバイス管理制御用ファイルがドライバと整合しているか否かは、デバイスIDに含まれる製造元(MFG:)、モデル(MDL:)情報をもとに判定される。ステップS1306において、デバイス管理制御用ファイル800が未だインストールされていない場合、デバイス管理80が図12で後述するデバイス管理制御用ファイルのインストールの処理を実行する(S1307)。そして、デバイス管理80が図13で後述するデバイス管理画面の起動の処理を実行し(S1308)、デバイス管理80がデバイス接続時の処理を完了する(S1309)。ステップS1306において、デバイス管理制御用ファイル800が既にインストールされている場合、ステップS1308へ進む。ステップS1303において、ドライバが既にインストールされている場合、ステップS1305へ進む。
図12は、デバイス管理制御用ファイルのインストールの処理の一例を示すフローチャートである。図12のフローチャートに係るプログラムは、HDD202に記憶されており、RAM201に読み出され、CPU204により実行される。
図11のステップS1307において、デバイス管理制御用ファイルのインストールの処理が実行されると、図12において、デバイス管理80がデバイス管理のインストールの処理を開始する(S1401)。まず、デバイス管理80がUSBインタフェース14又はネットワーク4を介して接続されているデバイス(MFP3)のデバイスIDを確認する(S1402)。このデバイスIDに含まれている製造元(MFG:)、モデル(MDL:)情報をもとに、デバイス管理80がPC1に接続されているデバイス(MFP3)用のデバイス管理制御用ファイル800を検索する(S1403)。図8及び図9のデバイス管理制御用ファイル800には、<dm:manufacturer>要素801、<dm:model>要素802にデバイス(MFP3)に対応した製造元(MFG:)「ABC」、モデル(MDL:)「Kmmn」が記載されている。
要素801、要素802に記載されている情報をもとに、デバイス管理80がWebサーバ9又はPC1に挿入されたCD−ROM10内のファイル格納部11又は12から、デバイス(MFP3)用のデバイス管理制御用ファイル800を検索する。デバイス管理80が、ファイル格納部11又は12からデバイス管理制御用ファイル800が見つかったか否かを判断する(S1404)。ステップS1404において、デバイス管理制御用ファイル800が見つかった場合、デバイス管理80がそのデバイス管理制御用ファイル800をPC1のHDD202内の所定の位置に保存する(S1405)。そして、デバイス管理80がデバイス管理制御用ファイル800をインストールする(S1406)。インストールが完了すると、デバイス管理80がデバイス管理制御用ファイルのインストールの処理を終了する(S1407)。
本実施形態においては、デバイス(MFP3)に対応したデバイス管理制御用ファイル800が検出され、インストールされたものとする。ステップS1404において、デバイス管理制御用ファイル800が見つからなかった場合、デバイス管理80がデバイス管理制御用ファイル800をインストールせずに、デバイス管理制御用ファイルのインストールの処理を終了する(S1407)。
図13は、デバイス管理画面の起動の処理の一例を示すフローチャートである。図13のフローチャートに係るプログラムは、HDD202に記憶されており、RAM201に読み出され、CPU204により実行される。
図11のステップS1308において、デバイス管理80がデバイス管理の起動の処理を実行すると、図13において、デバイス管理80がデバイス管理画面の起動の処理を開始する(S1501)。また、ユーザがフォルダ500内のデバイス503を選択した場合も、デバイス管理80がデバイス管理画面の起動の処理を開始する。
デバイス管理制御部902がフォルダ500にて選択されたデバイス名を取得する(S1502)。本実施形態においては、デバイス503が選択されているので、「ABC Kmmn」というデバイス名が取得される。このデバイス名をもとに、デバイス管理制御用ファイル読取り部904が図12のステップS1405で保存された図8及び図9に示すデバイス管理制御用ファイル800をロードする(S1503)。このデバイス管理制御用ファイル800をもとに、デバイス管理制御部902が図14で後述するデバイス管理画面の表示内容の構築処理を実行する(S1504)。ステップS1504で構築されたデバイス管理画面の表示内容に従って、デバイス管理制御部902が表示部901を介してデバイス管理画面600を表示する(S1505)。そして、デバイス管理80がデバイス管理画面の起動の処理を終了する(S1506)。
図14は、デバイス管理画面の表示内容の構築の処理の一例を示すフローチャートである。図14のフローチャートに係るプログラムは、HDD202に記憶されており、RAM201に読み出され、CPU204により実行される。
図13のステップS1504において、デバイス管理画面の表示内容の構築処理が実行されると、デバイス管理制御部902がデバイス管理画面の表示内容の構築の処理を開始する(S1201)。デバイス管理制御部902が図8の<dm:name>要素805と<dm:execute>要素806との内容に従って、プリンタキューボタン604を構築する(S1202)。デバイス管理制御部902が図8の<dm:name>要素807と<dm:execute>要素808との内容に従って、印刷設定ボタン605を構築する(S1203)。
デバイス管理制御部902が図8の<dm:device>要素811と<dm:available>要素812との内容に従って、スキャナの接続とインストール状況を確認する(S1204)。
確認の結果、MFP3がUSBインタフェース14を介してPC1に接続されていて(S1205)、製造元(ABC社)製のIHV WIAドライバ704がインストールされている場合、ステップ1206へ進む。或いは、MFP3がネットワーク4を介してWSDを使ってPC1に接続されていて、OS標準のStandard WIAドライバ703がインストールされている場合(S1205)、ステップ1206へ進む。これらの何れにも該当しない場合(S1205)、ステップS1207へ進む。
ステップS1206において、デバイス管理制御部902が図8の<dm:name>要素809と<dm:execute>要素813との内容に従って、読み込み(WIA)ボタン610を構築する。ステップS1206は、IHV WIAドライバ704又はStandard WIAドライバ703によるUSB又はネットワーク(WSD)接続での画像の読み込みが可能なケースを表す。
ステップS1207において、デバイス管理制御部902が図8の<dm:device>要素815と<dm:available>要素816との内容に従って、ストレージ機能の接続とインストール状況を確認する。又は、ステップS1207において、デバイス管理制御部902が図8の<dm:device>要素819と<dm:available>要素820との内容に従って、ストレージ機能の接続とインストール状況を確認する。
確認の結果、MFP3がUSBインタフェース14を介してPC1に接続されていて、OS標準のストレージクラスのドライバがインストールされている場合(S1208)、ステップS1209へ進む。それ以外の場合(S1208)、ステップS1210へ進む。
ステップS1209において、デバイス管理制御部902が図8の<dm:name>要素814と<dm:execute>要素817との内容に従って、USB接続用の読み込み(TWAIN)ボタン611を構築する。ステップS1209は、TWAINドライバ141によるUSB接続での画像の読み込みが可能なケースを表す。
ステップS1210において、デバイス管理制御部902が図8の<dm:name>要素818と<dm:execute>要素821との内容に従って、図6の(d)に示すスキャナ選択ダイアログ625を表示する。そして、デバイス管理制御部902は、ユーザによって選択される接続用の読み込み(TWAIN)ボタン611を構築する。ステップS1210は、TWAINドライバ141によるUSB接続での画像の読み込みができないケース、例えば、PC1とMFP3とがUSBインタフェース14やネットワーク4を介して接続されていないケースを表す。この様なケースにおいては、TWAINアプリケーション142が、まず、図6の(d)に示すスキャナ選択ダイアログ625を表示する。そして、ユーザが選択したTWAINドライバをスキャナ選択部621にセットした状態で、TWAINアプリケーション142が起動するのが望ましい。従って、図6の(d)に示すスキャナ選択ダイアログ625を表示させる読み込み(TWAIN)ボタン611を構築する。
そして、デバイス管理制御部902が図8の<dm:device>要素823、<dm:available>要素824、及び<dm:port>要素825の内容に従って、プリンタの接続とインストール状況とを確認する(S1211)。
確認の結果、MFP3がネットワーク4を介してWSDを使ってPC1に接続されていて、プリンタドライバ50がインストールされている場合(S1212)、ステップS1213へ進む。それ以外の場合(S1212)、ステップS1214へ進む。ステップS1213において、デバイス管理制御部902が図8の<dm:name>要素822と<dm:execute>要素826との内容に従って、ネットワーク(WSD)接続用の読み込み(TWAIN)ボタン611を構築する。
ステップS1213は、TWAINドライバ141によるネットワーク(WSD)接続での画像の読み込みが可能なケースを表す。
デバイス管理制御部902が図9の<dm:device>要素828、<dm:available>要素829、及び<dm:port>要素830〜837の内容に従って、プリンタの接続とインストール状況を確認する(S1214)。
確認の結果、MFP3がネットワーク4を介してIHVネイティブプロトコルを使ってPC1に接続されていて、プリンタドライバ50がインストールされている場合(S1215)、ステップS1216へ進む。それ以外の場合、ステップS1217へ進み、デバイス管理画面の表示内容の構築処理を終了する。
ステップS1216においてデバイス管理制御部902が図9の<dm:name>要素827と<dm:execute>要素838との内容に従ってネットワーク(IHVネイティブプロトコル)接続用の読み込み(TWAIN)ボタン611を構築する。ステップS1216は、TWAINドライバ141によるネットワーク(IHVネイティブプロトコル)接続での画像の読み込みが可能なケースを表す。その後、ステップS1217へ進み、デバイス管理画面の表示内容の構築処理を終了する。
図15は、TWAINアプリケーションの起動の処理の一例を示すフローチャートである。図15のフローチャートに係るプログラムは、HDD202に記憶されており、RAM201に読み出され、CPU204により実行される。
デバイス管理画面600上の読み込み(TWAIN)ボタン611が押下されると(指定されると)、TWAINアプリケーション142の起動の処理が開始される(S1101)。ステップS1101において、図10のデバイス管理80内のデバイス管理制御部902が、リンク実行部903を介して図8、図9の<dm:execute>要素817、821、826、又は838に記載されている情報をアプリケーション制御部907に渡す。この情報から、アプリケーション制御部907が第1引数のTWAINドライバ名で表されたデバイス指定情報を取得する(S1102)。
アプリケーション制御部907が第1引数のTWAINドライバ名、即ち、デバイス指定情報の有無を確認し、デバイスの指定(デバイス指定情報)が有る場合(S1103)、ステップS1111へ進む。ステップS1103において、デバイスの指定(デバイス指定情報)が無い場合、ステップS1105へ進む。本実施形態では、図8、図9の<dm:execute>要素817、821、826、又は838に記載されている第1引数のTWAINドライバ名によりデバイスの指定が行われるので、ステップS1103からステップS1111へ進む。例えば、第1引数がセットされずにTWAINアプリケーション142が起動された場合、ステップS1103からステップS1105へ進む。
ステップS1111において、アプリケーション制御部907が、第1引数のTWAINドライバ名が""(空)で不明なデバイスであると判定した場合、ステップS1112へ進み、不明なデバイスでないと判定した場合、ステップS1104へ進む。ステップS1112において、アプリケーション制御部907が、図6の(d)に示すスキャナ選択ダイアログ625を表示する。アプリケーション制御部907は、ユーザがスキャナ選択部626でTWAINドライバを選択してOKボタン627を押下すると、選択されているTWAINドライバ名で指定されるスキャナ(TWAINドライバ)を第1引数にセットした状態にして、ステップS1104へ進む。
ステップS1104において、デフォルトデバイス設定部908が指定されたデバイス(TWAINドライバ名で指定されるスキャナ)をTWAINアプリケーション142のデフォルトデバイスに設定し、ステップS1109へ進む。
ステップS1105において、アプリケーション制御部907が、ステップS1101でリンク実行部903を介してデバイス管理制御部902から渡された情報を、起動元判断部906へ渡す。前記情報とは、図8、図9の<dm:execute>要素817、821、826、又は838に記載されている情報である。起動元判断部906は、第2引数の起動元を取得する。起動元判断部906は、起動元がデバイス管理画面かデバイス管理画面以外かを確認し、起動元がデバイス管理画面(本実施形態ではデバイス管理画面600)の場合(S1106)、ステップS1104へ進む。ステップS1106において、起動元がデバイス管理画面以外の場合、ステップS1107へ進む。本実施形態では、図8、図9の<dm:execute>要素817、821、826、又は838に記載されている第2引数の/devmngにより起動元としてデバイス管理画面600が指定されるので、ステップS1106からステップS1104へ進む。例えば、デバイス管理画面以外からTWAINアプリケーション142が起動された場合、起動元として第2引数に「/other」が指定されているので、ステップS1106からステップS1107へ進む。
ステップS1107において、デフォルトデバイス設定部908がアプリケーション/DDIインタフェース84を介して、OSのデフォルトデバイス情報を取得する。OSのデフォルトデバイスとは、図5(a)のフォルダ500にて、デフォルトマーク502が付与されているデバイスを表す。本実施形態では、デバイス501(XYZ Defg)がデフォルトデバイスとして設定されているので、ステップS1107において、「XYZ Defg」というデバイス名称が取得される。デフォルトデバイス設定部908が、ステップS1107で取得したOSのデフォルトデバイスをもとに、デバイス(ドライバ)名をTWAINアプリケーション142のデフォルトデバイスに設定し(S1108)、ステップS1109へ進む。
ステップS1108において、デフォルトデバイス設定部908が、ステップS1107で取得したOSのデフォルトデバイスから適切なデバイス(ドライバ)名を発見できなかった場合、以下の処理を実行する。即ち、デフォルトデバイス設定部908は、TWAINアプリケーション142が前回起動したときに設定されていたデバイス(ドライバ)名をデフォルトデバイスに設定する。ステップS1109において、アプリケーション制御部907がTWAINアプリケーション142を表示し、TWAINアプリケーションの起動処理を完了する(S1110)。このとき、ステップS1104又はS1108で設定されたデフォルトデバイスが選択された状態で、TWAINアプリケーション142が起動して、表示されている。尚、TWAINアプリケーション142のデフォルトデバイスの情報は、TWAINアプリケーション142が管理するRAM201上のメモリ内に保持される。
<実施形態2>
図16は、デバイス管理画面とマニュアルとの一例を示す図である。図16の(a)において、図5(b)で既に説明している内容に関しては、その説明を省略する。図16(a)において、1770は、デバイス管理画面であり、図5(a)に示すDevice and Printersフォルダ500内のデバイス503が選択されることにより起動されて、表示される。このデバイス管理画面1770を使ってMFP3の管理を行うことができる。デバイス管理画面1770の下部には、デバイス503に関連付けられた機能へのリンクが表示されている。より具体的には、プリンタキューボタン604、印刷設定ボタン605、マニュアル表示ボタン1780が表示される。図17、図18に示す<dm:functions>要素1781の中に、それぞれのボタン及び機能を表す<dm:function>要素804、839、1701、1706、1711、1716、1721、1726、1731、1736が記載されている。マニュアル表示ボタン1780は、MFP3の操作説明が記載されている図16(b)に示すマニュアル1771を表示するボタンである。このボタンが押下されると、PC1内の所定の場所にインストールされているマニュアル1771が起動されて、表示される。
図16(b)において、1771はMFP3のマニュアルであり、CHM形式のファイル(Manual.chm)で構成される。マニュアル1771機種と言語とに依存していて、専用のセットアップアプリケーションにより、次に示すような所定の場所にインストールされる。また、このセットアップアプリケーションは、マニュアル1771がインストールされているフルパスを、次に示すようなレジストリ情報(文字列(Type: REG_SZ))としても記載する。ここで、レジストリ情報とは、状態情報の一例であり、レジストリに保存される情報である。
[OSのインストール先がCドライブで言語が英語の場合の例]
インストールされる場所:
C:¥Program Files¥ABC¥ABC Kmmn¥English¥Manual.chm
レジストリ情報:
HKEY_LOCAL_MACHINE¥SOFTWARE¥ABC¥ABC Kmmn¥
Name Data
manual_path C:¥Program Files¥ABC¥ABC Kmmn¥English¥Manual.chm
[OSのインストール先がEドライブで言語が日本語の場合の例]
インストールされる場所:
E:¥Program Files¥ABC¥ABC Kmmn¥Japanese¥Manual.chm
レジストリ情報:
HKEY_LOCAL_MACHINE¥SOFTWARE¥ABC¥ABC Kmmn¥
Name Data
manual_path E:¥Program Files¥ABC¥ABC Kmmn¥Japanese¥Manual.chm
[OSのインストール先がHドライブで言語がアラビア語の場合の例]
インストールされる場所:
H:¥Program Files¥ABC¥ABC Kmmn¥Arabic¥Manual.chm
レジストリ情報:
HKEY_LOCAL_MACHINE¥SOFTWARE¥ABC¥ABC Kmmn¥
Name Data
manual_path H:¥Program Files¥ABC¥ABC Kmmn¥Arabic¥Manual.chm
[OSのインストール先がKドライブで言語がロシア語の場合の例]
インストールされる場所:
K:¥Program Files¥ABC¥ABC Kmmn¥Russian¥Manual.chm
レジストリ情報:
HKEY_LOCAL_MACHINE¥SOFTWARE¥ABC¥ABC Kmmn¥
Name Data
manual_path K:¥Program Files¥ABC¥ABC Kmmn¥Russian¥Manual.chm
通常、他のアプリケーション等からマニュアル1771を起動する場合は、前記レジストリ情報からマニュアル1771のフルパスを取得し、このフルパスを使ってマニュアル1771を起動する。尚、本実施形態においては、MFP3用のマニュアルとして、英語、日本語、アラビア語、ロシア語の4言語が用意されている。
図17及び図18は、デバイス管理制御用ファイルの内容の一例を示す図である。デバイス管理制御用ファイル1700は英語用のものである。これらの図に示す情報が、ファイル格納部11又は12に格納されている。図17及び図18において、図8又は図9で既に説明している内容に関しては、その説明を省略する。デバイス管理制御用ファイル1700には、デバイス管理画面1770を構成するために必要な情報が記載されている。MFP3がPC1に接続されているときに起動して表示されるデバイス管理画面1770上に、図16に示すボタン、つまり、
プリンタキューボタン604、印刷設定ボタン605、マニュアル表示ボタン1780
を表示するために、それぞれのボタン及び機能を表す
<dm:function>要素804、839、1701、1706、1711、1716、1721、1726、1731、1736
が、<dm:functions>要素1781の中にセットされている。
<dm:function>要素1701において、
<dm:name xml:lang="en−US">On−screen Manual</dm:name>要素1702
には、マニュアル表示ボタン1780に表示される「On−screen Manual」という文字列がセットされている。
<dm:required>要素1703
には、マニュアル表示ボタン1780を表示するための条件を表す情報がセットされている。
<dm:keywordInRegistry>要素1704
は、レジストリ情報として、
HKEY_LOCAL_MACHINE¥SOFTWARE¥ABC¥ABC Kmmn¥
Name Data
manual_path A:¥Program Files¥ABC¥ABC Kmmn¥English¥Manual.chm
がセットされている場合を表す。これは、OSのインストール先がAドライブで言語が英語の場合を表す。尚、図17及び図18において、「HKLM」は「HKEY_LOCAL_MACHINE」の短縮形であり、OS内で「HKEY_LOCAL_MACHINE」に変換されて処理される。
<dm:execute>要素1705
には、OSのインストール先がAドライブで言語が英語の環境において、英語のマニュアル1771がインストールされている場合に、それを実行するためのマニュアル1771のフルパスがセットされている。
<dm:function>要素1706において、
<dm:name xml:lang="en−US">On−screen Manual</dm:name>要素1707
には、マニュアル表示ボタン1780に表示される「On−screen Manual」という文字列がセットされている。<dm:required>要素1708には、マニュアル表示ボタン1780を表示するための条件を表す情報がセットされている。
<dm:keywordInRegistry>要素1709
は、レジストリ情報として、
HKEY_LOCAL_MACHINE¥SOFTWARE¥ABC¥ABC Kmmn¥
Name Data
manual_path B:¥Program Files¥ABC¥ABC Kmmn¥English¥Manual.chm
がセットされている場合を表す。これは、OSのインストール先がBドライブで言語が英語の場合を表す。
<dm:execute>要素1710
には、OSのインストール先がBドライブで言語が英語の環境において、英語のマニュアル1771がインストールされている場合に、それを実行するためのマニュアル1771のフルパスがセットされている。OSのインストール先がC〜Xドライブで言語が英語の場合の<dm:function>要素に関しては、<dm:function>要素1701、<dm:function>要素1706と比較してドライブ情報が異なるだけなので、図示を省略する。
<dm:function>要素1711において、
<dm:name xml:lang="en−US">On−screen Manual</dm:name>要素1712
には、マニュアル表示ボタン1780に表示される「On−screen Manual」という文字列がセットされている。<dm:required>要素1713には、マニュアル表示ボタン1780を表示するための条件を表す情報がセットされている。
<dm:keywordInRegistry>要素1714
は、レジストリ情報として、
HKEY_LOCAL_MACHINE¥SOFTWARE¥ABC¥ABC Kmmn¥
Name Data
manual_path Y:¥Program Files¥ABC¥ABC Kmmn¥English¥Manual.chm
がセットされている場合を表す。これは、OSのインストール先がYドライブで言語が英語の場合を表す。<dm:execute>要素1715には、OSのインストール先がYドライブで言語が英語の環境において、英語のマニュアル1771がインストールされている場合に、それを実行するためのマニュアル1771のフルパスがセットされている。
<dm:function>要素1716において、
<dm:name xml:lang="en−US">On−screen Manual</dm:name>要素1717
には、マニュアル表示ボタン1780に表示される「On−screen Manual」という文字列がセットされている。
<dm:required>要素1718
には、マニュアル表示ボタン1780を表示するための条件を表す情報がセットされている。
<dm:keywordInRegistry>要素1719
は、レジストリ情報として、
HKEY_LOCAL_MACHINE¥SOFTWARE¥ABC¥ABC Kmmn¥
Name Data
manual_path Z:¥Program Files¥ABC¥ABC Kmmn¥English¥Manual.chm
がセットされている場合を表す。これは、OSのインストール先がZドライブで言語が英語の場合を表す。
<dm:execute>要素1720
には、OSのインストール先がZドライブで言語が英語の環境において、英語のマニュアル1771がインストールされている場合に、それを実行するためのマニュアル1771のフルパスがセットされている。
OSのインストール先のドライブとして、A〜Zドライブが論理的に考えられる。これに対して、この様な<dm:function>要素1701〜1716を用意しておくことで、これらの中の任意のドライブにOSがインストールされているケースにおいて、マニュアル表示ボタン1780を正常に表示することができる。そして、このマニュアル表示ボタン1780が押下されたときに、英語のマニュアル1771を正常に表示することができるので、ユーザの操作性に優れる。
本実施形態において、デバイス管理制御用ファイル1700は英語用と日本語用とのものが用意されているものとする。日本語用のデバイス管理制御用ファイル1700では、「English」という文字列が「Japanese」に置換された内容となっている。例えば、<dm:function>要素1701に着目した場合、日本語用のデバイス管理制御用ファイル1700では、次に示すような内容となる。
<dm:function>
<dm:name xml:lang="en−US">On−screen Manual</dm:name>
<dm:required>
<dm:keywordInRegistry key="HKLM¥SOFTWARE¥ABC¥ABC Kmmn"name="manual_path">
A:¥Program Files¥ABC¥ABC Kmmn¥Japanese¥Manual.chm
</dm:keywordInRegistry>
</dm:required>
<dm:execute>
A:¥Program Files¥ABC¥ABC Kmmn¥Japanese¥Manual.chm
</dm:execute>
</dm:function>
これにより、OSの言語が日本語の場合においても、A〜Zの中の任意のドライブにOSがインストールされているケースにおいて、マニュアル表示ボタン1780を正常に表示することができる。従って、このマニュアル表示ボタン1780が押下されたときに、日本語のマニュアル1771を正常に表示することができるので、ユーザの操作性に優れる。
OSの言語が英語や日本語以外の場合、その言語用のデバイス管理制御用ファイル1700が用意されていないので、デフォルト言語のデバイス管理制御用ファイルとして、英語のデバイス管理制御用ファイル1700がインストールされて、参照される。従って例えばOSの言語が、マニュアル1771が用意されているアラビア語等の場合、<dm:function>要素1701〜1716ではこれらの言語用のマニュアル1771を表示するためのマニュアル表示ボタン1780を表示させることができない。この様に、マニュアル1771が用意されているが、デバイス管理制御用ファイル1700が用意されていない言語に対しては、図18に示すようなこれらの言語専用の<dm:function>要素1721〜1736を別途用意する必要がある。
<dm:function>要素1721において、
<dm:name xml:lang="en−US">On−screen Manual</dm:name>要素1722
には、マニュアル表示ボタン1780に表示される「On−screen Manual」という文字列がセットされている。
<dm:required>要素1723
には、マニュアル表示ボタン1780を表示するための条件を表す情報がセットされている。
<dm:keywordInRegistry>要素1724
は、レジストリ情報として、
HKEY_LOCAL_MACHINE¥SOFTWARE¥ABC¥ABC Kmmn¥
Name Data
manual_path A:¥Program Files¥ABC¥ABC Kmmn¥Arabic¥Manual.chm
がセットされている場合を表す。これは、OSのインストール先がAドライブで言語がアラビア語の場合を表す。
<dm:execute>要素1725
には、OSのインストール先がAドライブで言語がアラビア語の環境において、アラビア語のマニュアル1771がインストールされている場合に、それを実行するためのマニュアル1771のフルパスがセットされている。OSのインストール先がB〜Yドライブで言語がアラビア語の場合の<dm:function>要素に関しては、<dm:function>要素1721と比較してドライブ情報が異なるだけなので、図示を省略する。
<dm:function>要素1726において、
<dm:name xml:lang="en−US">On−screen Manual</dm:name>要素1727
には、マニュアル表示ボタン1780に表示される「On−screen Manual」という文字列がセットされている。
<dm:required>要素1728
には、マニュアル表示ボタン1780を表示するための条件を表す情報がセットされている。
<dm:keywordInRegistry>要素1729
は、レジストリ情報として、
HKEY_LOCAL_MACHINE¥SOFTWARE¥ABC¥ABC Kmmn¥
Name Data
manual_path Z:¥Program Files¥ABC¥ABC Kmmn¥Arabic¥Manual.chm
がセットされている場合を表す。これは、OSのインストール先がZドライブで言語がアラビア語の場合を表す。
<dm:execute>要素1730
には、OSのインストール先がZドライブで言語がアラビア語の環境において、アラビア語のマニュアル1771がインストールされている場合に、それを実行するためのマニュアル1771のフルパスがセットされている。
<dm:function>要素1731において、
<dm:name xml:lang="en−US">On−screen Manual</dm:name>要素1732
には、マニュアル表示ボタン1780に表示される「On−screen Manual」という文字列がセットされている。
<dm:required>要素1733
には、マニュアル表示ボタン1780を表示するための条件を表す情報がセットされている。
<dm:keywordInRegistry>要素1734
は、レジストリ情報として、
HKEY_LOCAL_MACHINE¥SOFTWARE¥ABC¥ABC Kmmn¥
Name Data
manual_path A:¥Program Files¥ABC¥ABC Kmmn¥Russian¥Manual.chm
がセットされている場合を表す。これは、OSのインストール先がAドライブで言語がロシア語の場合を表す。<dm:execute>要素1735には、OSのインストール先がAドライブで言語がロシア語の環境において、ロシア語のマニュアル1771がインストールされている場合に、それを実行するためのマニュアル1771のフルパスがセットされている。OSのインストール先がB〜Yドライブで言語がロシア語の場合の<dm:function>要素に関しては、<dm:function>要素1731と比較してドライブ情報が異なるだけなので、図示を省略する。
<dm:function>要素1736において、
<dm:name xml:lang="en−US">On−screen Manual</dm:name>要素1737
には、マニュアル表示ボタン1780に表示される「On−screen Manual」という文字列がセットされている。
<dm:required>要素1738
には、マニュアル表示ボタン1780を表示するための条件を表す情報がセットされている。
<dm:keywordInRegistry>要素1739
は、レジストリ情報として、
HKEY_LOCAL_MACHINE¥SOFTWARE¥ABC¥ABC Kmmn¥
Name Data
manual_path Z:¥Program Files¥ABC¥ABC Kmmn¥Russian¥Manual.chm
がセットされている場合を表す。これは、OSのインストール先がZドライブで言語がロシア語の場合を表す。
<dm:execute>要素1740
には、OSのインストール先がZドライブで言語がロシア語の環境において、ロシア語のマニュアル1771がインストールされている場合に、それを実行するためのマニュアル1771のフルパスがセットされている。
本実施形態におけるアラビア語やロシア語の例の様に、マニュアル1771が用意されているが、デバイス管理制御用ファイル1700が用意されていない言語に対しては、図18に示すようなこれらの言語専用の<dm:function>要素1721〜1736を用意しておく。これにより、OSの言語がこれらの言語の中の任意の何れかの場合においても、マニュアル表示ボタン1780を正常に表示することができる。従って、このマニュアル表示ボタン1780が押下されたときに、そのOSの言語と同じ言語のマニュアル1771を正常に表示することができるので、ユーザの操作性に優れる。
また、これらの言語においても、OSのインストール先のドライブとして、A〜Zドライブが論理的に考えられる。これに対しても、この様な<dm:function>要素1721〜1726、<dm:function>要素1731〜1736を用意しておく。このようにすることで、これらの中の任意のドライブにOSがインストールされているケースにおいて、マニュアル表示ボタン1780を正常に表示することができる。つまり、このマニュアル表示ボタン1780が押下されたときに、OSの言語と同じ言語のマニュアル1771を正常に表示することができるので、ユーザの操作性に優れる。
図19は、デバイス管理画面の表示内容の構築の処理の一例を示すフローチャートである。図19のフローチャートに係るプログラムは、HDD202に記憶されており、RAM201に読み出され、CPU204により実行される。図13のステップS1504において、デバイス管理画面の表示内容の構築処理が実行されると、デバイス管理制御部902がデバイス管理画面の表示内容の構築の処理を開始する(S1901)。デバイス管理制御部902がプリンタキューボタン604を構築する(S1902)。デバイス管理制御部902が印刷設定ボタン605を構築する(S1903)。
デバイス管理制御部902が図17の<dm:keywordInRegistry>要素1704の内容に従って、OSの言語と同じ言語用のマニュアル1771のインストール状況を確認する(S1904)。図17の<dm:keywordInRegistry>要素1704は、OSがAドライブにインストールされている場合の例である。OSの言語と同じ言語用のマニュアル1771がインストールされている場合(S1905)、ステップS1906へ進む。OSの言語と同じ言語用のマニュアル1771がインストールされていない場合、ステップS1907へ進む。
ステップS1906においてデバイス管理制御部902が図17の<dm:name>要素1702と<dm:execute>要素1705との内容に従ってOSの言語と同じ言語用のマニュアル1771を表示するためのマニュアル表示ボタン1780を構築する。図17の<dm:name>要素1702は、OSがAドライブにインストールされている場合の例である。また、図17の<dm:execute>要素1705は、OSがAドライブにインストールされている場合の例である。
ステップS1907において、デバイス管理制御部902が図18の<dm:keywordInRegistry>要素1724の内容に従って、アラビア語用のマニュアル1771のインストール状況を確認する。図18の<dm:keywordInRegistry>要素1724は、OSがAドライブにインストールされている場合の例である。アラビア語用のマニュアル1771がインストールされている場合(S1908)、ステップS1909へ進む。アラビア語用のマニュアル1771がインストールされていない場合、ステップS1910へ進む。ステップS1909において、デバイス管理制御部902が図18の<dm:name>要素1722と<dm:execute>要素1725との内容に従って、アラビア語用のマニュアル1771を表示するためのマニュアル表示ボタン1780を構築する。図18の<dm:name>要素1722は、OSがAドライブにインストールされている場合の例である。また、図18の<dm:execute>要素1725は、OSがAドライブにインストールされている場合の例である。
ステップS1910において、デバイス管理制御部902が図18の<dm:keywordInRegistry>要素1734の内容に従って、ロシア語用のマニュアル1771のインストール状況を確認する。図18の<dm:keywordInRegistry>要素1734は、OSがAドライブにインストールされている場合の例である。ロシア語用のマニュアル1771がインストールされている場合(S1911)、ステップS1912へ進む。ロシア語用のマニュアル1771がインストールされていない場合、ステップS1913へ進み、デバイス管理画面の表示内容の構築処理を終了する。
ステップS1912において、デバイス管理制御部902が図18の<dm:name>要素1732と<dm:execute>要素1735との内容に従って、ロシア語用のマニュアル1771を表示するためのマニュアル表示ボタン1780を構築する。そして、デバイス管理画面の表示内容の構築処理を終了する(S1913)。図18の<dm:name>要素1732は、OSがAドライブにインストールされている場合の例である。また、図18の<dm:execute>要素1735は、OSがAドライブにインストールされている場合の例である。
<実施形態3>
実施形態1では、周辺装置の例としてカラーインクジェットプリンタ、カラーファクシミリ、カラースキャナ、フラッシュメモリ用の外部ストレージ等を備えるMFP3を例に挙げた。そして、以下の(1)〜(4)に示すような状態やポート名を利用して、ユーザの使用環境に応じて適切なデバイスの機能を提供する、という目的を達成した。
(1)スキャナ機能とは関係の無い別の機能である「ストレージ機能が利用可能であるという状態」
(2)スキャナ機能とは関係の無い別の機能である「ストレージ機能が利用できないという状態」
(3)スキャナ機能とは関係の無い別の機能である「プリンタ機能が利用可能であるという状態」と「プリンタ機能のポート名」
(4)スキャナ機能とは関係の無い別の機能である「プリンタ機能が利用可能であるという状態」と「プリンタ機能のポート名の排他論理」
しかしながら、周辺装置の例として、
・外部ストレージを備えておらず、プリンタとスキャナとだけから構成されるMFP
・プリンタを備えておらず、スキャナ、ファクシミリ、外部ストレージだけから構成されるMFP
・プリンタや外部ストレージの機能を備えていない単機能のカラースキャナ
等を挙げた場合、前述した実施形態1では上述した目的を達成することができない。実施形態3では、この様なMFPや単機能のスキャナ等の任意の周辺装置において、上述した目的を達成することができる周辺装置制御システムの例を説明する。
以下の実施形態3の中において、説明の都合上、MFP3はプリンタ機能及び外部ストレージを備えていない単機能のスキャナであると仮定する。
図20は、デバイス管理制御用ファイルの内容を表す図である。デバイス管理制御用ファイル950は、英語用のものである。これらの図に示す情報が、ファイル格納部11又は12に格納されている。図20において、図8と同じ内容に関しては、その説明を省略する。
<dm:function>要素951において、
<dm:name xml:lang="en−US">Image Scan (TWAIN)</dm:name>要素952
には、読み込み(TWAIN)ボタン611に表示される「Image Scan (TWAIN)」という文字列がセットされている。
<dm:required>要素953
には、読み込み(TWAIN)ボタン611を表示するための条件を表す情報がセットされている。
<dm:keywordInRegistry key="HKCU¥Software¥ABC¥Network Utility¥Kmmn" name="active" option="equal"></dm:keywordInRegistry>要素954
には、前記条件としてレジストリ情報がセットされており、option属性で指定されている"equal"が「一致する」の意味を表すので、次に示すレジストリ情報と一致する場合に、読み込み(TWAIN)ボタン611が表示される。
HKEY_CURRENT_USER_MACHINE¥Software¥ABC¥Network Utility¥Kmmn¥
Name: active
Type: REG_SZ
Data: 無し
即ち、activeに、値がセットされていない場合に読み込み(TWAIN)ボタン611が表示される。
<dm:execute>TWAINScan.exe "ABC Kmmn (TWAIN)" /devmng</dm:execute>要素955
には、TWAINアプリケーション142を起動する機能(プログラム)を表すTWAINScan.exe "ABC Kmmn (TWAIN)" /devmngというコードがセットされている。これにより読み込み(TWAIN)ボタン611が押下された場合、デフォルトのスキャナ(ドライバ)にUSB接続のTWAINドライバ141を表す「ABC Kmmn (TWAIN)」がセットされた状態でTWAINアプリケーション142が起動される。従って、ユーザの操作性に優れる。
<dm:function>要素956において、
<dm:name xml:lang="en−US">Image Scan (TWAIN) − Select Device</dm:name>要素957
には、読み込み(TWAIN)ボタン611に表示される「Image Scan (TWAIN) − Select Device」という文字列がセットされている。尚、このように、読み込み(TWAIN)ボタン611に表示される文字列は、<dm:name>要素にセットされている文字列が反映されるので、図5の(b)で表示されている文字列と若干異なる場合がある。
<dm:required>要素958
には、読み込み(TWAIN)ボタン611を表示するための条件を表す情報がセットされている。
<dm:keywordInRegistry key="HKCU¥Software¥ABC¥Network Utility¥Kmmn" name="active" option="equal">0</dm:keywordInRegistry>要素959
には、前記条件としてレジストリ情報がセットされており、option属性で指定されている"equal"が「一致する」の意味を表すので、次に示すレジストリ情報と一致する場合に、読み込み(TWAIN)ボタン611が表示される。
HKEY_CURRENT_USER_MACHINE¥Software¥ABC¥Network Utility¥Kmmn¥
Name: active
Type: REG_SZ
Data: 0
即ち、activeに「0」の値がセットされている場合に読み込み(TWAIN)ボタン611が表示される。
<dm:execute>TWAINScan.exe "" /devmng</dm:execute>要素960
には、TWAINアプリケーション142を起動する機能(プログラム)を表すTWAINScan.exe "" /devmngというコードがセットされている。これにより読み込み(TWAIN)ボタン611が押下された場合、以下の様にTWAINアプリケーション142が起動される。つまり、まず、スキャナ選択ダイアログ625が表示され、ユーザが選択したTWAINドライバがスキャナ選択部621にセットされた状態でTWAINアプリケーション142が起動される。このようにすることで、ユーザが、使用したいスキャナを未だ準備していないようなケースにおいても、使用したいスキャナ(ドライバ)を正しく指定して、TWAINアプリケーション142を起動することができるので、ユーザの操作性に優れる。
<dm:function>要素961において、
<dm:name xml:lang="en−US">Image Scan (TWAIN)</dm:name>要素962
には、読み込み(TWAIN)ボタン611に表示される「Image Scan (TWAIN)」という文字列がセットされている。
<dm:required>要素963
には、読み込み(TWAIN)ボタン611を表示するための条件を表す情報がセットされている。
<dm:keywordInRegistry key="HKCU¥Software¥ABC¥Network Utility¥Kmmn" name="active" option="greater">0</dm:keywordInRegistry>要素964
には、前記条件としてレジストリ情報がセットされており、option属性で指定されている"greater"が「より大きい」の意味を表す。従って、次に示すレジストリ情報の値より大きい値がセットされている場合に、読み込み(TWAIN)ボタン611が表示される。
HKEY_CURRENT_USER_MACHINE¥Software¥ABC¥Network Utility¥Kmmn¥
Name: active
Type: REG_SZ
Data: 0
即ち、activeに「0」より大きい値がセットされている場合に読み込み(TWAIN)ボタン611が表示される。
<dm:execute>TWAINScan.exe "ABC Kmmn (TWAIN) Network" /devmng</dm:execute>要素965
には、TWAINアプリケーション142を起動する機能(プログラム)を表すTWAINScan.exe "ABC Kmmn (TWAIN) Network" /devmngというコードがセットされている。これにより、読み込み(TWAIN)ボタン611が押下された場合、以下のようにTWAINアプリケーション142が起動される。つまり、デフォルトのスキャナ(ドライバ)にIHVネイティブプロトコルのネットワーク接続のTWAINドライバ141を表す「ABC Kmmn (TWAIN) Network」がセットされた状態でTWAINアプリケーション142が起動される。従って、ユーザの操作性に優れる。
図21は、ネットワークユーティリティの一例を表す図である。図21において、630は、ネットワークユーティリティであり、ネットワーク4内のMFP3等のデバイスからのプッシュスキャンイベントやステータスイベントを監視する為に、定期的にポーリングしてデバイスの状態を取得するソフトウェアである。図21ではネットワークユーティリティ630のメインウィンドウが表示されている状態を表す。ネットワークユーティリティ630は、OSの起動時に開始されるプログラムの内の1つとしてスタートアップフォルダに起動用のショートカットが登録されていて、OSが起動したときに起動して、常駐する。631は、デバイス表示部であり、ネットワークユーティリティ630が監視する対象のデバイスが表示される。632、634、646は、デバイス名であり、ネットワーク4内の監視対象デバイスのデバイス名を表す。例えば、632は、MFP3のデバイス名であり、「aabbcckmmn08」は、MFP3のMACアドレス(Media Access Control address)である。634は、MFP3と同一モデル名でシリアル番号が異なるMFPであり、「aabbcckmmn14」は、このMFPのMACアドレスである。このようにネットワーク4内に存在する同一モデル名でシリアル番号の異なるデバイスは、MACアドレスで識別され、デバイス表示部631内で異なるデバイスとして正しく表示される。636は、ABC社製のOpqrというモデル名のMFPであり、「aabbccopqr01」は、このMFPのMACアドレスである。633、635、637は、デバイス監視中チェックボックスである。このデバイス監視中チェックボックスがチェックされている場合、ネットワークユーティリティ630は、そのデバイスを監視し、チェックされていない場合、ネットワークユーティリティ630は、そのデバイスを監視しない。図21は、ネットワークユーティリティ630が、ABC Kmmn aabbcckmmn08というデバイス名で表示されているMFP3だけを監視している状態を表す図である。638は、OKボタンであり、このボタンが押下されると、デバイス監視中チェックボックス633、635、637の各設定が保存され、ネットワークユーティリティ630のメインウィンドウを閉じられる。639は、キャンセルボタンであり、このボタンが押下されると、ネットワークユーティリティ630のメインウィンドウを閉じられる。キャンセルボタン639が押下された場合は、それまでに変更されたデバイス監視中チェックボックス633、635、637の各設定は保存されない。ネットワークユーティリティ630は、OKボタン638やキャンセルボタン639が押下されてメインウィンドウが閉じられた後も、PC1内に常駐してネットワーク4内のデバイスの監視を続ける。
図22は、ネットワークユーティリティの処理の一例を示すフローチャートである。図22のフローチャートに係るプログラムは、HDD202に記憶されており、RAM201に読み出され、CPU204により実行される。OSが起動すると、スタートアップフォルダに登録されているネットワークユーティリティ630起動用のショートカットが実行され、図22において、ネットワークユーティリティ630が起動して処理を開始する(S2201)。ネットワークユーティリティ630が、デバイス監視中チェックボックス633、635、637の各設定から、ネットワーク4内の監視対象デバイスを確認する(S2202)。ネットワークユーティリティ630は、デバイス1(例えば、図21において、デバイス名632で表示されているデバイス)が監視対象である場合、ステップS2204へ進み、監視対象でない場合、ステップS2205へ進む(S2203)。ステップS2204において、ネットワークユーティリティ630が、デバイス1を監視する為のデバイス1用ポーリングスレッドを起動する。ステップS2205において、ネットワークユーティリティ630は、デバイス2(例えば、図21において、デバイス名634で表示されているデバイス)が監視対象である場合、ステップS2206へ進み、監視対象でない場合、ステップS2207へ進む。ステップS2206において、ネットワークユーティリティ630が、デバイス2を監視する為のデバイス2用ポーリングスレッドを起動する。ステップS2207において、ネットワークユーティリティ630は、デバイスN(例えば、図21において、N=3として、デバイス名636で表示されているデバイス)が監視対象である場合、ステップS2208へ進む。ネットワークユーティリティ630は、監視対象でない場合、ステップS2209へ進む。ステップS2208において、ネットワークユーティリティ630が、デバイスNを監視する為のデバイスN用ポーリングスレッドを起動する。ステップS2209において、ネットワークユーティリティ630が、OSからの終了メッセージを受け取った場合、起動した全てのデバイス(1〜N)用ポーリングスレッドを終了した後、ネットワークユーティリティ630の処理終了する(S2210)。ステップS2209において、ネットワークユーティリティ630が、OSからの終了メッセージを受け取っていない場合、ステップS2202へ戻る。尚、ステップS2204、S2206、S2208において、ネットワークユーティリティ630がデバイス(1〜N)用ポーリングスレッドを起動する際に、既にそのデバイス用ポーリングスレッドが起動済みでそのデバイスを監視中である場合は、重複してそのデバイス用ポーリングスレッドを起動するようなことは行わない。
図23は、デバイスN用ポーリング処理の一例を示すフローチャートである。図23のフローチャートに係るプログラムは、HDD202に記憶されており、RAM201に読み出され、CPU204により実行される。図22のステップS2204、S2206、S2208において、ネットワークユーティリティ630がデバイスN(N=1、2、・・・)用ポーリングスレッドを起動する。すると、図23において、ネットワークユーティリティ630が、デバイスN用ポーリング処理を開始する(S2301)。ネットワークユーティリティ630がデバイスNの状態を確認し(S2302)、オンラインの場合、ステップS2304へ進み、オンラインでない(オフラインの)場合、ステップS2305へ進む(S2303)。ステップS2304において、ネットワークユーティリティ630が、次に示すデバイスN用のレジストリ情報
HKEY_CURRENT_USER_MACHINE¥Software¥ABC¥Network Utility¥<Device Name>¥
Name: active
Type: REG_SZ
の値、即ち、activeの値を「1」増やし、ステップS2306へ進む。ステップS2305において、ネットワークユーティリティ630が、前記レジストリ情報の値、即ち、activeの値を「1」減らし、ステップS2306へ進む。尚、<Device Name>には、デバイスNのモデル名が代入される。例えば、デバイス1の場合「Kmmn」、デバイス2の場合「Kmmn」、デバイス3の場合「Opqr」が<Device Name>に代入される。ステップS2306において、ネットワークユーティリティ630が、一定時間のウエイト(ここでは5秒間)を行った後、ステップS2302へ戻る。
このように、各デバイス(1〜N)がオンラインであるかオフラインであるかの状態を表す情報が、前記レジストリ情報の値、即ち、activeの値に反映される。ここで、ネットワークユーティリティ630が、デバイスごとにそれぞれ独立したそのデバイス用ポーリングスレッドを起動する。そして、各デバイス用ポーリングスレッド内のステップS2304、S2305において、activeの値を「1」増やしたり、「1」減らしたりしている点は、本実施形態の特徴の内の1つである。例えば、同一モデル名でシリアル番号が異なる複数のデバイスがネットワーク4内に存在する場合、レジストリ情報のレジストリキー内の<Device Name>に、単なるモデル名ではなく、「Kmmn aabbcckmmn08」というようにMACアドレスを付加した名前を代入する。このことで、ネットワークユーティリティ630は、ネットワーク4内の全ての対象デバイスの状態をモニタすることができる。一方で、デバイス管理制御用ファイル950は、図20に示すように予め用意された静的な情報が記載されているファイルであるので、無数に存在するMACアドレスを付加したモデル名を使ってレジストリ情報を記載することは困難である。特に問題になるのは、デバイス表示部631内に表示されているデバイス名632、634のような、同一モデル名でシリアル番号が異なる副巣のデバイスがネットワーク4内に存在するケースである。この様なケースにおいて、本実施形態では、ネットワークユーティリティ630が、デバイスごとにそれぞれ独立したそのデバイス用ポーリングスレッドを起動する。そして、各デバイス用ポーリングスレッド内のステップS2304、S2305において、activeの値を「1」増やしたり、「1」減らしたりする。このことで、ネットワーク4内のこれらのデバイスの状態をほぼ正確にモニタすることができる。これにより、ユーザが使用したいと考えているデバイスをデフォルトのスキャナ(ドライバ)として、スキャナ選択部621にセットした状態でTWAINアプリケーション142を起動することができ、ユーザの操作性に優れる。
図24は、デバイス管理画面の表示内容の構築の処理の一例を示すフローチャートである。図24のフローチャートに係るプログラムは、HDD202に記憶されており、RAM201に読み出され、CPU204により実行される。
図13のステップS1504において、デバイス管理画面の表示内容の構築処理が実行されると、デバイス管理制御部902が、デバイス管理画面の表示内容の構築の処理を開始する(S2401)。デバイス管理制御部902が、図8の<dm:name>要素805と<dm:execute>要素806との内容に従って、プリンタキューボタン604を構築する(S2402)。デバイス管理制御部902が、図8の<dm:name>要素807と<dm:execute>要素808との内容に従って、印刷設定ボタン605を構築する(S2403)。
デバイス管理制御部902が、図8の<dm:device>要素811と<dm:available>要素812との内容に従って、スキャナの接続とインストール状況を確認する(S2404)。
確認の結果、MFP3がUSBインタフェース14を介してPC1に接続されていて(S2405)、製造元(ABC社)製のIHV WIAドライバ704がインストールされている場合、デバイス管理制御部902は、ステップ2406へ進む。或いは、MFP3がネットワーク4を介してWSDを使ってPC1に接続されていて、OS標準のStandard WIAドライバ703がインストールされている場合(S2405)、デバイス管理制御部902は、ステップ2406へ進む。これらの何れにも該当しない場合(S2405)、デバイス管理制御部902は、ステップS2407へ進む。
ステップS2406において、デバイス管理制御部902が、図8の<dm:name>要素809と<dm:execute>要素813との内容に従って、読み込み(WIA)ボタン610を構築する。ステップS2406は、IHV WIAドライバ704又はStandard WIAドライバ703によるUSB又はネットワーク(WSD)接続での画像の読み込みが可能なケースを表す。
ステップS2407において、デバイス管理制御部902が、図20の<dm:keywordInRegistry>要素954の内容に従って、次に示すレジストリ情報
HKEY_CURRENT_USER_MACHINE¥Software¥ABC¥Network Utility¥<Device Name>¥
Name: active
Type: REG_SZ
の値、即ち、activeの値を確認する。ステップS2408において、デバイス管理制御部902は、確認の結果、activeに値がセットされていない場合、ステップS2409へ進み、例えば、「0」、「1」、「2」等の任意の値がセットされている場合、ステップS2410へ進む。ステップS2409において、デバイス管理制御部902が、図20の<dm:name>要素952と<dm:execute>要素955との内容に従って、USB接続用の読み込み(TWAIN)ボタン611を構築する。そして、デバイス管理制御部902が、デバイス管理画面の表示内容の構築の処理を終了する(S2414)。ステップS2409は、TWAINドライバ141によるUSB接続での画像の読み込みが可能なケースを表す。
ステップS2410において、デバイス管理制御部902が、ステップS2407でactiveの値を確認した結果、activeの値が「0」の場合、ステップS2411へ進み、「0」でない場合、ステップS2412へ進む。
ステップS2411において、デバイス管理制御部902が、図20の<dm:name>要素957と<dm:execute>要素960との内容に従って、図6の(d)に示すスキャナ選択ダイアログ625を表示する。そして、デバイス管理制御部902が、ユーザによって選択される接続用の読み込み(TWAIN)ボタン611を構築し、デバイス管理画面の表示内容の構築の処理を終了する(S2414)。ステップS2411は、TWAINドライバ141によるUSB接続での画像の読み込みができないケース、例えば、PC1とMFP3とがUSBインタフェース14やネットワーク4を介して接続されていないケースを表す。この様なケースにおいては、TWAINアプリケーション142が、まず、図6の(d)に示すスキャナ選択ダイアログ625を表示する。そして、ユーザが選択したTWAINドライバをスキャナ選択部621にセットした状態で、TWAINアプリケーション142が起動するのが望ましい。従って、デバイス管理制御部902は、図6の(d)に示すスキャナ選択ダイアログ625を表示させる読み込み(TWAIN)ボタン611を構築する。
ステップS2412において、デバイス管理制御部902が、ステップS2407でactiveの値を確認した結果、activeの値が「0」より大きい場合、ステップS2413へ進む。デバイス管理制御部902は、それ以外の場合、ステップS2414へ進みデバイス管理画面の表示内容の構築の処理を終了する。
ステップS2413において、デバイス管理制御部902が図20の<dm:name>要素962と<dm:execute>要素965との内容に従ってネットワーク(IHVネイティブプロトコル)接続用の読み込み(TWAIN)ボタン611を構築する。そして、デバイス管理制御部902は、デバイス管理画面の表示内容の構築の処理を終了する(S2414)。ステップS2413は、TWAINドライバ141によるネットワーク(IHVネイティブプロトコル)接続での画像の読み込みが可能なケースを表す。
以上説明したように、周辺装置の例として、
・外部ストレージを備えておらず、プリンタとスキャナとだけから構成されるMFP
・プリンタを備えておらず、スキャナ、ファクシミリ、外部ストレージだけから構成されるMFP
・プリンタや外部ストレージの機能を備えていない単機能のカラースキャナ
においても、ネットワークユーティリティ630がセットするレジストリ情報を利用して、ユーザの使用環境に応じて適切なデバイスの機能を提供する、周辺装置制御システムを実現することができる。
<実施形態4>
前述した実施形態3では、周辺装置の例として、
・外部ストレージを備えておらず、プリンタとスキャナとだけから構成されるMFP
・プリンタを備えておらず、スキャナ、ファクシミリ、外部ストレージだけから構成されるMFP
・プリンタや外部ストレージの機能を備えていない単機能のカラースキャナ
を挙げた。そして、この様な周辺装置においても、ネットワークユーティリティ630がセットするレジストリ情報を利用して、ユーザの使用環境に応じて適切なデバイスの機能を提供する、という目的を達成した。
ここでは、TWAINアプリケーション142が、ユーザが使用するデバイスを自動的に検索して、前記目的を達成する例を挙げる。
例えば、デバイス管理制御用ファイルに、TWAINドライバによる画像の読み込みが可能なケースとして、次に示す<dm:function>要素を記述しておく。
<dm:function>
<!−− TWAINドライバによる画像の読み込みが可能なケース −−>
<dm:name xml:lang="en−US">Image Scan (TWAIN)</dm:name>
<dm:execute>TWAINScan.exe "ABC Kmmn (TWAIN)" /devmng</dm:execute>
</dm:function>
TWAINアプリケーション142は、第1引数である
"ABC Kmmn (TWAIN)"
というTWAINドライバ(又はTWAINドライバのスキャナ)のモデル名を特定することができる文字列をもとに、インストールされている全てのTWAINドライバの中から、TWAINドライバ名としてこの文字列が含まれているものをリストアップする。そして、TWAINアプリケーション142は、この中から適切なTWAINドライバを選択し、そのTWAINドライバをスキャナ選択部621にセットして起動する。TWAINアプリケーション142が、リストアップしたTWAINドライバ(スキャナ)の中から適切なTWAINドライバを選択する方法としては、以下の様な方法がある。即ち、TWAINアプリケーション142が、各TWAINドライバに対応するスキャナに対して所定の電文を送信する等して通信テストを行い、正常に通信ができるものを選択する、という方法である。もし、正常に通信できるスキャナが1つも見つからなかった場合、TWAINアプリケーション142は、スキャナ選択ダイアログ625を表示して、ユーザにスキャナ(又はスキャナに対応するTWAINドライバ)を選択させる。もし、正常に通信できるスキャナが複数見つかった場合、TWAINアプリケーション142は、例えば、通信速度を優先して、USB接続、IHVネイティブプロトコルのネットワーク接続の順で優先順位を設ける。そして、TWAINアプリケーション142は、優先順位の高いスキャナ(又はスキャナに対応するTWAINドライバ)を選択する。詳細を図25に示すフローチャートで説明する。
図25は、TWAINアプリケーションの起動の処理の一例を示すフローチャートである。図15のフローチャートに係るプログラムは、HDD202に記憶されており、RAM201に読み出され、CPU204により実行される。
デバイス管理画面600上の読み込み(TWAIN)ボタン611が押下されると(指定されると)、TWAINアプリケーション142の起動の処理が開始される(S2501)。ステップS2501において、図10のデバイス管理80内のデバイス管理制御部902が、リンク実行部903を介して、
<dm:execute>TWAINScan.exe "ABC Kmmn (TWAIN)" /devmng</dm:execute>要素
に記載されている情報をアプリケーション制御部907に渡す。この情報から、アプリケーション制御部907が第1引数のTWAINドライバ名で表されたデバイス指定情報を取得する(S2502)。
アプリケーション制御部907が第1引数のTWAINドライバ名、即ち、デバイス指定情報の有無を確認し、デバイスの指定(デバイス指定情報)が有る場合(S2503)、ステップS2504へ進む。ステップS2503において、デバイスの指定(デバイス指定情報)が無い場合、アプリケーション制御部907は、ステップS2505へ進む。本実施形態では、
<dm:execute>TWAINScan.exe "ABC Kmmn (TWAIN)" /devmng</dm:execute>要素
に記載されている第1引数のTWAINドライバ名によりデバイスの指定が行われるので、ステップS2503からステップS2504へ進む。例えば、第1引数がセットされずにTWAINアプリケーション142が起動された場合、ステップS2503からステップS2505へ進む。
ステップS2504において、アプリケーション制御部907が、第1引数である
"ABC Kmmn (TWAIN)"
というTWAINドライバ(又はTWAINドライバのスキャナ)のモデル名を特定することができる文字列をもとに、インストールされている全てのTWAINドライバの中から、TWAINドライバ名としてこの文字列が含まれているものを検索する。そして、アプリケーション制御部907は、該当するTWAINドライバのリストを生成する。アプリケーション制御部907が、該当するTWAINドライバを1つも見つけることができなかった場合、空のリストを生成する。
ステップS2509において、アプリケーション制御部907が、前記リストの中を確認し、該当するTWAINドライバを発見できた場合、ステップS2510へ進み、該当するTWAINドライバを発見できなかった場合、ステップS2512へ進む。
ステップS2510において、アプリケーション制御部907が、各TWAINドライバに対応するスキャナに対して所定の電文を送信して、その返答を受信する等して通信テストを行い、正常に通信ができるものを選択する。もし、正常に通信できるスキャナを複数見つけた場合、アプリケーション制御部907が、例えば、通信速度を優先して、USB接続、IHVネイティブプロトコルのネットワーク接続の順で優先順位を設ける。そして、アプリケーション制御部907が、優先順位の高いスキャナ(又はスキャナに対応するTWAINドライバ)を選択する。
ステップS2511において、正常に通信可能なデバイス(スキャナ)を発見し、そのデバイス(スキャナ)を選択した場合、アプリケーション制御部907が、選択されたデバイス(スキャナ)用のTWAINドライバ名で指定されるスキャナ(TWAINドライバ)を第1引数にセットした状態にして、ステップS2513へ進む。アプリケーション制御部907が、正常に通信可能なデバイス(スキャナ)を発見できず、デバイス(スキャナ)を選択できなかった場合、ステップS2512へ進む。
ステップS2512において、アプリケーション制御部907が、図6の(d)に示すスキャナ選択ダイアログ625を表示する。アプリケーション制御部907は、ユーザがスキャナ選択部626でTWAINドライバを選択してOKボタン627を押下すると、選択されているTWAINドライバ名で指定されるスキャナ(TWAINドライバ)を第1引数にセットした状態にして、ステップS2513へ進む。
ステップS2513において、デフォルトデバイス設定部908が指定されたデバイス(TWAINドライバ名で指定されるスキャナ)をTWAINアプリケーション142のデフォルトデバイスに設定し、ステップS2514へ進む。
ステップS2505において、アプリケーション制御部907が、ステップS2501でリンク実行部903を介してデバイス管理制御部902から渡された情報を、起動元判断部906へ渡す。前記情報とは、例えば、第1引数が指定されていない<dm:execute>TWAINScan.exe /devmng</dm:execute>要素に記載されている情報である。起動元判断部906は、第2引数の起動元を取得する。起動元判断部906は、起動元がデバイス管理画面か、デバイス管理画面以外か、を確認し、起動元がデバイス管理画面(本実施形態ではデバイス管理画面600)の場合(S2506)、ステップS2512へ進む。ステップS2506において、起動元がデバイス管理画面以外の場合、ステップS2507へ進む。本実施形態では、
<dm:execute>TWAINScan.exe /devmng</dm:execute>要素
に記載されている第2引数の/devmngにより起動元としてデバイス管理画面600が指定されるので、ステップS2506からステップS2512へ進む。例えば、デバイス管理画面以外からTWAINアプリケーション142が起動された場合、起動元として第2引数に「/other」が指定されているので、ステップS2506からステップS2507へ進む。
ステップS2507において、デフォルトデバイス設定部908がアプリケーション/DDIインタフェース84を介して、OSのデフォルトデバイス情報を取得する。OSのデフォルトデバイスとは、図5(a)のフォルダ500にて、デフォルトマーク502が付与されているデバイスを表す。本実施形態では、デバイス501(XYZ Defg)がデフォルトデバイスとして設定されているので、ステップS2507において、「XYZ Defg」というデバイス名称が取得される。デフォルトデバイス設定部908が、ステップS2507で取得したOSのデフォルトデバイスをもとに、デバイス(ドライバ)名をTWAINアプリケーション142のデフォルトデバイスに設定し(S2508)、ステップS2514へ進む。
ステップS2508において、デフォルトデバイス設定部908が、ステップS2507で取得したOSのデフォルトデバイスから適切なデバイス(ドライバ)名を発見できなかった場合、以下の処理を実行する。即ち、デフォルトデバイス設定部908は、TWAINアプリケーション142が前回起動したときに設定されていたデバイス(ドライバ)名をデフォルトデバイスに設定する。
ステップS2514において、アプリケーション制御部907がTWAINアプリケーション142を表示し、TWAINアプリケーションの起動処理を完了する(S2515)。このとき、ステップS2513又はS2508で設定されたデフォルトデバイスが選択された状態で、TWAINアプリケーション142が起動して、表示されている。尚、TWAINアプリケーション142のデフォルトデバイスの情報は、TWAINアプリケーション142が管理するRAM201上のメモリ内に保持される。
このように、デバイス管理制御用ファイルに、TWAINドライバ(又はTWAINドライバのスキャナ)のモデル名を特定することができる文字列を引数としてTWAINアプリケーション142を実行する<dm:execute>要素を記述しておく。そして、TWAINアプリケーション142が、この文字列をもとに適切なTWAINドライバ(又はTWAINドライバのスキャナ)を選択して起動する。このことでも、ユーザの使用環境に応じて適切なデバイスの機能を提供する、周辺装置制御システムを実現することができる。なお、本実施形態ではスキャナを例に説明を行ったが他のデバイスでも同様に実現可能である。
<実施形態5>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
また、上述した実施形態では、アプリケーションの例として図10に示すようなデバイス管理(Device Management)80を挙げたが、この例に限られることなく、同様な機能を備える任意のアプリケーションで実現可能であり、有効である。
また、上述した実施形態では、アプリケーションの例として図6(b)や図10に示すようなTWAINアプリケーション142を挙げた。しかし、この例に限られることなく、画像やドキュメントを印刷するためのアプリケーション等、同様な機能を備える任意のアプリケーションで実現可能であり、有効である。
また、上述した実施形態では、情報処理装置としてパーソナルコンピュータを想定した。しかし、この例に限られることなく、例えばDVDプレーヤー、ゲーム、セットトップボックス、インターネット家電等、同様な使用方法が可能な任意の情報処理装置(端末)に対して実現することができ、有効である。
また、上述した実施形態では、周辺装置としてMFPを例示した。しかし、周辺装置として他に、複写機、ファクシミリ、スキャナ、デジタルカメラ、及びこれらの複合機能を備える装置等の何れかであってもよい。
また、上述した実施形態では、OSに例としてWindows 7と同等のOSを使用したが、これらのOSに限られることなく、任意のOSを使用することができる。
また、上述した実施形態では、ネットワーク4の構成例としてEthernetを用いたが、この例に限られることなく、他の任意のネットワーク構成であってもよい。
また、上述した実施形態では、PC1とMFP3、MFP7との間のインタフェースとして、Ethernetを用いた。しかしながら、このインタフェースに限られることなく、例えば、無線LAN、IEEE1394、Bluetooth、USB等の任意のインタフェースを用いるようにしてもよい。
また、上述した実施形態では、Webサービスのプロトコルの例としてWSDを挙げたが、この例に限られることなく、例えばIHVの独自プロトコル等の任意のプロトコルを用いるようにしてもよい。
また、上述した実施形態では、デバイス管理画面600上の読み込み(TWAIN)ボタン611が押下されたときに、適切なデバイス(ドライバ)が設定された状態でTWAINアプリケーション142を起動する例を挙げた。しかしながら、この例に限られることなく、例えば、デバイス管理画面上から任意のアプリケーションを起動したり、Webサイトへリンクしたり、サービスを提供したりという場合に、適切なデバイス(ドライバ)名を指定して実行するようにしてもよい。
以上、上述した各実施形態によれば、ユーザの使用環境に応じて適切な表示や機能を提供するデバイス管理画面を提供することができる。
また、上述した各実施形態によれば、アプリケーションを起動して周辺装置が提供する機能を利用する際に、ユーザの使用環境に合わせて自動的に適合して周辺装置が提供する機能を適切、かつ、確実に利用することができる。
よって、上述した各実施形態によれば、ユーザの使用環境に応じて適切なデバイスの機能を提供することができる。
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
80 デバイス管理、902 デバイス管理制御部

Claims (20)

  1. 複数の機能を提供するデバイスを管理するデバイス管理手段と、
    前記デバイスが提供する複数の機能のうち、一の機能を利用する利用手段と、
    を有し、
    前記デバイス管理手段は、複数の機能を提供するデバイスを管理するデバイス管理画面を構成するためのデバイス管理制御用データに基づいて前記デバイスが提供する複数の機能のうち、前記一の機能とは別の機能が利用可能か否かを確認し、確認の結果に応じて、前記利用手段へのリンクを表すオブジェクトに引数を設定し、
    前記利用手段は、前記デバイス管理画面に表示されている前記利用手段へのリンクを表すオブジェクトが指定された場合、前記引数に基づいてデバイスを設定する情報処理装置。
  2. 前記利用手段は、前記デバイスが提供する複数の機能のうち、一の機能としてスキャナ機能を利用し、
    前記デバイス管理手段は、前記デバイス管理制御用データに基づいて前記デバイスが提供する複数の機能のうち、前記一の機能とは別の機能としてストレージ機能が利用可能か否かを確認する請求項1記載の情報処理装置。
  3. 前記利用手段は、前記デバイスが提供する複数の機能のうち、一の機能としてスキャナ機能を利用し、
    前記デバイス管理手段は、前記デバイス管理制御用データに基づいて前記デバイスが提供する複数の機能のうち、前記一の機能とは別の機能としてプリンタ機能が利用可能か否かを確認する請求項1記載の情報処理装置。
  4. 前記デバイス管理手段は、前記デバイスとの接続のインタフェースに応じて、前記プリンタ機能が利用可能か否かを確認する請求項3記載の情報処理装置。
  5. 前記デバイス管理手段は、前記確認の結果に応じて、前記利用手段へのリンクを表すオブジェクトにデバイス名を含む引数を設定し、前記オブジェクトを構築する請求項1乃至4何れか1項記載の情報処理装置。
  6. 前記利用手段は、前記デバイス管理画面に表示されている前記利用手段へのリンクを表すオブジェクトが指定された場合、前記引数に基づいて前記引数が示すデバイスが不明なデバイスか否かを判定し、不明なデバイスであると判定した場合、デバイスを選択するダイアログを表示し、不明なデバイスでないと判定した場合、前記引数に基づいてデバイスを設定する請求項1乃至5何れか1項記載の情報処理装置。
  7. 監視対象のデバイスの状態を確認し、確認した結果に応じて監視対象のデバイスの状態を表す情報を監視対象のデバイスに対応する状態情報の値に反映させる反映手段と、
    前記デバイスを管理するデバイス管理手段と、
    前記デバイスが提供する機能を利用する利用手段と、
    を有し、
    前記デバイス管理手段は、デバイスを管理するデバイス管理画面を構成するためのデバイス管理制御用データに記述されている前記状態情報を示す情報に基づいて前記状態情報の値を確認し、確認の結果に応じて、前記利用手段へのリンクを表すオブジェクトに引数を設定し、
    前記利用手段は、前記デバイス管理画面に表示されている前記利用手段へのリンクを表すオブジェクトが指定された場合、前記引数に基づいてデバイスを設定する情報処理装置。
  8. 前記反映手段は、前記デバイスごとにデバイスがオンラインか否かを確認するポーリングスレッドを起動し、各ポーリングスレッドにおいて、デバイスがオンラインであると判定した場合は、前記状態情報の値を一つ増やし、デバイスがオンラインでないと判定した場合は、前記状態情報の値を一つ減らすことで、監視対象のデバイスの状態を表す情報を監視対象のデバイスに対応する前記状態情報の値に反映させる請求項7記載の情報処理装置。
  9. デバイスを管理するデバイス管理手段と、
    前記デバイスが提供する機能を利用する利用手段と、
    を有し、
    前記デバイス管理手段は、前記利用手段へのリンクを表すオブジェクトに、複数の機能を提供するデバイスを管理するデバイス管理画面を構成するためのデバイス管理制御用データに記述されている前記デバイスのドライバのモデル名を引数として設定し、
    前記利用手段は、前記デバイス管理画面に表示されている前記利用手段へのリンクを表すオブジェクトが指定された場合、前記引数のモデル名に基づいてデバイスのドライバを選択し、選択したデバイスのドライバに基づいてデバイスを設定する情報処理装置。
  10. 前記利用手段は、前記引数に基づいてインストールされているドライバの中からドライバ名として前記引数のモデル名が含まれるものを検索し、検索の結果、複数のドライバが存在する場合、各ドライバに対応するデバイスに対して通信テストを行い、通信テストの結果に基づいてデバイスのドライバを選択し、選択したドライバに基づいてデバイスを設定する請求項9記載の情報処理装置。
  11. 前記利用手段は、前記引数に基づいてインストールされているドライバの中からドライバ名として前記引数のモデル名が含まれるものを検索し、検索の結果、複数のドライバが存在する場合、各ドライバに対応するデバイスに対して通信テストを行い、通信テストの結果、通信をすることができるデバイスが複数、存在した場合、通信速度に基づいてデバイスのドライバを選択し、選択したドライバに基づいてデバイスを設定する請求項10記載の情報処理装置。
  12. 複数の機能を提供するデバイスを管理するデバイス管理手段と、
    前記デバイスが提供する複数の機能のうち、一の機能を利用する利用手段と、
    を有する情報処理装置における情報処理方法であって、
    前記デバイス管理手段が、複数の機能を提供するデバイスを管理するデバイス管理画面を構成するためのデバイス管理制御用データに基づいて前記デバイスが提供する複数の機能のうち、前記一の機能とは別の機能が利用可能か否かを確認し、確認の結果に応じて、前記利用手段へのリンクを表すオブジェクトに引数を設定する設定ステップと、
    前記利用手段が、前記デバイス管理画面に表示されている前記利用手段へのリンクを表すオブジェクトが指定された場合、前記引数に基づいてデバイスを設定する設定ステップと、
    を有する情報処理方法。
  13. 反映手段と、
    監視対象のデバイスを管理するデバイス管理手段と、
    前記デバイスが提供する機能を利用する利用手段と、
    を有する情報処理装置における情報処理方法であって、
    前記反映手段が、前記デバイスの状態を確認し、確認した結果に応じて監視対象のデバイスの状態を表す情報を監視対象のデバイスに対応する状態情報の値に反映させる反映ステップと、
    前記デバイス管理手段が、デバイスを管理するデバイス管理画面を構成するためのデバイス管理制御用データに記述されている前記状態情報を示す情報に基づいて前記状態情報の値を確認し、確認の結果に応じて、前記利用手段へのリンクを表すオブジェクトに引数を設定する設定ステップと、
    前記利用手段が、前記デバイス管理画面に表示されている前記利用手段へのリンクを表すオブジェクトが指定された場合、前記引数に基づいてデバイスを設定する設定ステップと、
    を有する情報処理方法。
  14. デバイスを管理するデバイス管理手段と、
    前記デバイスが提供する機能を利用する利用手段と、
    を有する情報処理装置における情報処理方法であって、
    前記デバイス管理手段が、前記利用手段へのリンクを表すオブジェクトに、複数の機能を提供するデバイスを管理するデバイス管理画面を構成するためのデバイス管理制御用データに記述されている前記デバイスのドライバのモデル名を引数として設定する設定ステップと、
    前記利用手段が、前記デバイス管理画面に表示されている前記利用手段へのリンクを表すオブジェクトが指定された場合、前記引数のモデル名に基づいてデバイスのドライバを選択し、選択したデバイスのドライバに基づいてデバイスを設定する設定ステップと、
    を有する情報処理方法。
  15. コンピュータを、
    複数の機能を提供するデバイスを管理するデバイス管理手段と、
    前記デバイスが提供する複数の機能のうち、一の機能を利用する利用手段と、
    して機能させるプログラムであって、
    前記デバイス管理手段は、複数の機能を提供するデバイスを管理するデバイス管理画面を構成するためのデバイス管理制御用データに基づいて前記デバイスが提供する複数の機能のうち、前記一の機能とは別の機能が利用可能か否かを確認し、確認の結果に応じて、前記利用手段へのリンクを表すオブジェクトに引数を設定し、
    前記利用手段は、前記デバイス管理画面に表示されている前記利用手段へのリンクを表すオブジェクトが指定された場合、前記引数に基づいてデバイスを設定するプログラム。
  16. コンピュータを、
    監視対象のデバイスの状態を確認し、確認した結果に応じて監視対象のデバイスの状態を表す情報を監視対象のデバイスに対応する状態情報の値に反映させる反映手段と、
    前記デバイスを管理するデバイス管理手段と、
    前記デバイスが提供する機能を利用する利用手段と、
    して機能させるプログラムであって、
    前記デバイス管理手段は、デバイスを管理するデバイス管理画面を構成するためのデバイス管理制御用データに記述されている前記状態情報を示す情報に基づいて前記状態情報の値を確認し、確認の結果に応じて、前記利用手段へのリンクを表すオブジェクトに引数を設定し、
    前記利用手段は、前記デバイス管理画面に表示されている前記利用手段へのリンクを表すオブジェクトが指定された場合、前記引数に基づいてデバイスを設定するプログラム。
  17. コンピュータを、
    デバイスを管理するデバイス管理手段と、
    前記デバイスが提供する機能を利用する利用手段と、
    して機能させるプログラムであって、
    前記デバイス管理手段は、前記利用手段へのリンクを表すオブジェクトに、複数の機能を提供するデバイスを管理するデバイス管理画面を構成するためのデバイス管理制御用データに記述されている前記デバイスのドライバのモデル名を引数として設定し、
    前記利用手段は、前記デバイス管理画面に表示されている前記利用手段へのリンクを表すオブジェクトが指定された場合、前記引数のモデル名に基づいてデバイスのドライバを選択し、選択したデバイスのドライバに基づいてデバイスを設定するプログラム。
  18. 前記状態情報は、レジストリに保存されることを特徴とする請求項7又は8記載の情報処理装置。
  19. 前記状態情報は、レジストリに保存されることを特徴とする請求項13記載の情報処理方法。
  20. 前記状態情報は、レジストリに保存されることを特徴とする請求項16記載のプログラム。
JP2009285354A 2009-09-01 2009-12-16 情報処理装置、情報処理方法及びプログラム Active JP5393427B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2009285354A JP5393427B2 (ja) 2009-09-01 2009-12-16 情報処理装置、情報処理方法及びプログラム
US12/870,217 US9270845B2 (en) 2009-09-01 2010-08-27 Information processing apparatus, information processing method, and program
CN201010272043.7A CN102006384B (zh) 2009-09-01 2010-09-01 信息处理设备和信息处理方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2009201853 2009-09-01
JP2009201853 2009-09-01
JP2009285354A JP5393427B2 (ja) 2009-09-01 2009-12-16 情報処理装置、情報処理方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2011076576A JP2011076576A (ja) 2011-04-14
JP5393427B2 true JP5393427B2 (ja) 2014-01-22

Family

ID=43624510

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009285354A Active JP5393427B2 (ja) 2009-09-01 2009-12-16 情報処理装置、情報処理方法及びプログラム

Country Status (3)

Country Link
US (1) US9270845B2 (ja)
JP (1) JP5393427B2 (ja)
CN (1) CN102006384B (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10154300B2 (en) * 2011-10-11 2018-12-11 Qualcomm Incorporated Dynamic content installer for mobile devices
JP5763615B2 (ja) * 2012-12-28 2015-08-12 京セラドキュメントソリューションズ株式会社 画像形成システム並びにこれを構成する画像形成装置及び情報処理装置
US20150163841A1 (en) * 2013-12-11 2015-06-11 Lenovo (Beijing) Co., Ltd. Method for processing information and electronic apparatus
JP6179397B2 (ja) * 2013-12-27 2017-08-16 ブラザー工業株式会社 接続管理プログラム、情報処理装置および情報処理装置の制御方法
JP7070117B2 (ja) * 2018-06-07 2022-05-18 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
JP2020009258A (ja) * 2018-07-10 2020-01-16 キヤノン株式会社 情報処理装置、制御方法、およびそのプログラム
JP2022065784A (ja) * 2020-10-16 2022-04-28 セイコーエプソン株式会社 画像読取装置および通信テスト方法
US20240020137A1 (en) * 2022-07-18 2024-01-18 Vmware, Inc. Method to realize scanner redirection between a client and an agent using different scanning protocols
US20240020136A1 (en) * 2022-07-18 2024-01-18 Vmware, Inc. Method to realize scanner redirection between a client and an agent
US12028491B2 (en) 2022-07-18 2024-07-02 VMware LLC Scanning preview method for a remote application when using scanner redirection for remote desktop services

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3596781B2 (ja) * 1994-11-21 2004-12-02 株式会社タイトー 情報提供装置による情報提供方法及びその方法を実施するために用いられる情報提供装置
JPH11110176A (ja) * 1997-10-02 1999-04-23 Matsushita Joho System Kk プログラム起動装置およびプログラム起動方法およびプログラム起動方法を実行するプログラムを記録した記録媒体
US7284246B2 (en) * 2002-04-23 2007-10-16 Canon Kabushiki Kaisha Extensible device driver
US7106472B2 (en) * 2002-10-31 2006-09-12 Hewlett-Packard Development Company, L.P. Print driver for an extended printing device
JP2004213111A (ja) * 2002-12-26 2004-07-29 Canon Inc コンピュータプログラム
JP4018609B2 (ja) 2003-09-10 2007-12-05 キヤノン株式会社 情報処理装置、情報処理方法および情報処理プログラム並びにコンピュータ読み取り可能な記憶媒体
JP2005165514A (ja) * 2003-12-01 2005-06-23 Sony Corp アプリケーション表示装置
JP4514201B2 (ja) 2004-05-31 2010-07-28 キヤノン株式会社 情報処理装置、情報処理装置の制御方法およびプログラム
KR100601684B1 (ko) * 2004-06-03 2006-07-14 삼성전자주식회사 외부 저장장치, 화상획득장치, 및 드라이버를 구동하는방법 및 시스템
JP4248503B2 (ja) * 2005-01-14 2009-04-02 シャープ株式会社 プリンタドライバおよびそれを備えてなる情報処理装置、印刷制御装置、印刷データの生成方法
JP4702948B2 (ja) * 2005-03-29 2011-06-15 キヤノン株式会社 デバイスドライバをカスタマイズする情報処理装置、方法、記憶媒体
JP4599206B2 (ja) * 2005-03-29 2010-12-15 キヤノン株式会社 情報処理装置及び情報処理装置の制御方法、プログラム、記憶媒体
JP4302710B2 (ja) * 2006-04-11 2009-07-29 シャープ株式会社 画像処理装置制御システム
KR20080009559A (ko) * 2006-07-24 2008-01-29 삼성전자주식회사 화상형성제어장치 및 그 장치의 제어방법
JP4284440B2 (ja) * 2007-10-16 2009-06-24 富士フイルム株式会社 電子カメラ

Also Published As

Publication number Publication date
CN102006384B (zh) 2014-03-12
CN102006384A (zh) 2011-04-06
JP2011076576A (ja) 2011-04-14
US9270845B2 (en) 2016-02-23
US20110051190A1 (en) 2011-03-03

Similar Documents

Publication Publication Date Title
JP5393427B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP5975666B2 (ja) 情報処理装置、情報処理方法、及びプログラム
US8289531B2 (en) Peripheral device control system and method
KR101337160B1 (ko) 정보 처리 장치, 정보 처리 방법 및 기억 매체
US9529560B2 (en) Information processing apparatus, information processing method, and program
EP2275917B1 (en) Information processing apparatus, information processing method, and storage medium
US20170102932A1 (en) Information processing apparatus and control method therefor
US8560738B2 (en) Information processing device that accesses a device management program and manages the peripheral device and manages setting information for the peripheral device
JP5822442B2 (ja) 情報処理装置、制御方法及びプログラム
US20120170071A1 (en) Information processing apparatus, device information display method, and computer-readable storage medium
JP5907589B2 (ja) 情報処理装置、周辺装置制御方法、プログラム
JP4467955B2 (ja) 情報処理装置、周辺装置制御システム及び情報処理装置に適用される周辺装置制御方法並びにそのプログラム
JP5652997B2 (ja) 情報処理装置、デバイス情報表示方法、及びコンピュータプログラム
JP5665303B2 (ja) 情報処理装置、その方法及びプログラム
US20130159837A1 (en) Information processing apparatus, method therefor, and computer-readable storage medium
JP5893295B2 (ja) 情報処理装置、表示方法及びプログラム
JP5697393B2 (ja) 情報処理装置、周辺装置制御方法及びプログラム
US8682194B2 (en) Managing peripheral devices using display a screen
JP2011186969A (ja) 情報処理装置、情報処理装置の制御方法、インストール方法及びコンピュータプログラム
JP2007156994A (ja) ホスト装置及び印刷制御方法
JP2022131502A (ja) 画像形成装置、画像形成装置の制御方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121129

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130729

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130917

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131015

R151 Written notification of patent or utility model registration

Ref document number: 5393427

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151