JP7439570B2 - Information processing device, control method, and program - Google Patents
Information processing device, control method, and program Download PDFInfo
- Publication number
- JP7439570B2 JP7439570B2 JP2020035658A JP2020035658A JP7439570B2 JP 7439570 B2 JP7439570 B2 JP 7439570B2 JP 2020035658 A JP2020035658 A JP 2020035658A JP 2020035658 A JP2020035658 A JP 2020035658A JP 7439570 B2 JP7439570 B2 JP 7439570B2
- Authority
- JP
- Japan
- Prior art keywords
- information
- external device
- driver
- device driver
- function
- 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
Links
- 230000010365 information processing Effects 0.000 title claims description 104
- 238000000034 method Methods 0.000 title claims description 39
- 238000012545 processing Methods 0.000 claims description 48
- 230000006870 function Effects 0.000 description 82
- 239000000047 product Substances 0.000 description 18
- 238000004891 communication Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 12
- 238000007639 printing Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000009792 diffusion process Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Description
本発明は、情報処理装置、制御方法、及びプログラムに関する。 The present invention relates to an information processing device, a control method, and a program.
例えば、USB(Universal Serial Bus)機器等の外部装置を接続するインターフェースを有し、デバイスドライバに代えて、特定のアプリケーションから外部装置を制御する情報処理装置がある。 For example, there is an information processing device that has an interface for connecting an external device such as a USB (Universal Serial Bus) device, and controls the external device from a specific application instead of a device driver.
例えば、クラスに相当するクラスドライバではない、ジェネリックなデバイスドライバを介して、アプリケーションが特殊な制御を行なうことにより、アプリケーションが外部装置を制御する情報処理装置が知られている(例えば、特許文献1参照)。
For example, an information processing apparatus is known in which an application controls an external device by performing special control via a generic device driver that is not a class driver corresponding to a class (for example,
特許文献1に開示された技術を、例えば、画像形成装置等の電子機器に適用して、電子機器に外部装置を接続することにより、外部装置を制御して所定の機能を提供するアプリケーションを利用可能にして、所定の機能を提供したいという要求がある。
For example, by applying the technology disclosed in
しかし、特許文献1に開示された技術では、特定の外部装置を電子機器に接続したときにデバイスドライバを選択するのみであり、外部装置を制御して所定の機能を提供するアプリケーションを利用可能にして、所定の機能を提供することには困難を伴っていた。
However, the technology disclosed in
なお、このような課題は、画像形成装置等の電子機器に限られず、例えば、PC(Personal Computer)等の汎用の情報端末にも共通に存在する。 Note that such a problem is not limited to electronic devices such as image forming apparatuses, but also commonly exists in general-purpose information terminals such as PCs (Personal Computers).
本発明の一実施形態は、上記の問題点に鑑みてなされたものであって、外部装置を情報処理装置に接続することにより、外部装置を制御して所定の機能を提供するアプリケーションを利用可能にして、所定の機能を提供することを容易にする。 An embodiment of the present invention has been made in view of the above problems, and by connecting an external device to an information processing device, it is possible to use an application that controls the external device and provides a predetermined function. to facilitate the provision of predetermined functionality.
上記目的を達成するため、本発明の一実施形態に係る情報処理装置は、を有する情報処理装置であって、前記外部装置の機能に対応した処理を行なう第1のデバイスドライバと、前記外部装置の機能に依存しない処理を行なう第2のデバイスドライバと、前記情報処理装置にインストールされ、前記第2のデバイスドライバを利用して前記外部装置を制御し、所定の機能を提供するアプリケーションと、を記憶する記憶部と、前記情報処理装置にインストールされた前記アプリケーションが前記所定の機能を提供するために用いる前記外部装置の情報と、前記外部装置に対応する前記第2のデバイスドライバの情報と、前記第2のデバイスドライバに対応する前記アプリケーションの情報と、を記憶した登録情報を管理する管理部と、前記接続部に接続した前記外部装置から取得した前記外部装置の情報が、前記登録情報に登録されている場合、前記登録情報に基づいて、前記第2のデバイスドライバを選択し、前記第2のデバイスドライバに対応する前記アプリケーションを利用可能にする制御部と、を有し、前記制御部は、前記接続部に接続した前記外部装置から取得した前記外部装置の情報が、前記登録情報に登録されていない場合、前記接続部に接続された前記外部装置の機能に対応した処理を行なう前記第1のデバイスドライバを選択する。
In order to achieve the above object, an information processing apparatus according to an embodiment of the present invention includes: a first device driver that performs processing corresponding to a function of the external device; a second device driver that performs processing independent of the function of the information processing device; and an application installed in the information processing device that uses the second device driver to control the external device and provide a predetermined function . a storage unit for storing information, information on the external device used by the application installed in the information processing device to provide the predetermined function, and information on the second device driver corresponding to the external device ; a management unit that manages registered information that stores information on the application corresponding to the second device driver; and information on the external device acquired from the external device connected to the connection unit, in the registered information. a control unit that selects the second device driver based on the registration information and makes the application corresponding to the second device driver available if the application is registered; is configured to perform processing corresponding to the function of the external device connected to the connection unit, if information on the external device acquired from the external device connected to the connection unit is not registered in the registration information. Select the first device driver.
本発明の一実施形態によれば、外部装置を情報処理装置に接続することにより、外部装置を制御して所定の機能を提供するアプリケーションを利用可能にして、所定の機能を提供することが容易になる。 According to an embodiment of the present invention, by connecting an external device to an information processing device, an application that controls the external device and provides a predetermined function can be made available, thereby easily providing the predetermined function. become.
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
<システム構成>
図1は、一実施形態に係る情報処理システムのシステム構成の例を示す図である。情報処理システム100は、例えば、コンピュータの構成を有する情報処理装置110と、情報処理装置110に接続可能な外部装置101とを含む。好ましくは、情報処理装置110は、情報処理装置110の外部、又は内部に表示装置102、入力装置103等を有する。
Embodiments of the present invention will be described in detail below with reference to the drawings.
<System configuration>
FIG. 1 is a diagram illustrating an example of a system configuration of an information processing system according to an embodiment. The
外部装置101は、情報処理装置110が備える外部機器接続I/F(Interface)等に接続され、情報処理装置110からデバイスドライバを介して制御される、例えば、USB(Universal Serial Bus)機器等の装置である。ここでは、外部装置101がUSB機器であるものとして以下の説明を行なうが、外部装置101は、情報処理装置110に接続され、情報処理装置110からデバイスドライバを介して制御される、USB機器以外の装置であっても良い。
The
情報処理装置110は、一例として、図2に示すようなコンピュータ200の構成を有するPC(Personal Computer)、タブレット端末等の情報処理装置である。別の一例として、情報処理装置110は、図3に示す画像形成装置300のように、コンピュータの構成を備え、外部装置101を接続可能な電子機器である。
The
なお、情報処理装置110は、コンピュータ200や画像形成装置300に限られず、コンピュータの構成を備え、外部装置101を接続可能な様々な装置であって良い。例えば、電子機器は、PJ(Projector:プロジェクタ)、IWB(Interactive White Board:相互通信が可能な電子式の黒板機能を有する白板)、デジタルサイネージ等の出力装置であっても良い。また、電子機器は、HUD(Head Up Display)装置、産業機械、撮像装置、集音装置、医療機器、ネットワーク家電、自動車(Connected Car)等であっても良い。さらに、電子機器は、携帯電話、スマートフォン、ゲーム機、PDA(Personal Digital Assistant)、デジタルカメラ、ウェアラブル端末等であっても良い。
Note that the
<ハードウェア構成>
ここでは、情報処理装置110の一例であるコンピュータ200、及び画像形成装置300のハードウェア構成について説明する。
<Hardware configuration>
Here, the hardware configurations of the
(コンピュータのハードウェア構成)
図2は、一実施形態に係るコンピュータのハードウェア構成の例を示す図である。情報処理装置110は、例えば、図2に示すようなコンピュータ200のハードウェア構成を有している。
(computer hardware configuration)
FIG. 2 is a diagram illustrating an example of the hardware configuration of a computer according to an embodiment. The
コンピュータ200は、例えば、図2に示されるように、CPU(Central Processing Unit)201、ROM(Read Only Memory)202、RAM(Random Access Memory)203、HD(Hard Disk)204、HDD(Hard Disk Drive)コントローラ205、ディスプレイ206、外部機器接続I/F(Interface)207、ネットワークI/F208、キーボード209、ポインティングデバイス210、DVD-RW(Digital Versatile Disk Rewritable)ドライブ212、メディアI/F214、及びバスライン215等を備えている。
For example, as shown in FIG. 2, the
これらのうち、CPU201は、コンピュータ200全体の動作を制御する。ROM202は、例えば、IPL(Initial Program Loader)等のコンピュータ200の起動に用いられるプログラムを記憶する。RAM203は、例えば、CPU201のワークエリア等として使用される。HD204は、例えば、OS(Operating System)、アプリケーション、デバイスドライバ等のプログラムや、各種データを記憶する。HDDコントローラ205は、例えば、CPU201の制御に従ってHD204に対する各種データの読み出し又は書き込みを制御する。
Among these, the
ディスプレイ206は、例えば、カーソル、メニュー、ウィンドウ、文字、又は画像などの各種情報を表示する。なお、ディスプレイ206は、図1の表示装置102に対応しており、コンピュータ200の外部に設けられていても良い。外部機器接続I/F207は、各種の外部装置(外部機器)101を接続するUSB等のインターフェースであり、一例として、USBホストコントローラ等を含む。ネットワークI/F208は、通信ネットワークを利用してデータ通信をするためのインターフェースである。
The
キーボード209は、文字、数値、各種指示などの入力のための複数のキーを備えた入力手段の一種である。ポインティングデバイス210は、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行なう入力手段の一種である。なお、キーボード209、及びポインティングデバイス210は、図1の入力装置103に対応しており、コンピュータ200の外部に設けられていても良い。
The
DVD-RWドライブ212は、着脱可能な記録媒体の一例としてのDVD-RW211に対する各種データの読み出し又は書き込みを制御する。なお、DVD-RW211は、DVD-RWに限らず、DVD-R等であっても良い。メディアI/F214は、フラッシュメモリ等のメディア213に対するデータの読み出し又は書き込み(記憶)を制御する。バスライン215は、上記の各構成要素を電気的に接続するためのアドレスバス、データバス及び各種の制御信号等を含む。
The DVD-RW drive 212 controls reading and writing of various data to the DVD-
(画像形成装置のハードウェア構成)
ここでは、画像形成装置300が、例えば、スキャン機能、コピー機能、印刷機能、ファクシミリ機能等を一つの筐体に搭載したMFP(Multifunction Peripheral)であるものとして、以下の説明を行なう。なお、画像形成装置300は、情報処理装置110の一例である。
(Hardware configuration of image forming apparatus)
Here, the following description will be given assuming that the
図3は、一実施形態に係る画像形成装置のハードウェア構成の例を示す図である。画像形成装置300は、例えば、図3に示されるように、コントローラ310、近距離通信回路320、エンジン制御部330、操作パネル340、ネットワークI/F350、及び外部機器接続I/F360等を備えている。
FIG. 3 is a diagram illustrating an example of the hardware configuration of an image forming apparatus according to an embodiment. For example, as shown in FIG. 3, the
これらのうち、コントローラ310は、コンピュータの主要部であるCPU301、システムメモリ(MEM-P)302、ノースブリッジ(NB)303、サウスブリッジ(SB)304、ASIC(Application Specific Integrated Circuit)305、記憶部であるローカルメモリ(MEM-C)306、HDDコントローラ307、及び、記憶部であるHD308等を有し、NB303とASIC305との間をAGP(Accelerated Graphics Port)バス311で接続した構成となっている。
Among these, the
これらのうち、CPU301は、画像形成装置300の全体制御を行なう制御部である。NB303は、CPU301と、MEM-P302、SB304、及びAGPバス311とを接続するためのブリッジであり、MEM-P302に対する読み書きなどを制御するメモリコントローラと、PCI(Peripheral Component Interconnect)マスタ及びAGPターゲットとを有する。
Among these, the
MEM-P302は、コントローラ310の各機能を実現させるプログラムやデータの格納用メモリであるROM302a、プログラムやデータの展開、及びメモリ印刷時の描画用メモリなどとして用いるRAM302bとからなる。なお、RAM302bに記憶されているプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、CD-R、DVD等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成しても良い。
The MEM-
SB304は、NB303とPCIデバイス、周辺デバイスとを接続するためのブリッジである。ASIC305は、画像処理用のハードウェア要素を有する画像処理用途向けのIC(Integrated Circuit)であり、AGPバス311、PCIバス312、HDDコントローラ307、及びMEM-C306をそれぞれ接続するブリッジの役割を有する。このASIC305は、PCIターゲット及びAGPマスタ、ASIC305の中核をなすアービタ(ARB)、MEM-C306を制御するメモリコントローラ、ハードウェアロジック等により画像データの回転などを行なう複数のDMAC(Direct Memory Access Controller)、並びに、スキャナ部331及びプリンタ部332との間でPCIバス312を介したデータ転送を行なうPCIユニットとからなる。なお、ASIC305には、USBのインターフェースや、IEEE1394(Institute of Electrical and Electronics Engineers 1394)のインターフェースを接続するようにしても良い。
SB304 is a bridge for connecting NB303, PCI devices, and peripheral devices. The
MEM-C306は、コピー用画像バッファ及び符号バッファとして用いるローカルメモリである。HD308は、画像データの蓄積、印刷時に用いるフォントデータの蓄積、フォームの蓄積を行なうためのストレージである。なお、HD308は、例えば、OS、アプリケーション、デバイスドライバ等のプログラムや、各種データを記憶しても良い。HDDコントローラ307は、CPU301の制御に従ってHD308に対するデータの読出又は書込を制御する。AGPバス311は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレータカード用のバスインタフェースであり、MEM-P302に高スループットで直接アクセスすることにより、グラフィックスアクセラレータカードを高速にすることができる。
MEM-
近距離通信回路320は、近距離通信回路用のアンテナ320a等を用いて、各種の近距離無線通信を行なう。
The short-
エンジン制御部330は、例えば、スキャナ部331及びプリンタ部332等によって構成されている。スキャナ部331は、原稿等を読み取る読取装置である。プリンタ部332は、印刷データを印刷媒体に印刷する印刷装置である。スキャナ部331又はプリンタ部332には、例えば、誤差拡散やガンマ変換等の画像処理部分が含まれている。
The
操作パネル340は、現在の設定値や選択画面等を表示させ、操作者からの入力を受け付けるタッチパネル等のパネル表示部340a、並びに、濃度の設定条件などの画像形成に関する条件の設定値を受け付けるテンキー及びコピー開始指示を受け付けるスタートキー等からなる操作ボタン340bを備えている。なお、操作パネル340は、図1の表示装置102、及び入力装置103に対応している。コントローラ310は、画像形成装置300全体の制御を行ない、例えば、描画、通信、操作パネル340からの入力等を制御する。
The
なお、画像形成装置300は、例えば、操作パネル340のアプリケーション切り替えキーにより、ドキュメントボックス機能、コピー機能、プリンタ機能、及びファクシミリ機能を順次に切り替えて選択することが可能となる。例えば、ドキュメントボックス機能の選択時にはドキュメントボックスモードとなり、コピー機能の選択時にはコピーモードとなり、プリンタ機能の選択時にはプリンタモードとなり、ファクシミリモードの選択時にはファクシミリモードとなる。
Note that the
また、ネットワークI/F350は、通信ネットワークを利用してデータ通信をするためのインターフェースである。外部機器接続I/F360は、各種の外部装置(外部機器)101を接続するUSB等のインターフェースであり、例えば、USBホストコントローラ等を含む。近距離通信回路320、ネットワークI/F350、及び外部機器接続I/F360は、例えば、PCIバス312を介して、ASIC305に電気的に接続されている。
Further, the network I/
なお、電子機器120は、コンピュータの構成と、外部機器接続I/F360とを備えていれば良く、他のハードウェア構成は任意の構成であって良い。また、外部機器接続I/F360は、PCIバス312とは異なるPCIバスを介して、SB304に接続されていても良い。
Note that the electronic device 120 only needs to include a computer configuration and an external device connection I/
<機能構成>
続いて、一実施形態に係る情報処理装置110の機能構成について説明する。
<Functional configuration>
Next, the functional configuration of the
図4は、一実施形態に係る情報処理装置の機能構成の例を示す図である。ここでは、説明を容易にするため、情報処理装置110が画像形成装置300であり、外部装置101がUSB機器であるものとして以下の説明を行なう。
FIG. 4 is a diagram illustrating an example of a functional configuration of an information processing device according to an embodiment. Here, for ease of explanation, the following explanation will be given assuming that the
情報処理装置110は、例えば、図3のCPU301(又は図2のCPU201)で所定のプログラムを実行することにより、接続部401、取得部402、管理部403、制御部404、登録部405、及び記憶部406等を実現している。なお、上記の各機能構成のうち、少なくとも一部は、ハードウェアによって実現されるものであっても良い。
For example, the
記憶部406は、例えば、図3のCPU301等で実行されるプログラム、及びHD308、HDDコントローラ307等によって実現され、第1のデバイスドライバ411、第2のデバイスドライバ412、及びアプリケーション423等を記憶する。なお、記憶部406は、例えば、登録情報414等の各種の情報やデータを記憶するためにも用いられる。
The
デバイスドライバは、情報処理装置110に接続される外部装置101を制御するためのプログラムである。本実施形態では、デバイスドライバには、外部装置101の機能に対応した処理を行なう第1のデバイスドライバ411と、外部装置101の機能に依存しない処理を行なう第2のデバイスドライバとが含まれる。
The device driver is a program for controlling the
第1のデバイスドライバ411は、OSを提供するベンダや、外部装置101を提供するベンダ等によって提供され、外部装置101の機能を実現するための各種の制御を実行する、一般的なデバイスドライバである。
The
第2のデバイスドライバ412は、外部装置101の機能に依存しない処理を行ない、外部装置101の機能を実現するための制御を、デバイスドライバではなく、アプリケーション413が実行するデバイスドライバである。一例として、第2のデバイスドライバ412には、関数として、単純な初期化や、データの送受信等を行なう関数が定義されている。
The
アプリケーション413は、第2のデバイスドライバ412を利用して外部装置101を制御し、所定の機能を提供するプログラムである。
The
例えば、情報処理装置110に、外部装置101を利用した所定の機能(例えば、生体認証機能等)を追加したい場合、管理者等は、所定の機能に対応するアプリケーション413、及び第2のデバイスドライバ412を情報処理装置110にインストールする。これにより、外部装置101(例えば、生体認証装置等)を情報処理装置110に接続することにより、アプリケーション413が、第2のデバイスドライバ412を介して、外部装置101を制御し、所定の機能(例えば、生体認証機能等)を提供することができる。なお、生体認証機能は、所定の機能の一例である。所定の機能は、例えば、NFC(Near Field Communication)やBluetooth(登録商標)等の近距離無線機能、利用者の接近を検知する移動体の検知機能等の様々な機能であって良い。
For example, when wanting to add a predetermined function (for example, biometric authentication function, etc.) using the
このように、本実施形態によれば、例えば、画像形成装置300等の情報処理装置110に、アプリケーション413、及び第2のデバイスドライバ412をインストールすることにより、外部装置101を利用した様々な機能を容易に追加することができる。
As described above, according to the present embodiment, various functions using the
接続部401は、例えば、CPU301等で実行されるプログラム、及び外部機器接続I/F360等によって実現され、USB機器である外部装置101を、情報処理装置110に接続する。例えば、接続部401は、外部機器接続I/F360に接続された外部装置101を検知し、接続された外部装置101にアドレスを割り当てる。
The
取得部402は、例えば、CPU301等で実行されるプログラム、及び外部機器接続I/F360等によって実現され、外部機器接続I/F360に接続された外部装置101から、外部装置の情報を取得する取得処理を実行する。
The
図5は、一実施形態に係る外部装置の情報のイメージを示す図である。この図は、USB機器から取得可能なデバイスディスクリプタの例を示している。デバイスディスクリプタは、このディスクリプタを送信したUSB機器を識別するための情報を含む。図6の例では、デバイスディスクリプタは、「bLength」、「bDescriptorType」、「bcdUSB」、「bDeviceClass」、「bDeviceSubclass」、「bDeviceProtocol」、「bMaxPacketSize0」、「idVendor」、「idProduct」、「bcdDevice」、「iManufacturer」、「iProduct」、「iSerialNumber」、及び「bNumConfiguration」等のフィールドを含む。 FIG. 5 is a diagram illustrating an image of information on an external device according to an embodiment. This figure shows an example of a device descriptor that can be obtained from a USB device. The device descriptor includes information for identifying the USB device that transmitted this descriptor. In the example of FIG. 6, the device descriptors are "bLength", "bDescriptorType", "bcdUSB", "bDeviceClass", "bDeviceSubclass", "bDeviceProtocol", "bMaxPacketSize0", "idVendor", "idProduct", "bcdDevice", Contains fields such as "iManufacturer", "iProduct", "iSerialNumber", and "bNumConfiguration".
これらのうち、「bLength」、及び「bDescriptorType」のフィールドは、それぞれディスクリプタのバイト長と種類を示す。また、「bcdUSB」は、USB仕様書のリリース番号を示す。 Among these, the "bLength" and "bDescriptorType" fields indicate the byte length and type of the descriptor, respectively. Further, "bcdUSB" indicates the release number of the USB specification.
「bDeviceClass」、「bDeviceSubclass」、及び「bDeviceProtocol」のフィールドは、このディスクリプタを送信したUSB機器のクラスを示す。クラスは、USB機器の機能に基づく分類を示す情報である。なお、クラスは、外部装置101の機能を識別する機能識別情報の一例である。
The "bDeviceClass", "bDeviceSubclass", and "bDeviceProtocol" fields indicate the class of the USB device that transmitted this descriptor. The class is information indicating classification based on the function of the USB device. Note that the class is an example of function identification information that identifies the function of the
また、「idVendor」のフィールドは、このディスクリプタを送信したUSB機器のベンダを識別するベンダIDである。「idProduct」のフィールドは、ディスクリプタを送信したUSB機器を識別するプロダクトIDである。「bcdDevice」のフィールドは、USB機器のバージョン(デバイスのバージョン)を示す。なお、プロダクトIDは、外部装置101を識別する機器識別情報の一例である。或いは、プロダクトIDに、ベンダIDやデバイスのバージョン等を組み合わせて、外部装置101を識別する機器識別情報としても良い。なお、「iManufacturer」以降のフィールドについては、本実施形態の処理には関係しないため、説明を省略する。
Furthermore, the "idVendor" field is a vendor ID that identifies the vendor of the USB device that sent this descriptor. The "idProduct" field is a product ID that identifies the USB device that sent the descriptor. The "bcdDevice" field indicates the version of the USB device (device version). Note that the product ID is an example of device identification information that identifies the
なお、図4に示すデバイスディスクリプタは、外部装置の情報の一例である。外部装置の情報には、例えば、外部装置101を識別する装置識別情報、外部装置101の機能を識別する機能識別情報等が含まれていれば良い。
Note that the device descriptor shown in FIG. 4 is an example of information on an external device. The information on the external device may include, for example, device identification information for identifying the
ここで、図4に戻り、情報処理装置110の機能構成の説明を続ける。
Now, returning to FIG. 4, the description of the functional configuration of the
管理部403は、例えば、図3のCPU301等で実行されるプログラムによって実現される。管理部403は、アプリケーション413が所定の機能を提供するために用いる外部装置101の情報と、当該外部装置101に対応する第2のデバイスドライバの情報とを記憶した登録情報414を、例えば、記憶部406等に記憶して管理する。
The
図6は、一実施形態に係る登録情報のイメージを示す図である。図6の例では、登録情報414には、項目として、「ベンダID」、「プロダクトID」、「リリース番号」、「デバイスクラス」、「サブクラス(又はデバイスサブクラス)」、「プロトコル」、「ドライバ」、及び「アプリケーション」等の情報が含まれる。
FIG. 6 is a diagram illustrating an image of registration information according to one embodiment. In the example of FIG. 6, the
このうち、「ベンダID」、「プロダクトID」は、それぞれ、図5の「idVendor」、「idProduct」に対応しており、外部装置101を識別する装置識別情報601の一例である。また、「リリース番号」は、図5の「bcdUSB」に対応している。装置識別情報601には、「リリース番号」が含まれていても良い。
Among these, “vendor ID” and “product ID” correspond to “idVendor” and “idProduct” in FIG. 5, respectively, and are an example of the
また、「デバイスクラス」、「サブクラス」、「プロトコル」は、それぞれ、図5の「bDeviceClass」、「bDeviceSubclass」、「bDeviceProtocol」に対応しており、外部装置101の機能を識別する機能識別情報602の一例である。
Further, "device class", "subclass", and "protocol" correspond to "bDeviceClass", "bDeviceSubclass", and "bDeviceProtocol" in FIG. 5, respectively, and the
さらに、「ベンダID」、「プロダクトID」、「リリース番号」、「デバイスクラス」、「サブクラス」、「プロトコル」は、外部装置101の装置識別情報601、及び機能識別情報を含む、外部装置101の情報の一例である。
Furthermore, "vendor ID", "product ID", "release number", "device class", "subclass", and "protocol" are the
「ドライバ」は、外部装置101に対応する第2のデバイスドライバ412の情報(例えば、名前、ファイル名、識別情報等)である。「アプリケーション」は、第2のデバイスドライバ412を介して、外部装置101を制御するアプリケーション413の情報(例えば、名前、ファイル名、識別情報等)である。
“Driver” is information (for example, name, file name, identification information, etc.) of the
好ましくは、管理部403は、アプリケーション413、及び第2のデバイスドライバ412がインストールされた順に、順次に登録情報414に登録することにより、インストールされた順番を管理する。
Preferably, the
ここで、再び図4に戻り、情報処理装置110の機能構成の説明を続ける。
Here, returning to FIG. 4 again, the description of the functional configuration of the
制御部404は、例えば、図3のCPU301等で実行されるプログラムによって実現される。制御部404は、接続した外部装置101の情報が、登録情報414に登録されている場合、登録情報414に基づいて、外部装置101に対応する第2のデバイスドライバ412を選択し、外部装置101に対応するアプリケーション413を利用可能にする。
The
例えば、制御部404は、外部装置101に対応するアプリケーション413が既に起動している場合、アプリケーション413に外部装置101が接続されたことを通知する。また、制御部404は、外部装置101に対応するアプリケーション413が起動していない場合、アプリケーション413を起動する。
For example, if the
なお、制御部404が実行する具体的な処理の例については、後述する第1~3の実施形態で説明する。
Note that specific examples of processing executed by the
登録部405は、例えば、図3のCPU301で実行されるプログラム(例えば、情報処理装置110にアプリケーション413をインストールするインストールプログラム等)によって実現される。登録部405は、例えば、所定の機能を提供するアプリケーション413と、アプリケーション413が利用する第2のデバイスドライバ412とを情報処理装置110にインストールする。また、登録部405は、インストールしたアプリケーション413が所定の機能を提供するために用いる外部装置101の情報と、インストールした第2のデバイスドライバ412の情報とを、例えば、図6に示すような登録情報414に登録する。
The
<処理の流れ>
続いて、本実施形態に係る制御方法の処理の流れについて、複数の実施形態を例示して説明する。
<Processing flow>
Next, the flow of processing of the control method according to this embodiment will be described by illustrating a plurality of embodiments.
[第1の実施形態]
図7は、第1の実施形態に係る情報処理装置の処理の例を示すフローチャートである。この処理は、情報処理装置110に外部装置101が接続されたときに、情報処理装置110が実行する処理の一例を示している。
[First embodiment]
FIG. 7 is a flowchart illustrating an example of processing of the information processing apparatus according to the first embodiment. This process shows an example of a process executed by the
なお、図7に示す処理の開始時点において、情報処理装置110の記憶部406には、1つ以上の第1のデバイスドライバ411、第2のデバイスドライバ412、及びアプリケーション413が記憶されているものとする。また、情報処理装置110の管理部403は、例えば、図6に示すような登録情報414を管理しているものとする。
Note that at the start of the process shown in FIG. 7, the
ステップS701において、情報処理装置110の接続部401が、外部装置101が接続されたことを検知すると、ステップS702以降の処理が実行される。
In step S701, when the
ステップS702において、情報処理装置110の取得部402は、接続部401に接続した外部装置101から、外部装置の情報を取得する。例えば、取得部402は、外部装置101から、図5に示すような外部装置の情報(デバイスディスクリプタ)を取得する。
In step S702, the
ステップS703において、情報処理装置110の制御部404は、取得部402が取得した外部装置の情報が、例えば、図6に示すような登録情報414に登録されているか否かを判断する。
In step S703, the
例えば、制御部404は、登録情報414に登録されている「ベンダID」、「プロダクトID」、「リリース番号」、「デバイスクラス」、「サブクラス」、及び「プロトコル」のうち、所定の情報が、取得部402が取得した外部装置の情報と一致するか否かを判断する。
For example, the
一例として、制御部404は、取得部402が取得した外部装置の情報に含まれるベンダID「idVendor」とプロダクトID「idProduct」の組合せが、登録情報414に登録されている場合、外部装置の情報が登録情報414に登録されていると判断しても良い。
As an example, if the combination of vendor ID “idVendor” and product ID “idProduct” included in the external device information acquired by the
別の一例として、制御部404は、登録情報414に登録されている全ての外部装置の情報が一致したときに、外部装置の情報が登録情報414に登録されていると判断しても良い。
As another example, the
なお、第1の実施形態では、図6に示す登録情報414に含まれる「リリース番号」、「デバイスクラス」、「サブクラス」、「プロトコル」の情報のうち、1つ以上の情報が、登録情報414に含まれていなくても良い。
Note that in the first embodiment, one or more of the "release number", "device class", "subclass", and "protocol" information included in the
取得部402が取得した外部装置の情報が登録情報414に登録されている場合、制御部404は、処理をステップS704に移行させる。一方、取得部402が取得した外部装置の情報が登録情報414に登録されていない場合、制御部404は、処理をステップS707に移行させる。
If the information on the external device acquired by the
ステップS704に移行すると、制御部404は、例えば、図6に示すような登録情報414に基づいて、接続部401に接続した外部装置101に対応する第2のデバイスドライバ412を選択する。例えば、制御部404は、外部装置101から取得したベンダIDが「0x05CA」、プロダクトIDが「0x0202」である場合、図6に示すような登録情報414から、第2のデバイスドライバ412として「Drv.C」を選択する。
In step S704, the
好ましくは、制御部404は、外部装置101から取得したベンダIDとプロダクトIDとを有する第2のデバイスドライバ412が複数ある場合、後からインストールされた第2のデバイスドライバ412を、優先的に選択する。
Preferably, when there are multiple
ステップS705において、制御部404は、例えば、図6に示すような登録情報414に基づいて、接続部401に接続した外部装置101に対応するアプリケーション413に、外部装置101が接続されたことを通知する。例えば、制御部404は、外部装置101から取得したベンダIDが「0x05CA」、プロダクトIDが「0x0202」である場合、制御部404は、アプリケーション「Cheater」に、外部装置101が接続されたことを通知する。
In step S705, the
なお、このとき、制御部404は、接続部401に接続した外部装置101に対応するアプリケーション413を起動させるものであっても良い。要するに、制御部404は、ステップS705において、接続部401に接続した外部装置101に対応するアプリケーション413を利用可能にするものであれば良い。
Note that at this time, the
ステップS706において、通知を受け付けたアプリケーション413は、第2のデバイスドライバ412を利用して外部装置101の制御を開始する。例えば、アプリケーション「Cheater」は、第2のデバイスドライバ「Drv.C」を利用して外部装置101を制御して、所定の機能の提供を開始する。
In step S706, the
一方、ステップS703からS707に移行すると、制御部404は、接続部401に接続した外部装置101に適用する第1のデバイスドライバ411を選択する。例えば、制御部404は、外部装置101から取得した「デバイスクラス」、「サブクラス」、「プロトコル」等の情報に基づいて、記憶部406に記憶した第1のデバイスドライバ411の中から、外部装置101に対応する第1のデバイスドライバ411を選択する。
On the other hand, when the process moves from step S703 to S707, the
ステップS708において、選択された第1のデバイスドライバ411は、外部装置101の制御を開始する。
In step S708, the selected
上記の処理により、外部装置101を情報処理装置110に接続することにより、外部装置101を制御して所定の機能を提供するアプリケーション413を利用可能にして、所定の機能を提供することが容易になる。例えば、情報処理装置110の利用者は、所定の外部装置101(例えば、生体認証装置等)を、情報処理装置110に接続するだけで、アプリケーション413によって提供される所定の機能(例えば、生体認証機能等)を利用することができるようになる。
Through the above processing, by connecting the
[第2の実施形態]
図8は、第2の実施形態に係る情報処理装置の処理の例を示すフローチャートである。この処理は、情報処理装置110に外部装置101が接続されたときに、情報処理装置110が実行する処理の別の一例を示している。なお、基本的な処理内容は、図7で説明した第1の実施形態に係る情報処理装置の処理と同様なので、ここでは、第1の実施形態と同様の処理に対する詳細な説明は省略する。
[Second embodiment]
FIG. 8 is a flowchart illustrating an example of processing by the information processing apparatus according to the second embodiment. This process shows another example of the process executed by the
また、図8に示す処理の開始時点において、情報処理装置110の記憶部406には、1つ以上の第1のデバイスドライバ411、第2のデバイスドライバ412、及びアプリケーション413が記憶されているものとする。また、情報処理装置110の管理部403は、例えば、図6に示すような登録情報414を管理しているものとする。
Furthermore, at the start of the process shown in FIG. 8, the
ステップS801において、情報処理装置110の接続部401が、外部装置101が接続されたことを検知すると、ステップS802以降の処理が実行される。
In step S801, when the
ステップS802において、情報処理装置110の取得部402は、接続部401に接続した外部装置101から、外部装置の情報を取得する。例えば、取得部402は、USB機器である外部装置101から、図5に示すような外部装置の情報(デバイスディスクリプタ)を取得する。
In step S802, the
ステップS803において、情報処理装置110の制御部404は、取得部402が取得した外部装置の情報に含まれる装置識別情報が、例えば、図6に示すような登録情報414に登録されているか否かを判断する。
In step S803, the
例えば、制御部404は、取得部402が取得した外部装置の情報に含まれるベンダID「idVendor」とプロダクトID「idProduct」の組合せ(装置識別情報の一例)が、登録情報414に登録されているか否かを判断する。或いは、制御部404は、取得部402が取得した外部装置の情報に含まれるベンダID「idVendor」とプロダクトID「idProduct」とリリース番号「bcdUSB」の組合せ(装置識別情報の別の一例)が、登録情報414に登録されているか否かを判断しても良い。
For example, the
取得部402が取得した外部装置の情報に含まれる装置識別情報が登録情報414に登録されている場合、制御部404は、処理をステップS804に移行させる。一方、取得部402が取得した外部装置の情報に含まれる装置識別情報が登録情報414に登録されていない場合、制御部404は、処理をステップS807に移行させる。
If the device identification information included in the external device information acquired by the
ステップS804に移行すると、制御部404は、例えば、図6に示すような登録情報414を参照して、取得部402が取得した外部装置の情報に含まれる装置識別情報に対応する第2のデバイスドライバ412を選択する。例えば、制御部404は、外部装置101から取得したベンダIDが「0x05CA」、プロダクトIDが「0x0202」である場合、図6に示すような登録情報414から、第2のデバイスドライバ412として「Drv.C」を選択する。
In step S804, the
ステップS805において、制御部404は、例えば、図6に示すような登録情報414を参照して、取得部402が取得した外部装置の情報に含まれる装置識別情報に対応するアプリケーション413に、外部装置101が接続されたことを通知する。例えば、制御部404は、外部装置101から取得したベンダIDが「0x05CA」、プロダクトIDが「0x0202」である場合、制御部404は、アプリケーション「Cheater」に、対応する外部装置101が接続されたことを通知する。
In step S805, the
なお、このとき、制御部404は、接続部401に接続した外部装置101に対応するアプリケーション413を起動させるものであっても良い。要するに、制御部404は、ステップS805において、接続部401に接続した外部装置101に対応するアプリケーション413を利用可能にするものであれば良い。
Note that at this time, the
ステップS806において、通知を受け付けたアプリケーション413は、第2のデバイスドライバ412を利用して外部装置101の制御を開始する。例えば、アプリケーション「Cheater」は、第2のデバイスドライバ「Drv.C」を利用して外部装置101を制御して、所定の機能の提供を開始する。
In step S806, the
一方、ステップS803からS807に移行すると、制御部404は、取得部402が取得した外部装置の情報に含まれる機能識別情報が、例えば、図6に示すような登録情報414に登録されているか否かを判断する。
On the other hand, when the process moves from step S803 to S807, the
例えば、制御部404は、取得部402が取得した外部装置の情報に含まれるデバイスクラス「bDeviceClass」、サブクラス「bDeviceSubclass」、及びプロトコル「bDeviceProtocol」の組合せ(機能識別情報の一例)が、登録情報414に登録されているか否かを判断する。或いは、制御部404は、取得部402が取得した外部装置の情報に含まれるデバイスクラス「bDeviceClass」、及びサブクラス「bDeviceSubclass」の組合せ(機能識別情報の別の一例)が、登録情報414に登録されているか否かを判断しても良い。
For example, the
取得部402が取得した外部装置の情報に含まれる機能識別情報が登録情報414に登録されている場合、制御部404は、処理をステップS808に移行させる。一方、取得部402が取得した外部装置の情報に含まれる機能識別情報が登録情報414に登録されていない場合、制御部404は、処理をステップS811に移行させる。
If the function identification information included in the external device information acquired by the
ステップS808に移行すると、制御部404は、例えば、図6に示すような登録情報414を参照して、取得部402が取得した外部装置の情報に含まれる機能識別情報に対応する第2のデバイスドライバ412を選択する。例えば、制御部404は、外部装置101から取得したデバイスクラスが「0xE0」、サブクラスが「0x01」、プロトコルが「0x01」である場合、図6に示すような登録情報414から、第2のデバイスドライバ412として「Drv.B」を選択する。
In step S808, the
ステップS809において、制御部404は、例えば、図6に示すような登録情報414を参照して、取得部402が取得した外部装置の情報に含まれる機能識別情報に対応するアプリケーション413に、外部装置101が接続されたことを通知する。例えば、制御部404は、外部装置101から取得したデバイスクラスが「0xE0」、サブクラスが「0x01」、プロトコルが「0x01」である場合、アプリケーション「FooCom」に、対応する外部装置101が接続されたことを通知する。
In step S809, the
なお、このとき、制御部404は、接続部401に接続した外部装置101に対応するアプリケーション413を起動させるものであっても良い。要するに、制御部404は、ステップS809において、接続部401に接続した外部装置101に対応するアプリケーション413を利用可能にするものであれば良い。
Note that at this time, the
ステップS810において、通知を受け付けたアプリケーション413は、第2のデバイスドライバ412を利用して外部装置101の制御を開始する。例えば、アプリケーション「FooCom」は、第2のデバイスドライバ「Drv.B」を利用して外部装置101を制御して、所定の機能の提供を開始する。
In step S810, the
一方、ステップS807からS811に移行すると、制御部404は、接続部401に接続した外部装置101に適用する第1のデバイスドライバ411を選択する。例えば、制御部404は、外部装置101から取得した「デバイスクラス」、「サブクラス」、「プロトコル」等の情報に基づいて、記憶部406に記憶した第1のデバイスドライバ411の中から、外部装置101に対応する第1のデバイスドライバ411を選択する。
On the other hand, when the process moves from step S807 to S811, the
ステップS812において、選択された第1のデバイスドライバ411は、外部装置101の制御を開始する。
In step S812, the selected
上記の処理により、外部装置101を情報処理装置110に接続することにより、外部装置101を制御して所定の機能を提供するアプリケーション413を利用可能にして、所定の機能を提供することが容易になる。
Through the above processing, by connecting the
また、第2の実施形態では、外部装置101から取得した装置識別情報が登録情報414に登録されていない場合でも、外部装置101から取得した機能識別情報に基づいて、第2のデバイスドライバ412を選択することができるようになる。
Furthermore, in the second embodiment, even if the device identification information obtained from the
[第3の実施形態]
図9は、第3の実施形態に係る情報処理装置の処理の例を示すフローチャートである。この処理は、情報処理装置110に外部装置101が接続されたときに、情報処理装置110が実行する処理の別の一例を示している。なお、基本的な処理内容は、図7で説明した第1の実施形態に係る情報処理装置の処理と同様なので、ここでは、第1の実施形態と同様の処理に対する詳細な説明は省略する。
[Third embodiment]
FIG. 9 is a flowchart illustrating an example of processing by the information processing apparatus according to the third embodiment. This process shows another example of the process executed by the
また、図9に示す処理の開始時点において、情報処理装置110の記憶部406には、1つ以上の第1のデバイスドライバ411、第2のデバイスドライバ412、及びアプリケーション413が記憶されているものとする。管理部403は、図6に示すような登録情報414を管理しており、登録情報414には、N個(Nは1以上の整数)の情報が登録されているものとする。
Furthermore, at the start of the process shown in FIG. 9, the
なお、以下の説明において、図6に示すような登録情報414の各行に登録されている情報を「登録情報」と呼ぶ。
In the following description, the information registered in each row of the
ステップS901において、情報処理装置110の接続部401が、外部装置101が接続されたことを検知すると、ステップS902以降の処理が実行される。
In step S901, when the
ステップS902において、情報処理装置110の取得部402は、接続部401に接続した外部装置101から、外部装置の情報を取得する。例えば、取得部402は、USB機器である外部装置101から、図5に示すような外部装置の情報(デバイスディスクリプタ)を取得する。
In step S902, the
ステップS903において、情報処理装置110の制御部404は、変数iを「1」に初期化して、登録情報414に登録されているi番目の「登録情報」に対して、ステップS904~S906の処理を実行する。
In step S903, the
ステップS904において、制御部404は、取得部402が取得した外部装置の情報と、登録情報414に登録されているi番目の「登録情報」とを比較して、「ベンダID」、「プロダクトID」、「リリース番号」が合致している数(合致数)を確認する。例えば、「ベンダID」、「プロダクトID」、「リリース番号」がいずれも合致していれば、合致数は「3」となる。また、「ベンダID」、「プロダクトID」のみが合致していれば、合致数は「2」となる。
In step S904, the
ステップS905において、制御部404は、取得部402が取得した外部装置の情報と、登録情報414に登録されているi番目の「登録情報」とを比較して、「デバイスクラス」、「サブクラス」、「プロトコル」の合致数を確認する。例えば、「デバイスクラス」、「サブクラス」、「プロトコル」がいずれも合致していれば、合致数は「3」となる。また、「デバイスクラス」、「サブクラス」のみが合致していれば、合致数は「2」となる。
In step S905, the
ステップS906において、制御部404は、ステップS904、S905で確認した合致数の合計が最大であれば、i番目の「登録情報」を候補として保持する。例えば、制御部404は、ステップS904、S905で確認した合致数の合計が、保持している「登録情報」の合致数の合計より大きい(多い)場合、i番目の「登録情報」を候補として保持する。
In step S906, if the total number of matches confirmed in steps S904 and S905 is the maximum, the
ステップS907において、iの値がN未満である場合、制御部404は、処理をステップS908に移行させる。一方、iの値がN以上である場合、制御部404は、処理をステップS909に移行させる。
In step S907, if the value of i is less than N, the
ステップS908において、制御部404は、変数iに1を加算して、登録情報414に登録されているi番目の「登録情報」に対して、ステップS904~S906の処理を実行する。
In step S908, the
一方、ステップS907からS909に移行すると、制御部404は、ステップS906で保持した「登録情報」があるか否かを判断する。保持した「登録情報」がある場合、制御部404は、処理をステップS910に移行させる。一方、保持した「登録情報」がない場合、制御部404は、処理をステップS913に移行させる。
On the other hand, when the process moves from step S907 to S909, the
ステップS910に移行すると、制御部404は、保持した「登録情報」に含まれる第2のデバイスドライバ412を選択する。
In step S910, the
ステップS911において、制御部404は、保持した「登録情報」に含まれるアプリケーション413に、外部装置101が接続されたことを通知する。
In step S911, the
なお、このとき、制御部404は、接続部401に接続した外部装置101に対応するアプリケーション413を起動させるものであっても良い。要するに、制御部404は、ステップS911において、接続部401に接続した外部装置101に対応するアプリケーション413を利用可能にするものであれば良い。
Note that at this time, the
ステップS912において、通知を受け付けたアプリケーション413は、第2のデバイスドライバ412を利用して外部装置101の制御を開始する。
In step S912, the
一方、ステップS909からS913に移行すると、制御部404は、接続部401に接続した外部装置101に適用する第1のデバイスドライバ411を選択する。例えば、制御部404は、外部装置101から取得した「デバイスクラス」、「サブクラス」、「プロトコル」等の情報に基づいて、記憶部406に記憶した第1のデバイスドライバ411の中から、外部装置101に対応する第1のデバイスドライバ411を選択する。
On the other hand, when the process moves from step S909 to S913, the
ステップS914において、選択された第1のデバイスドライバ411は、外部装置101の制御を開始する。
In step S914, the selected
上記の処理により、外部装置101を情報処理装置110に接続することにより、外部装置101を制御して所定の機能を提供するアプリケーション413を利用可能にして、所定の機能を提供することが容易になる。
Through the above processing, by connecting the
また、第3の実施形態では、外部装置101から取得した装置識別情報、機能識別情報が、登録情報414に登録されている装置識別情報、機能識別情報と一致しない場合でも、より適切な第2のデバイスドライバ412を選択することができるようになる。
Furthermore, in the third embodiment, even if the device identification information and function identification information acquired from the
(登録処理について)
図10は、一実施形態に係る登録処理の例を示すフローチャートである。この処理は、情報処理装置110に、外部装置101に対応する第2のデバイスドライバ412、及び第2のデバイスドライバ412を利用して外部装置101を制御して、所定の機能を提供するアプリケーション413を登録する登録処理の例を示している。
(About registration process)
FIG. 10 is a flowchart illustrating an example of registration processing according to an embodiment. This process includes a
ステップS1001において、情報処理装置110を管理する管理者(又は利用者)等は、情報処理装置110に所定の機能を追加するためのプログラムであるインストーラを、情報処理装置110上で実行する。
In step S1001, an administrator (or user) or the like who manages the
ステップS1002において、情報処理装置110の登録部405は、外部装置101を制御して所定の機能を提供するアプリケーション413と、外部装置101に対応する第2のデバイスドライバ412を、情報処理装置110にインストールする。これにより、外部装置101に対応する第2のデバイスドライバ412、及びアプリケーション413が、記憶部406に記憶される。
In step S1002, the
ステップS1003において、登録部405は、インストールしたアプリケーション413に対応する外部装置101の情報と、第2のデバイスドライバ412の情報とを、例えば、図6に示すような登録情報414に登録する。
In step S1003, the
上記の処理により、管理者等は、アプリケーション413、及びアプリケーション413に対応する第2のデバイスドライバ412を、情報処理装置110に追加することができる。
Through the above process, the administrator or the like can add the
以上、本発明の各実施形態によれば、外部装置101を情報処理装置110に接続することにより、外部装置101を制御して所定の機能を提供するアプリケーションを利用可能にして、所定の機能を提供することが容易になる。
As described above, according to each embodiment of the present invention, by connecting the
<補足>
上記で説明した各実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(digital signal processor)、FPGA(field programmable gate array)や従来の回路モジュール等のデバイスを含むものとする。
<Supplement>
Each function of each embodiment described above can be realized by one or more processing circuits. Here, the term "processing circuit" as used herein refers to a processor programmed to execute each function by software, such as a processor implemented by an electronic circuit, or a processor designed to execute each function explained above. This includes devices such as ASICs (Application Specific Integrated Circuits), DSPs (Digital Signal Processors), FPGAs (Field Programmable Gate Arrays), and conventional circuit modules.
101 外部装置
110 情報処理装置
300 画像形成装置
401 接続部
402 取得部
403 管理部
404 制御部
405 登録部
406 記憶部
411 第1のデバイスドライバ
412 第2のデバイスドライバ
413 アプリケーション
414 登録情報
101
Claims (9)
前記外部装置の機能に対応した処理を行なう第1のデバイスドライバと、前記外部装置の機能に依存しない処理を行なう第2のデバイスドライバと、前記情報処理装置にインストールされ、前記第2のデバイスドライバを利用して前記外部装置を制御し、所定の機能を提供するアプリケーションと、を記憶する記憶部と、
前記情報処理装置にインストールされた前記アプリケーションが前記所定の機能を提供するために用いる前記外部装置の情報と、前記外部装置に対応する前記第2のデバイスドライバの情報と、前記第2のデバイスドライバに対応する前記アプリケーションの情報と、を記憶した登録情報を管理する管理部と、
前記接続部に接続した前記外部装置から取得した前記外部装置の情報が、前記登録情報に登録されている場合、前記登録情報に基づいて、前記第2のデバイスドライバを選択し、前記第2のデバイスドライバに対応する前記アプリケーションを利用可能にする制御部と、
を有し、
前記制御部は、前記接続部に接続した前記外部装置から取得した前記外部装置の情報が、前記登録情報に登録されていない場合、前記接続部に接続された前記外部装置の機能に対応した処理を行なう前記第1のデバイスドライバを選択する、
情報処理装置。 An information processing device having a connection section for connecting an external device,
a first device driver that performs processing that corresponds to the function of the external device; a second device driver that performs processing that does not depend on the function of the external device; and a second device driver that is installed in the information processing device and that an application that controls the external device and provides a predetermined function using the storage unit;
information on the external device used by the application installed on the information processing device to provide the predetermined function; information on the second device driver corresponding to the external device; and information on the second device driver. a management unit that manages registration information that stores information about the application corresponding to the application ;
If information on the external device acquired from the external device connected to the connection unit is registered in the registration information, the second device driver is selected based on the registration information, and the second device driver is selected based on the registration information. a control unit that makes the application compatible with a device driver available;
has
If information on the external device acquired from the external device connected to the connection unit is not registered in the registration information, the control unit performs processing corresponding to the function of the external device connected to the connection unit. selecting the first device driver that performs
Information processing device.
前記制御部は、前記接続部に接続された前記外部装置の前記装置識別情報が、前記登録情報に登録されている場合、前記登録情報から、前記装置識別情報に対応する前記第2のデバイスドライバを選択する、請求項1又は2に記載の情報処理装置。 The information on the external device includes device identification information that identifies the external device,
If the device identification information of the external device connected to the connection portion is registered in the registration information, the control unit determines, from the registration information, the second device driver corresponding to the device identification information. The information processing device according to claim 1 or 2 , wherein the information processing device selects.
前記制御部は、前記接続部に接続された前記外部装置の前記装置識別情報が、前記登録情報に登録されておらず、かつ前記接続部に接続された前記外部装置の前記機能識別情報が前記登録情報に登録されている場合、前記登録情報から、前記機能識別情報に対応する前記第2のデバイスドライバを選択する、請求項3に記載の情報処理装置。 The information on the external device includes function identification information that identifies a function of the external device,
The control unit may be configured such that the device identification information of the external device connected to the connection unit is not registered in the registration information, and the function identification information of the external device connected to the connection unit is 4. The information processing apparatus according to claim 3 , wherein if the second device driver is registered in registration information, the second device driver corresponding to the function identification information is selected from the registration information.
前記制御部は、前記接続部に接続された前記外部装置が有する前記複数の情報と、前記登録情報に登録された前記複数の情報とが一致する数が最も多い前記第2のデバイスドライバを選択する、請求項1又は2に記載の情報処理装置。 The information on the external device includes a plurality of pieces of information,
The control unit selects the second device driver with the largest number of matches between the plurality of pieces of information held by the external device connected to the connection unit and the plurality of pieces of information registered in the registration information. The information processing device according to claim 1 or 2 .
前記制御部は、前記接続部に接続された前記外部装置の情報に対応する前記第2のデバイスドライバが複数ある場合、後からインストールされた前記第2のデバイスドライバを優先的に選択する、請求項1乃至5のいずれか一項に記載の情報処理装置。 The management unit manages the order in which the second device driver is installed in the information processing apparatus,
The control unit is configured to preferentially select the second device driver installed later when there is a plurality of second device drivers corresponding to information of the external device connected to the connection unit. The information processing device according to any one of Items 1 to 5.
前記外部装置の機能に対応した処理を行なう第1のデバイスドライバと、前記外部装置の機能に依存しない処理を行なう第2のデバイスドライバと、前記第2のデバイスドライバを利用して前記外部装置を制御し、所定の機能を提供するアプリケーションと、を記憶部に記憶する処理と、
前記情報処理装置にインストールされた前記アプリケーションが前記所定の機能を提供するために用いる前記外部装置の情報と、前記外部装置に対応する前記第2のデバイスドライバの情報と、前記第2のデバイスドライバに対応する前記アプリケーションの情報と、を記憶した登録情報を管理する処理と、
前記接続部に接続した前記外部装置から取得した前記外部装置の情報が、前記登録情報に登録されている場合、前記登録情報に基づいて、前記第2のデバイスドライバを選択し、前記第2のデバイスドライバに対応する前記アプリケーションを利用可能にする制御処理と、
を実行し、
前記制御処理は、前記接続部に接続した前記外部装置から取得した前記外部装置の情報が、前記登録情報に登録されていない場合、前記接続部に接続された前記外部装置の機能に対応した処理を行なう前記第1のデバイスドライバを選択する、
制御方法。 An information processing device having a connection part for connecting an external device,
a first device driver that performs processing corresponding to the function of the external device; a second device driver that performs processing that does not depend on the function of the external device; and a second device driver that performs processing that does not depend on the function of the external device; an application that controls and provides a predetermined function ; and processing that stores the application in a storage unit;
information on the external device used by the application installed on the information processing device to provide the predetermined function; information on the second device driver corresponding to the external device; and information on the second device driver. information on the application corresponding to the above, and a process for managing registered information storing the information;
If information on the external device acquired from the external device connected to the connection unit is registered in the registration information, the second device driver is selected based on the registration information, and the second device driver is selected based on the registration information. control processing that makes the application compatible with the device driver available;
Run
The control process is a process corresponding to a function of the external device connected to the connection unit, when information on the external device acquired from the external device connected to the connection unit is not registered in the registration information. selecting the first device driver that performs
Control method.
前記外部装置の機能に対応した処理を行なう第1のデバイスドライバと、前記外部装置の機能に依存しない処理を行なう第2のデバイスドライバと、前記情報処理装置にインストールされ、前記第2のデバイスドライバを利用して前記外部装置を制御し、所定の機能を提供するアプリケーションと、を記憶する記憶部、
前記情報処理装置にインストールされた前記アプリケーションが前記所定の機能を提供するために用いる前記外部装置の情報と、前記外部装置に対応する前記第2のデバイスドライバの情報と、前記第2のデバイスドライバに対応する前記アプリケーションの情報と、を記憶した登録情報を管理する管理部、及び
前記接続部に接続した前記外部装置から取得した前記外部装置の情報が、前記登録情報に登録されている場合、前記登録情報に基づいて、前記第2のデバイスドライバを選択し、前記第2のデバイスドライバに対応する前記アプリケーションを利用可能にする制御部、
として機能させ、
前記制御部は、前記接続部に接続した前記外部装置から取得した前記外部装置の情報が、前記登録情報に登録されていない場合、前記接続部に接続された前記外部装置の機能に対応した処理を行なう前記第1のデバイスドライバを選択する、
プログラム。 An information processing device having a connection part for connecting an external device,
a first device driver that performs processing that corresponds to the function of the external device; a second device driver that performs processing that does not depend on the function of the external device; and a second device driver that is installed in the information processing device and that an application that controls the external device and provides a predetermined function using the storage unit;
information on the external device used by the application installed on the information processing device to provide the predetermined function; information on the second device driver corresponding to the external device; and information on the second device driver. a management unit that manages registration information that stores information about the application corresponding to the application; and information about the external device acquired from the external device connected to the connection unit is registered in the registration information; a control unit that selects the second device driver based on the registration information and makes available the application corresponding to the second device driver ;
function as
If information on the external device acquired from the external device connected to the connection unit is not registered in the registration information, the control unit performs processing corresponding to the function of the external device connected to the connection unit. selecting the first device driver that performs
program .
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020035658A JP7439570B2 (en) | 2020-03-03 | 2020-03-03 | Information processing device, control method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020035658A JP7439570B2 (en) | 2020-03-03 | 2020-03-03 | Information processing device, control method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021140300A JP2021140300A (en) | 2021-09-16 |
JP7439570B2 true JP7439570B2 (en) | 2024-02-28 |
Family
ID=77668555
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020035658A Active JP7439570B2 (en) | 2020-03-03 | 2020-03-03 | Information processing device, control method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7439570B2 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010165128A (en) | 2009-01-14 | 2010-07-29 | Canon Inc | Image-forming device, controlling method, and program |
JP2013152704A (en) | 2011-12-28 | 2013-08-08 | Ricoh Co Ltd | Information processor, control method and program for information processor |
JP2014120057A (en) | 2012-12-18 | 2014-06-30 | Ricoh Co Ltd | Information processor, and program |
JP2014203268A (en) | 2013-04-04 | 2014-10-27 | キヤノン株式会社 | Information processing device and control method |
JP2018029223A (en) | 2016-08-15 | 2018-02-22 | キヤノン株式会社 | Image processing device and control method thereof, and program |
-
2020
- 2020-03-03 JP JP2020035658A patent/JP7439570B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010165128A (en) | 2009-01-14 | 2010-07-29 | Canon Inc | Image-forming device, controlling method, and program |
JP2013152704A (en) | 2011-12-28 | 2013-08-08 | Ricoh Co Ltd | Information processor, control method and program for information processor |
JP2014120057A (en) | 2012-12-18 | 2014-06-30 | Ricoh Co Ltd | Information processor, and program |
JP2014203268A (en) | 2013-04-04 | 2014-10-27 | キヤノン株式会社 | Information processing device and control method |
JP2018029223A (en) | 2016-08-15 | 2018-02-22 | キヤノン株式会社 | Image processing device and control method thereof, and program |
Also Published As
Publication number | Publication date |
---|---|
JP2021140300A (en) | 2021-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7293652B2 (en) | Information processing system, server device, information processing method, and program | |
US20200267268A1 (en) | Image forming apparatus, display control method, and recording medium | |
US11762612B2 (en) | Information processing apparatus, information processing system, and information processing method for managing authentication information across multiple information processing devices, information processing apparatuses, and information processing systems | |
JP7439570B2 (en) | Information processing device, control method, and program | |
US20230148080A1 (en) | Printing system, terminal apparatus, and non-transitory computer-executable medium | |
EP3751414B1 (en) | Information processing system, server apparatus, information processing method, and carrier means | |
US10992830B2 (en) | Information processing terminal having operable objects on a screen, information processing system having operable objects on a screen, and operation screen display method regarding operable object | |
JP7196600B2 (en) | Information processing system, server device, information processing method, and program | |
JP7147580B2 (en) | Information processing system, information processing device, parameter setting method and program | |
JP5030178B2 (en) | Printing system, information processing apparatus, printing apparatus, printing method, control method, and program | |
JP7400495B2 (en) | Information processing device, information processing system, information processing method, and program | |
US11842146B2 (en) | Information processing apparatus, system, and information processing method | |
JP7434840B2 (en) | Information processing system, information processing device, information processing method and program | |
US11729340B2 (en) | Information processing server, method, and recording medium | |
JP7358974B2 (en) | Information terminal, control method, and program | |
US20210168130A1 (en) | Information processing apparatus, information processing system, method of processing information, and non-transitory recording medium | |
JP7243265B2 (en) | Information processing device, image processing system, and program | |
US20220070316A1 (en) | Device, information processing system, and information processing apparatus | |
JP7354793B2 (en) | Information processing device, control method, and program | |
EP4102815A1 (en) | Information processing apparatus, information processing method, and information processing program | |
US20220188399A1 (en) | Service providing system, service providing method, and non-transitory recording medium | |
US20220006920A1 (en) | Information processing apparatus, information processing system, and information processing method | |
US20200220990A1 (en) | Information processing terminal and information processing system | |
JP6904205B2 (en) | Information provision system, image processing device, information provision method and program | |
JP2024017333A (en) | Information processing system, information processing method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230116 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20231031 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20231031 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231228 |
|
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: 20240116 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240129 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7439570 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |