JP7439570B2 - Information processing device, control method, and program - Google Patents

Information processing device, control method, and program Download PDF

Info

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
Application number
JP2020035658A
Other languages
Japanese (ja)
Other versions
JP2021140300A (en
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2020035658A priority Critical patent/JP7439570B2/en
Publication of JP2021140300A publication Critical patent/JP2021140300A/en
Application granted granted Critical
Publication of JP7439570B2 publication Critical patent/JP7439570B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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, Patent Document 1 reference).

特許文献1に開示された技術を、例えば、画像形成装置等の電子機器に適用して、電子機器に外部装置を接続することにより、外部装置を制御して所定の機能を提供するアプリケーションを利用可能にして、所定の機能を提供したいという要求がある。 For example, by applying the technology disclosed in Patent Document 1 to an electronic device such as an image forming apparatus and connecting an external device to the electronic device, an application that controls the external device and provides a predetermined function is used. There is a demand to enable and provide certain functions.

しかし、特許文献1に開示された技術では、特定の外部装置を電子機器に接続したときにデバイスドライバを選択するのみであり、外部装置を制御して所定の機能を提供するアプリケーションを利用可能にして、所定の機能を提供することには困難を伴っていた。 However, the technology disclosed in Patent Document 1 only selects a device driver when a specific external device is connected to an electronic device, and does not enable the use of an application that controls the external device and provides a predetermined function. However, it has been difficult to provide certain functions.

なお、このような課題は、画像形成装置等の電子機器に限られず、例えば、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 is a diagram illustrating an example of a system configuration of an information processing system according to an embodiment. 一実施形態に係るコンピュータのハードウェア構成の例を示す図である。FIG. 1 is a diagram illustrating an example of a hardware configuration of a computer according to an embodiment. 一実施形態に係る画像形成装置のハードウェア構成の例を示す図である。FIG. 1 is a diagram illustrating an example of a hardware configuration of an image forming apparatus according to an embodiment. 一実施形態に係る情報処理装置の機能構成の例を示す図である。FIG. 1 is a diagram illustrating an example of a functional configuration of an information processing device according to an embodiment. 一実施形態に係る外部装置の情報のイメージを示す図である。FIG. 3 is a diagram illustrating an image of information on an external device according to an embodiment. 一実施形態に係る登録情報のイメージを示す図である。FIG. 3 is a diagram illustrating an image of registration information according to an embodiment. 第1の実施形態に係る情報処理装置の処理の例をフローチャートである。3 is a flowchart illustrating an example of processing of the information processing apparatus according to the first embodiment. 第2の実施形態に係る情報処理装置の処理の例をフローチャートである。7 is a flowchart illustrating an example of processing of the information processing apparatus according to the second embodiment. 第3の実施形態に係る情報処理装置の処理の例をフローチャートである。12 is a flowchart illustrating an example of processing of an information processing apparatus according to a third embodiment. 一実施形態に係る登録処理の例を示すフローチャートである。3 is a flowchart illustrating an example of registration processing according to an embodiment.

以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
<システム構成>
図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 information processing system 100 includes, for example, an information processing device 110 having a computer configuration and an external device 101 connectable to the information processing device 110. Preferably, the information processing device 110 includes a display device 102, an input device 103, etc. outside or inside the information processing device 110.

外部装置101は、情報処理装置110が備える外部機器接続I/F(Interface)等に接続され、情報処理装置110からデバイスドライバを介して制御される、例えば、USB(Universal Serial Bus)機器等の装置である。ここでは、外部装置101がUSB機器であるものとして以下の説明を行なうが、外部装置101は、情報処理装置110に接続され、情報処理装置110からデバイスドライバを介して制御される、USB機器以外の装置であっても良い。 The external device 101 is connected to an external device connection I/F (Interface) provided in the information processing device 110, and is controlled by the information processing device 110 via a device driver, such as a USB (Universal Serial Bus) device. It is a device. Here, the following explanation is given assuming that the external device 101 is a USB device, but the external device 101 is a device other than a USB device that is connected to the information processing device 110 and controlled by the information processing device 110 via a device driver. It may be a device.

情報処理装置110は、一例として、図2に示すようなコンピュータ200の構成を有するPC(Personal Computer)、タブレット端末等の情報処理装置である。別の一例として、情報処理装置110は、図3に示す画像形成装置300のように、コンピュータの構成を備え、外部装置101を接続可能な電子機器である。 The information processing device 110 is, for example, an information processing device such as a PC (Personal Computer) having the configuration of the computer 200 shown in FIG. 2 or a tablet terminal. As another example, the information processing device 110 is an electronic device that has a computer configuration and can be connected to the external device 101, like the image forming device 300 shown in FIG.

なお、情報処理装置110は、コンピュータ200や画像形成装置300に限られず、コンピュータの構成を備え、外部装置101を接続可能な様々な装置であって良い。例えば、電子機器は、PJ(Projector:プロジェクタ)、IWB(Interactive White Board:相互通信が可能な電子式の黒板機能を有する白板)、デジタルサイネージ等の出力装置であっても良い。また、電子機器は、HUD(Head Up Display)装置、産業機械、撮像装置、集音装置、医療機器、ネットワーク家電、自動車(Connected Car)等であっても良い。さらに、電子機器は、携帯電話、スマートフォン、ゲーム機、PDA(Personal Digital Assistant)、デジタルカメラ、ウェアラブル端末等であっても良い。 Note that the information processing device 110 is not limited to the computer 200 or the image forming device 300, and may be any of various devices that have a computer configuration and can be connected to the external device 101. For example, the electronic device may be an output device such as a PJ (Projector), an IWB (Interactive White Board: a whiteboard having an electronic blackboard function that allows mutual communication), or a digital signage. Furthermore, the electronic device may be a HUD (Head Up Display) device, an industrial machine, an imaging device, a sound collection device, a medical device, a networked home appliance, a connected car, or the like. Furthermore, the electronic device may be a mobile phone, a smartphone, a game console, a PDA (Personal Digital Assistant), a digital camera, a wearable terminal, or the like.

<ハードウェア構成>
ここでは、情報処理装置110の一例であるコンピュータ200、及び画像形成装置300のハードウェア構成について説明する。
<Hardware configuration>
Here, the hardware configurations of the computer 200, which is an example of the information processing device 110, and the image forming device 300 will be described.

(コンピュータのハードウェア構成)
図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 information processing device 110 has, for example, the hardware configuration of a computer 200 as shown in FIG.

コンピュータ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 computer 200 includes a CPU (Central Processing Unit) 201, a ROM (Read Only Memory) 202, a RAM (Random Access Memory) 203, an HD (Hard Disk) 204, and an HDD (Hard Disk Drive). ) controller 205, display 206, external device connection I/F (Interface) 207, network I/F 208, keyboard 209, pointing device 210, DVD-RW (Digital Versatile Disk Rewritable) drive 212, media I/F 214, and bus line It is equipped with 215 mag.

これらのうち、CPU201は、コンピュータ200全体の動作を制御する。ROM202は、例えば、IPL(Initial Program Loader)等のコンピュータ200の起動に用いられるプログラムを記憶する。RAM203は、例えば、CPU201のワークエリア等として使用される。HD204は、例えば、OS(Operating System)、アプリケーション、デバイスドライバ等のプログラムや、各種データを記憶する。HDDコントローラ205は、例えば、CPU201の制御に従ってHD204に対する各種データの読み出し又は書き込みを制御する。 Among these, the CPU 201 controls the operation of the computer 200 as a whole. The ROM 202 stores a program used to start the computer 200, such as an IPL (Initial Program Loader). The RAM 203 is used, for example, as a work area for the CPU 201. The HD 204 stores programs such as an OS (Operating System), applications, device drivers, and various data. The HDD controller 205 controls reading and writing of various data to the HD 204 under the control of the CPU 201, for example.

ディスプレイ206は、例えば、カーソル、メニュー、ウィンドウ、文字、又は画像などの各種情報を表示する。なお、ディスプレイ206は、図1の表示装置102に対応しており、コンピュータ200の外部に設けられていても良い。外部機器接続I/F207は、各種の外部装置(外部機器)101を接続するUSB等のインターフェースであり、一例として、USBホストコントローラ等を含む。ネットワークI/F208は、通信ネットワークを利用してデータ通信をするためのインターフェースである。 The display 206 displays various information such as a cursor, menu, window, characters, or images. Note that the display 206 corresponds to the display device 102 in FIG. 1 and may be provided outside the computer 200. The external device connection I/F 207 is an interface such as a USB that connects various external devices (external devices) 101, and includes, for example, a USB host controller. Network I/F 208 is an interface for data communication using a communication network.

キーボード209は、文字、数値、各種指示などの入力のための複数のキーを備えた入力手段の一種である。ポインティングデバイス210は、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行なう入力手段の一種である。なお、キーボード209、及びポインティングデバイス210は、図1の入力装置103に対応しており、コンピュータ200の外部に設けられていても良い。 The keyboard 209 is a type of input means that includes a plurality of keys for inputting characters, numbers, various instructions, and the like. The pointing device 210 is a type of input means for selecting and executing various instructions, selecting a processing target, moving a cursor, and the like. Note that the keyboard 209 and pointing device 210 correspond to the input device 103 in FIG. 1, and may be provided outside the computer 200.

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-RW 211, which is an example of a removable recording medium. Note that the DVD-RW 211 is not limited to a DVD-RW, but may be a DVD-R or the like. The media I/F 214 controls reading or writing (storage) of data to the media 213 such as a flash memory. The bus line 215 includes an address bus, a data bus, various control signals, etc. for electrically connecting each of the above components.

(画像形成装置のハードウェア構成)
ここでは、画像形成装置300が、例えば、スキャン機能、コピー機能、印刷機能、ファクシミリ機能等を一つの筐体に搭載したMFP(Multifunction Peripheral)であるものとして、以下の説明を行なう。なお、画像形成装置300は、情報処理装置110の一例である。
(Hardware configuration of image forming apparatus)
Here, the following description will be given assuming that the image forming apparatus 300 is, for example, an MFP (Multifunction Peripheral) in which a scanning function, a copying function, a printing function, a facsimile function, etc. are mounted in one housing. Note that the image forming apparatus 300 is an example of the information processing apparatus 110.

図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 image forming apparatus 300 includes a controller 310, a short-range communication circuit 320, an engine control section 330, an operation panel 340, a network I/F 350, an external device connection I/F 360, and the like. There is.

これらのうち、コントローラ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 controller 310 includes a CPU 301, which is the main part of the computer, a system memory (MEM-P) 302, a north bridge (NB) 303, a south bridge (SB) 304, an ASIC (Application Specific Integrated Circuit) 305, and a storage section. It has a local memory (MEM-C) 306, an HDD controller 307, and an HD 308 which is a storage unit, and has a configuration in which the NB 303 and ASIC 305 are connected by an AGP (Accelerated Graphics Port) bus 311. .

これらのうち、CPU301は、画像形成装置300の全体制御を行なう制御部である。NB303は、CPU301と、MEM-P302、SB304、及びAGPバス311とを接続するためのブリッジであり、MEM-P302に対する読み書きなどを制御するメモリコントローラと、PCI(Peripheral Component Interconnect)マスタ及びAGPターゲットとを有する。 Among these, the CPU 301 is a control unit that performs overall control of the image forming apparatus 300. NB303 is a bridge for connecting CPU301, MEM-P302, SB304, and AGP bus 311, and serves as a memory controller that controls reading and writing to MEM-P302, a PCI (Peripheral Component Interconnect) master, and AGP target. has.

MEM-P302は、コントローラ310の各機能を実現させるプログラムやデータの格納用メモリであるROM302a、プログラムやデータの展開、及びメモリ印刷時の描画用メモリなどとして用いるRAM302bとからなる。なお、RAM302bに記憶されているプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、CD-R、DVD等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成しても良い。 The MEM-P 302 includes a ROM 302a that is a memory for storing programs and data that realize each function of the controller 310, and a RAM 302b that is used as a memory for developing programs and data, and for drawing when printing the memory. Note that the program stored in the RAM 302b is configured to be provided as an installable or executable file recorded on a computer-readable recording medium such as a CD-ROM, CD-R, or DVD. You may do so.

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 ASIC 305 is an IC (Integrated Circuit) for image processing that includes hardware elements for image processing, and has the role of a bridge that connects the AGP bus 311, the PCI bus 312, the HDD controller 307, and the MEM-C 306. . This ASIC 305 includes a PCI target and an AGP master, an arbiter (ARB) that is the core of the ASIC 305, a memory controller that controls the MEM-C 306, and multiple DMACs (Direct Memory Access Controllers) that rotate image data using hardware logic, etc. , and a PCI unit that transfers data between the scanner section 331 and the printer section 332 via the PCI bus 312. Note that the ASIC 305 may be connected to a USB interface or an IEEE 1394 (Institute of Electrical and Electronics Engineers 1394) interface.

MEM-C306は、コピー用画像バッファ及び符号バッファとして用いるローカルメモリである。HD308は、画像データの蓄積、印刷時に用いるフォントデータの蓄積、フォームの蓄積を行なうためのストレージである。なお、HD308は、例えば、OS、アプリケーション、デバイスドライバ等のプログラムや、各種データを記憶しても良い。HDDコントローラ307は、CPU301の制御に従ってHD308に対するデータの読出又は書込を制御する。AGPバス311は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレータカード用のバスインタフェースであり、MEM-P302に高スループットで直接アクセスすることにより、グラフィックスアクセラレータカードを高速にすることができる。 MEM-C 306 is a local memory used as a copy image buffer and code buffer. The HD 308 is a storage for storing image data, font data used during printing, and forms. Note that the HD 308 may store, for example, programs such as an OS, applications, and device drivers, and various data. The HDD controller 307 controls data reading or writing to the HD 308 under the control of the CPU 301. The AGP bus 311 is a bus interface for a graphics accelerator card proposed to speed up graphics processing, and can speed up the graphics accelerator card by directly accessing the MEM-P 302 with high throughput. .

近距離通信回路320は、近距離通信回路用のアンテナ320a等を用いて、各種の近距離無線通信を行なう。 The short-range communication circuit 320 performs various short-range wireless communications using a short-range communication circuit antenna 320a and the like.

エンジン制御部330は、例えば、スキャナ部331及びプリンタ部332等によって構成されている。スキャナ部331は、原稿等を読み取る読取装置である。プリンタ部332は、印刷データを印刷媒体に印刷する印刷装置である。スキャナ部331又はプリンタ部332には、例えば、誤差拡散やガンマ変換等の画像処理部分が含まれている。 The engine control section 330 includes, for example, a scanner section 331, a printer section 332, and the like. The scanner unit 331 is a reading device that reads a document or the like. The printer unit 332 is a printing device that prints print data on a print medium. The scanner section 331 or the printer section 332 includes, for example, an image processing section such as error diffusion and gamma conversion.

操作パネル340は、現在の設定値や選択画面等を表示させ、操作者からの入力を受け付けるタッチパネル等のパネル表示部340a、並びに、濃度の設定条件などの画像形成に関する条件の設定値を受け付けるテンキー及びコピー開始指示を受け付けるスタートキー等からなる操作ボタン340bを備えている。なお、操作パネル340は、図1の表示装置102、及び入力装置103に対応している。コントローラ310は、画像形成装置300全体の制御を行ない、例えば、描画、通信、操作パネル340からの入力等を制御する。 The operation panel 340 includes a panel display section 340a such as a touch panel that displays current setting values, a selection screen, etc. and accepts input from the operator, and a numeric keypad that accepts setting values for conditions related to image formation such as density setting conditions. and an operation button 340b consisting of a start key or the like that accepts a copy start instruction. Note that the operation panel 340 corresponds to the display device 102 and input device 103 in FIG. The controller 310 controls the entire image forming apparatus 300, and controls, for example, drawing, communication, input from the operation panel 340, and the like.

なお、画像形成装置300は、例えば、操作パネル340のアプリケーション切り替えキーにより、ドキュメントボックス機能、コピー機能、プリンタ機能、及びファクシミリ機能を順次に切り替えて選択することが可能となる。例えば、ドキュメントボックス機能の選択時にはドキュメントボックスモードとなり、コピー機能の選択時にはコピーモードとなり、プリンタ機能の選択時にはプリンタモードとなり、ファクシミリモードの選択時にはファクシミリモードとなる。 Note that the image forming apparatus 300 can sequentially switch and select a document box function, a copy function, a printer function, and a facsimile function using, for example, an application switching key on the operation panel 340. For example, when the document box function is selected, the mode is set to the document box mode, when the copy function is selected, the mode is set to the copy mode, when the printer function is selected, the mode is set to the printer mode, and when the facsimile mode is selected, the mode is set to the facsimile mode.

また、ネットワークI/F350は、通信ネットワークを利用してデータ通信をするためのインターフェースである。外部機器接続I/F360は、各種の外部装置(外部機器)101を接続するUSB等のインターフェースであり、例えば、USBホストコントローラ等を含む。近距離通信回路320、ネットワークI/F350、及び外部機器接続I/F360は、例えば、PCIバス312を介して、ASIC305に電気的に接続されている。 Further, the network I/F 350 is an interface for data communication using a communication network. The external device connection I/F 360 is an interface such as a USB that connects various external devices (external devices) 101, and includes, for example, a USB host controller. Near field communication circuit 320, network I/F 350, and external device connection I/F 360 are electrically connected to ASIC 305 via PCI bus 312, for example.

なお、電子機器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/F 360, and other hardware configurations may be arbitrary. Further, the external device connection I/F 360 may be connected to the SB 304 via a PCI bus different from the PCI bus 312.

<機能構成>
続いて、一実施形態に係る情報処理装置110の機能構成について説明する。
<Functional configuration>
Next, the functional configuration of the information processing device 110 according to one embodiment will be described.

図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 information processing apparatus 110 is the image forming apparatus 300 and the external device 101 is a USB device.

情報処理装置110は、例えば、図3のCPU301(又は図2のCPU201)で所定のプログラムを実行することにより、接続部401、取得部402、管理部403、制御部404、登録部405、及び記憶部406等を実現している。なお、上記の各機能構成のうち、少なくとも一部は、ハードウェアによって実現されるものであっても良い。 For example, the information processing device 110 executes a predetermined program on the CPU 301 in FIG. A storage unit 406 and the like are implemented. Note that at least some of the above functional configurations may be realized by hardware.

記憶部406は、例えば、図3のCPU301等で実行されるプログラム、及びHD308、HDDコントローラ307等によって実現され、第1のデバイスドライバ411、第2のデバイスドライバ412、及びアプリケーション423等を記憶する。なお、記憶部406は、例えば、登録情報414等の各種の情報やデータを記憶するためにも用いられる。 The storage unit 406 is realized by, for example, a program executed by the CPU 301 in FIG. 3, the HD 308, the HDD controller 307, etc., and stores a first device driver 411, a second device driver 412, an application 423, etc. . Note that the storage unit 406 is also used to store various information and data such as registration information 414, for example.

デバイスドライバは、情報処理装置110に接続される外部装置101を制御するためのプログラムである。本実施形態では、デバイスドライバには、外部装置101の機能に対応した処理を行なう第1のデバイスドライバ411と、外部装置101の機能に依存しない処理を行なう第2のデバイスドライバとが含まれる。 The device driver is a program for controlling the external device 101 connected to the information processing device 110. In this embodiment, the device driver includes a first device driver 411 that performs processing corresponding to the function of the external device 101, and a second device driver that performs processing that does not depend on the function of the external device 101.

第1のデバイスドライバ411は、OSを提供するベンダや、外部装置101を提供するベンダ等によって提供され、外部装置101の機能を実現するための各種の制御を実行する、一般的なデバイスドライバである。 The first device driver 411 is a general device driver that is provided by a vendor that provides the OS, a vendor that provides the external device 101, etc., and executes various controls to realize the functions of the external device 101. be.

第2のデバイスドライバ412は、外部装置101の機能に依存しない処理を行ない、外部装置101の機能を実現するための制御を、デバイスドライバではなく、アプリケーション413が実行するデバイスドライバである。一例として、第2のデバイスドライバ412には、関数として、単純な初期化や、データの送受信等を行なう関数が定義されている。 The second device driver 412 is a device driver that performs processing that does not depend on the functions of the external device 101, and the application 413, not the device driver, executes control for realizing the functions of the external device 101. As an example, the second device driver 412 defines functions that perform simple initialization, data transmission and reception, and the like.

アプリケーション413は、第2のデバイスドライバ412を利用して外部装置101を制御し、所定の機能を提供するプログラムである。 The application 413 is a program that uses the second device driver 412 to control the external device 101 and provides predetermined functions.

例えば、情報処理装置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 external device 101 to the information processing apparatus 110, an administrator etc. needs to install an application 413 corresponding to the predetermined function and a second device driver. 412 is installed on the information processing device 110. As a result, by connecting the external device 101 (for example, a biometric authentication device, etc.) to the information processing device 110, the application 413 controls the external device 101 via the second device driver 412, and performs predetermined functions ( For example, biometric authentication functions, etc.) can be provided. Note that the biometric authentication function is an example of a predetermined function. The predetermined function may be various functions, such as a short-range wireless function such as NFC (Near Field Communication) or Bluetooth (registered trademark), a mobile object detection function that detects the approach of a user, and the like.

このように、本実施形態によれば、例えば、画像形成装置300等の情報処理装置110に、アプリケーション413、及び第2のデバイスドライバ412をインストールすることにより、外部装置101を利用した様々な機能を容易に追加することができる。 As described above, according to the present embodiment, various functions using the external device 101 can be performed by installing the application 413 and the second device driver 412 in the information processing device 110 such as the image forming device 300, for example. can be easily added.

接続部401は、例えば、CPU301等で実行されるプログラム、及び外部機器接続I/F360等によって実現され、USB機器である外部装置101を、情報処理装置110に接続する。例えば、接続部401は、外部機器接続I/F360に接続された外部装置101を検知し、接続された外部装置101にアドレスを割り当てる。 The connection unit 401 is realized by, for example, a program executed by the CPU 301 or the like, an external device connection I/F 360, or the like, and connects the external device 101, which is a USB device, to the information processing device 110. For example, the connection unit 401 detects the external device 101 connected to the external device connection I/F 360, and assigns an address to the connected external device 101.

取得部402は、例えば、CPU301等で実行されるプログラム、及び外部機器接続I/F360等によって実現され、外部機器接続I/F360に接続された外部装置101から、外部装置の情報を取得する取得処理を実行する。 The acquisition unit 402 is realized by, for example, a program executed by the CPU 301 and the like, and the external device connection I/F 360, and acquires external device information from the external device 101 connected to the external device connection I/F 360. Execute processing.

図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 external device 101.

また、「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 external device 101. Alternatively, device identification information for identifying the external device 101 may be obtained by combining the product ID with the vendor ID, device version, and the like. Note that the fields after "iManufacturer" are not related to the processing of this embodiment, and therefore their description will be omitted.

なお、図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 external device 101, function identification information for identifying the function of the external device 101, and the like.

ここで、図4に戻り、情報処理装置110の機能構成の説明を続ける。 Now, returning to FIG. 4, the description of the functional configuration of the information processing device 110 will be continued.

管理部403は、例えば、図3のCPU301等で実行されるプログラムによって実現される。管理部403は、アプリケーション413が所定の機能を提供するために用いる外部装置101の情報と、当該外部装置101に対応する第2のデバイスドライバの情報とを記憶した登録情報414を、例えば、記憶部406等に記憶して管理する。 The management unit 403 is realized, for example, by a program executed by the CPU 301 in FIG. 3 or the like. The management unit 403 stores, for example, registration information 414 that stores information about the external device 101 used by the application 413 to provide a predetermined function and information about a second device driver corresponding to the external device 101. The information is stored and managed in the section 406 or the like.

図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 registration information 414 includes items such as "vendor ID", "product ID", "release number", "device class", "subclass (or device subclass)", "protocol", and "driver ” and “Application”.

このうち、「ベンダ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 device identification information 601 that identifies the external device 101. Further, the "release number" corresponds to "bcdUSB" in FIG. 5. The device identification information 601 may include a “release number”.

また、「デバイスクラス」、「サブクラス」、「プロトコル」は、それぞれ、図5の「bDeviceClass」、「bDeviceSubclass」、「bDeviceProtocol」に対応しており、外部装置101の機能を識別する機能識別情報602の一例である。 Further, "device class", "subclass", and "protocol" correspond to "bDeviceClass", "bDeviceSubclass", and "bDeviceProtocol" in FIG. 5, respectively, and the function identification information 602 identifies the function of the external device 101. This is an example.

さらに、「ベンダID」、「プロダクトID」、「リリース番号」、「デバイスクラス」、「サブクラス」、「プロトコル」は、外部装置101の装置識別情報601、及び機能識別情報を含む、外部装置101の情報の一例である。 Furthermore, "vendor ID", "product ID", "release number", "device class", "subclass", and "protocol" are the external device 101 including device identification information 601 and function identification information of the external device 101. This is an example of information.

「ドライバ」は、外部装置101に対応する第2のデバイスドライバ412の情報(例えば、名前、ファイル名、識別情報等)である。「アプリケーション」は、第2のデバイスドライバ412を介して、外部装置101を制御するアプリケーション413の情報(例えば、名前、ファイル名、識別情報等)である。 “Driver” is information (for example, name, file name, identification information, etc.) of the second device driver 412 corresponding to the external device 101. “Application” is information (for example, name, file name, identification information, etc.) of the application 413 that controls the external device 101 via the second device driver 412.

好ましくは、管理部403は、アプリケーション413、及び第2のデバイスドライバ412がインストールされた順に、順次に登録情報414に登録することにより、インストールされた順番を管理する。 Preferably, the management unit 403 manages the order of installation by sequentially registering the application 413 and the second device driver 412 in the registration information 414 in the order in which they were installed.

ここで、再び図4に戻り、情報処理装置110の機能構成の説明を続ける。 Here, returning to FIG. 4 again, the description of the functional configuration of the information processing device 110 will be continued.

制御部404は、例えば、図3のCPU301等で実行されるプログラムによって実現される。制御部404は、接続した外部装置101の情報が、登録情報414に登録されている場合、登録情報414に基づいて、外部装置101に対応する第2のデバイスドライバ412を選択し、外部装置101に対応するアプリケーション413を利用可能にする。 The control unit 404 is realized, for example, by a program executed by the CPU 301 in FIG. 3 or the like. If information about the connected external device 101 is registered in the registration information 414, the control unit 404 selects the second device driver 412 corresponding to the external device 101 based on the registration information 414, and installs the external device 101. The application 413 corresponding to the above is made available.

例えば、制御部404は、外部装置101に対応するアプリケーション413が既に起動している場合、アプリケーション413に外部装置101が接続されたことを通知する。また、制御部404は、外部装置101に対応するアプリケーション413が起動していない場合、アプリケーション413を起動する。 For example, if the application 413 corresponding to the external device 101 has already been activated, the control unit 404 notifies the application 413 that the external device 101 has been connected. Furthermore, if the application 413 corresponding to the external device 101 is not activated, the control unit 404 activates the application 413.

なお、制御部404が実行する具体的な処理の例については、後述する第1~3の実施形態で説明する。 Note that specific examples of processing executed by the control unit 404 will be explained in the first to third embodiments described later.

登録部405は、例えば、図3のCPU301で実行されるプログラム(例えば、情報処理装置110にアプリケーション413をインストールするインストールプログラム等)によって実現される。登録部405は、例えば、所定の機能を提供するアプリケーション413と、アプリケーション413が利用する第2のデバイスドライバ412とを情報処理装置110にインストールする。また、登録部405は、インストールしたアプリケーション413が所定の機能を提供するために用いる外部装置101の情報と、インストールした第2のデバイスドライバ412の情報とを、例えば、図6に示すような登録情報414に登録する。 The registration unit 405 is realized, for example, by a program (for example, an installation program that installs the application 413 on the information processing apparatus 110) executed by the CPU 301 in FIG. 3. The registration unit 405 installs, for example, an application 413 that provides a predetermined function and a second device driver 412 used by the application 413 into the information processing apparatus 110. Further, the registration unit 405 registers information on the external device 101 used by the installed application 413 to provide a predetermined function and information on the installed second device driver 412, for example, as shown in FIG. Register in the information 414.

<処理の流れ>
続いて、本実施形態に係る制御方法の処理の流れについて、複数の実施形態を例示して説明する。
<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 information processing apparatus 110 when the external device 101 is connected to the information processing apparatus 110.

なお、図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 storage unit 406 of the information processing apparatus 110 stores one or more of the first device driver 411, the second device driver 412, and the application 413. shall be. Further, it is assumed that the management unit 403 of the information processing device 110 manages registration information 414 as shown in FIG. 6, for example.

ステップS701において、情報処理装置110の接続部401が、外部装置101が接続されたことを検知すると、ステップS702以降の処理が実行される。 In step S701, when the connection unit 401 of the information processing device 110 detects that the external device 101 is connected, the processes from step S702 onwards are executed.

ステップS702において、情報処理装置110の取得部402は、接続部401に接続した外部装置101から、外部装置の情報を取得する。例えば、取得部402は、外部装置101から、図5に示すような外部装置の情報(デバイスディスクリプタ)を取得する。 In step S702, the acquisition unit 402 of the information processing device 110 acquires external device information from the external device 101 connected to the connection unit 401. For example, the acquisition unit 402 acquires external device information (device descriptor) as shown in FIG. 5 from the external device 101.

ステップS703において、情報処理装置110の制御部404は、取得部402が取得した外部装置の情報が、例えば、図6に示すような登録情報414に登録されているか否かを判断する。 In step S703, the control unit 404 of the information processing device 110 determines whether the information on the external device acquired by the acquisition unit 402 is registered in registration information 414 as shown in FIG. 6, for example.

例えば、制御部404は、登録情報414に登録されている「ベンダID」、「プロダクトID」、「リリース番号」、「デバイスクラス」、「サブクラス」、及び「プロトコル」のうち、所定の情報が、取得部402が取得した外部装置の情報と一致するか否かを判断する。 For example, the control unit 404 determines that predetermined information among the "vendor ID", "product ID", "release number", "device class", "subclass", and "protocol" registered in the registration information 414 is , it is determined whether the information matches the external device information acquired by the acquisition unit 402.

一例として、制御部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 acquisition unit 402 is registered in the registration information 414, the control unit 404 controls the external device information. may be determined to be registered in the registration information 414.

別の一例として、制御部404は、登録情報414に登録されている全ての外部装置の情報が一致したときに、外部装置の情報が登録情報414に登録されていると判断しても良い。 As another example, the control unit 404 may determine that the information on the external device is registered in the registration information 414 when the information on all external devices registered in the registration information 414 matches.

なお、第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 registration information 414 shown in FIG. 414 may not be included.

取得部402が取得した外部装置の情報が登録情報414に登録されている場合、制御部404は、処理をステップS704に移行させる。一方、取得部402が取得した外部装置の情報が登録情報414に登録されていない場合、制御部404は、処理をステップS707に移行させる。 If the information on the external device acquired by the acquisition unit 402 is registered in the registration information 414, the control unit 404 moves the process to step S704. On the other hand, if the information on the external device acquired by the acquisition unit 402 is not registered in the registration information 414, the control unit 404 shifts the process to step S707.

ステップS704に移行すると、制御部404は、例えば、図6に示すような登録情報414に基づいて、接続部401に接続した外部装置101に対応する第2のデバイスドライバ412を選択する。例えば、制御部404は、外部装置101から取得したベンダIDが「0x05CA」、プロダクトIDが「0x0202」である場合、図6に示すような登録情報414から、第2のデバイスドライバ412として「Drv.C」を選択する。 In step S704, the control unit 404 selects the second device driver 412 corresponding to the external device 101 connected to the connection unit 401, based on registration information 414 as shown in FIG. 6, for example. For example, if the vendor ID obtained from the external device 101 is "0x05CA" and the product ID is "0x0202", the control unit 404 selects "Drv .C".

好ましくは、制御部404は、外部装置101から取得したベンダIDとプロダクトIDとを有する第2のデバイスドライバ412が複数ある場合、後からインストールされた第2のデバイスドライバ412を、優先的に選択する。 Preferably, when there are multiple second device drivers 412 having the vendor ID and product ID acquired from the external device 101, the control unit 404 preferentially selects the second device driver 412 installed later. do.

ステップS705において、制御部404は、例えば、図6に示すような登録情報414に基づいて、接続部401に接続した外部装置101に対応するアプリケーション413に、外部装置101が接続されたことを通知する。例えば、制御部404は、外部装置101から取得したベンダIDが「0x05CA」、プロダクトIDが「0x0202」である場合、制御部404は、アプリケーション「Cheater」に、外部装置101が接続されたことを通知する。 In step S705, the control unit 404 notifies the application 413 corresponding to the external device 101 connected to the connection unit 401 that the external device 101 has been connected, based on the registration information 414 as shown in FIG. 6, for example. do. For example, if the vendor ID acquired from the external device 101 is “0x05CA” and the product ID is “0x0202,” the control unit 404 determines that the external device 101 is connected to the application “Cheater.” Notice.

なお、このとき、制御部404は、接続部401に接続した外部装置101に対応するアプリケーション413を起動させるものであっても良い。要するに、制御部404は、ステップS705において、接続部401に接続した外部装置101に対応するアプリケーション413を利用可能にするものであれば良い。 Note that at this time, the control unit 404 may start an application 413 corresponding to the external device 101 connected to the connection unit 401. In short, the control unit 404 may be anything that enables the application 413 corresponding to the external device 101 connected to the connection unit 401 to be used in step S705.

ステップS706において、通知を受け付けたアプリケーション413は、第2のデバイスドライバ412を利用して外部装置101の制御を開始する。例えば、アプリケーション「Cheater」は、第2のデバイスドライバ「Drv.C」を利用して外部装置101を制御して、所定の機能の提供を開始する。 In step S706, the application 413 that has received the notification starts controlling the external device 101 using the second device driver 412. For example, the application "Cheater" controls the external device 101 using the second device driver "Drv.C" and starts providing a predetermined function.

一方、ステップ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 control unit 404 selects the first device driver 411 to be applied to the external device 101 connected to the connection unit 401. For example, the control unit 404 selects an external device driver from among the first device drivers 411 stored in the storage unit 406 based on information such as “device class”, “subclass”, and “protocol” acquired from the external device 101. The first device driver 411 corresponding to 101 is selected.

ステップS708において、選択された第1のデバイスドライバ411は、外部装置101の制御を開始する。 In step S708, the selected first device driver 411 starts controlling the external device 101.

上記の処理により、外部装置101を情報処理装置110に接続することにより、外部装置101を制御して所定の機能を提供するアプリケーション413を利用可能にして、所定の機能を提供することが容易になる。例えば、情報処理装置110の利用者は、所定の外部装置101(例えば、生体認証装置等)を、情報処理装置110に接続するだけで、アプリケーション413によって提供される所定の機能(例えば、生体認証機能等)を利用することができるようになる。 Through the above processing, by connecting the external device 101 to the information processing device 110, the application 413 that controls the external device 101 and provides a predetermined function can be made available, thereby easily providing the predetermined function. Become. For example, a user of the information processing device 110 can perform predetermined functions provided by the application 413 (such as a biometric authentication device) by simply connecting a predetermined external device 101 (e.g., a biometric authentication device, etc.) to the information processing device 110. functions, etc.).

[第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 information processing apparatus 110 when the external device 101 is connected to the information processing apparatus 110. Note that the basic processing content is the same as the processing of the information processing apparatus according to the first embodiment described in FIG. 7, so detailed explanation of the processing similar to that of the first embodiment will be omitted here.

また、図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 storage unit 406 of the information processing apparatus 110 stores one or more of the first device driver 411, the second device driver 412, and the application 413. shall be. Further, it is assumed that the management unit 403 of the information processing device 110 manages registration information 414 as shown in FIG. 6, for example.

ステップS801において、情報処理装置110の接続部401が、外部装置101が接続されたことを検知すると、ステップS802以降の処理が実行される。 In step S801, when the connection unit 401 of the information processing device 110 detects that the external device 101 is connected, the processes from step S802 onwards are executed.

ステップS802において、情報処理装置110の取得部402は、接続部401に接続した外部装置101から、外部装置の情報を取得する。例えば、取得部402は、USB機器である外部装置101から、図5に示すような外部装置の情報(デバイスディスクリプタ)を取得する。 In step S802, the acquisition unit 402 of the information processing device 110 acquires external device information from the external device 101 connected to the connection unit 401. For example, the acquisition unit 402 acquires external device information (device descriptor) as shown in FIG. 5 from the external device 101, which is a USB device.

ステップS803において、情報処理装置110の制御部404は、取得部402が取得した外部装置の情報に含まれる装置識別情報が、例えば、図6に示すような登録情報414に登録されているか否かを判断する。 In step S803, the control unit 404 of the information processing device 110 determines whether the device identification information included in the external device information acquired by the acquisition unit 402 is registered in the registration information 414 as shown in FIG. 6, for example. to judge.

例えば、制御部404は、取得部402が取得した外部装置の情報に含まれるベンダID「idVendor」とプロダクトID「idProduct」の組合せ(装置識別情報の一例)が、登録情報414に登録されているか否かを判断する。或いは、制御部404は、取得部402が取得した外部装置の情報に含まれるベンダID「idVendor」とプロダクトID「idProduct」とリリース番号「bcdUSB」の組合せ(装置識別情報の別の一例)が、登録情報414に登録されているか否かを判断しても良い。 For example, the control unit 404 determines whether the combination of vendor ID “idVendor” and product ID “idProduct” (an example of device identification information) included in the external device information acquired by the acquisition unit 402 is registered in the registration information 414. Decide whether or not. Alternatively, the control unit 404 may determine that the combination of the vendor ID “idVendor”, the product ID “idProduct”, and the release number “bcdUSB” (another example of device identification information) included in the external device information acquired by the acquisition unit 402 is It may also be determined whether it is registered in the registration information 414.

取得部402が取得した外部装置の情報に含まれる装置識別情報が登録情報414に登録されている場合、制御部404は、処理をステップS804に移行させる。一方、取得部402が取得した外部装置の情報に含まれる装置識別情報が登録情報414に登録されていない場合、制御部404は、処理をステップS807に移行させる。 If the device identification information included in the external device information acquired by the acquisition unit 402 is registered in the registration information 414, the control unit 404 moves the process to step S804. On the other hand, if the device identification information included in the external device information acquired by the acquisition unit 402 is not registered in the registration information 414, the control unit 404 shifts the process to step S807.

ステップS804に移行すると、制御部404は、例えば、図6に示すような登録情報414を参照して、取得部402が取得した外部装置の情報に含まれる装置識別情報に対応する第2のデバイスドライバ412を選択する。例えば、制御部404は、外部装置101から取得したベンダIDが「0x05CA」、プロダクトIDが「0x0202」である場合、図6に示すような登録情報414から、第2のデバイスドライバ412として「Drv.C」を選択する。 In step S804, the control unit 404 refers to the registration information 414 as shown in FIG. Select driver 412. For example, if the vendor ID obtained from the external device 101 is "0x05CA" and the product ID is "0x0202", the control unit 404 selects "Drv .C".

ステップS805において、制御部404は、例えば、図6に示すような登録情報414を参照して、取得部402が取得した外部装置の情報に含まれる装置識別情報に対応するアプリケーション413に、外部装置101が接続されたことを通知する。例えば、制御部404は、外部装置101から取得したベンダIDが「0x05CA」、プロダクトIDが「0x0202」である場合、制御部404は、アプリケーション「Cheater」に、対応する外部装置101が接続されたことを通知する。 In step S805, the control unit 404 refers to the registration information 414 as shown in FIG. 101 is connected. For example, if the vendor ID acquired from the external device 101 is "0x05CA" and the product ID is "0x0202," the control unit 404 determines that the corresponding external device 101 is connected to the application "Cheater." to notify you of this.

なお、このとき、制御部404は、接続部401に接続した外部装置101に対応するアプリケーション413を起動させるものであっても良い。要するに、制御部404は、ステップS805において、接続部401に接続した外部装置101に対応するアプリケーション413を利用可能にするものであれば良い。 Note that at this time, the control unit 404 may start an application 413 corresponding to the external device 101 connected to the connection unit 401. In short, the control unit 404 may be anything that enables the application 413 corresponding to the external device 101 connected to the connection unit 401 to be used in step S805.

ステップS806において、通知を受け付けたアプリケーション413は、第2のデバイスドライバ412を利用して外部装置101の制御を開始する。例えば、アプリケーション「Cheater」は、第2のデバイスドライバ「Drv.C」を利用して外部装置101を制御して、所定の機能の提供を開始する。 In step S806, the application 413 that has received the notification starts controlling the external device 101 using the second device driver 412. For example, the application "Cheater" controls the external device 101 using the second device driver "Drv.C" and starts providing a predetermined function.

一方、ステップS803からS807に移行すると、制御部404は、取得部402が取得した外部装置の情報に含まれる機能識別情報が、例えば、図6に示すような登録情報414に登録されているか否かを判断する。 On the other hand, when the process moves from step S803 to S807, the control unit 404 determines whether the function identification information included in the external device information acquired by the acquisition unit 402 is registered in the registration information 414 as shown in FIG. 6, for example. to judge.

例えば、制御部404は、取得部402が取得した外部装置の情報に含まれるデバイスクラス「bDeviceClass」、サブクラス「bDeviceSubclass」、及びプロトコル「bDeviceProtocol」の組合せ(機能識別情報の一例)が、登録情報414に登録されているか否かを判断する。或いは、制御部404は、取得部402が取得した外部装置の情報に含まれるデバイスクラス「bDeviceClass」、及びサブクラス「bDeviceSubclass」の組合せ(機能識別情報の別の一例)が、登録情報414に登録されているか否かを判断しても良い。 For example, the control unit 404 determines that the combination of the device class “bDeviceClass”, the subclass “bDeviceSubclass”, and the protocol “bDeviceProtocol” (an example of function identification information) included in the external device information acquired by the acquisition unit 402 is registered information 414. Determine whether it is registered. Alternatively, the control unit 404 may register the combination of the device class “bDeviceClass” and the subclass “bDeviceSubclass” (another example of function identification information) included in the external device information acquired by the acquisition unit 402 in the registration information 414. It is also possible to judge whether or not the

取得部402が取得した外部装置の情報に含まれる機能識別情報が登録情報414に登録されている場合、制御部404は、処理をステップS808に移行させる。一方、取得部402が取得した外部装置の情報に含まれる機能識別情報が登録情報414に登録されていない場合、制御部404は、処理をステップS811に移行させる。 If the function identification information included in the external device information acquired by the acquisition unit 402 is registered in the registration information 414, the control unit 404 moves the process to step S808. On the other hand, if the function identification information included in the external device information acquired by the acquisition unit 402 is not registered in the registration information 414, the control unit 404 shifts the process to step S811.

ステップS808に移行すると、制御部404は、例えば、図6に示すような登録情報414を参照して、取得部402が取得した外部装置の情報に含まれる機能識別情報に対応する第2のデバイスドライバ412を選択する。例えば、制御部404は、外部装置101から取得したデバイスクラスが「0xE0」、サブクラスが「0x01」、プロトコルが「0x01」である場合、図6に示すような登録情報414から、第2のデバイスドライバ412として「Drv.B」を選択する。 In step S808, the control unit 404 refers to the registration information 414 as shown in FIG. Select driver 412. For example, when the device class acquired from the external device 101 is "0xE0", the subclass is "0x01", and the protocol is "0x01", the control unit 404 selects the second device from the registration information 414 as shown in FIG. “Drv.B” is selected as the driver 412.

ステップS809において、制御部404は、例えば、図6に示すような登録情報414を参照して、取得部402が取得した外部装置の情報に含まれる機能識別情報に対応するアプリケーション413に、外部装置101が接続されたことを通知する。例えば、制御部404は、外部装置101から取得したデバイスクラスが「0xE0」、サブクラスが「0x01」、プロトコルが「0x01」である場合、アプリケーション「FooCom」に、対応する外部装置101が接続されたことを通知する。 In step S809, the control unit 404 refers to the registration information 414 as shown in FIG. 101 is connected. For example, if the device class acquired from the external device 101 is "0xE0", the subclass is "0x01", and the protocol is "0x01", the control unit 404 determines that the corresponding external device 101 is connected to the application "FooCom". Notify that.

なお、このとき、制御部404は、接続部401に接続した外部装置101に対応するアプリケーション413を起動させるものであっても良い。要するに、制御部404は、ステップS809において、接続部401に接続した外部装置101に対応するアプリケーション413を利用可能にするものであれば良い。 Note that at this time, the control unit 404 may start an application 413 corresponding to the external device 101 connected to the connection unit 401. In short, the control unit 404 may be anything that enables the application 413 corresponding to the external device 101 connected to the connection unit 401 to be used in step S809.

ステップS810において、通知を受け付けたアプリケーション413は、第2のデバイスドライバ412を利用して外部装置101の制御を開始する。例えば、アプリケーション「FooCom」は、第2のデバイスドライバ「Drv.B」を利用して外部装置101を制御して、所定の機能の提供を開始する。 In step S810, the application 413 that has received the notification starts controlling the external device 101 using the second device driver 412. For example, the application "FooCom" controls the external device 101 using the second device driver "Drv.B" and starts providing a predetermined function.

一方、ステップ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 control unit 404 selects the first device driver 411 to be applied to the external device 101 connected to the connection unit 401. For example, the control unit 404 selects an external device driver from among the first device drivers 411 stored in the storage unit 406 based on information such as “device class”, “subclass”, and “protocol” acquired from the external device 101. The first device driver 411 corresponding to 101 is selected.

ステップS812において、選択された第1のデバイスドライバ411は、外部装置101の制御を開始する。 In step S812, the selected first device driver 411 starts controlling the external device 101.

上記の処理により、外部装置101を情報処理装置110に接続することにより、外部装置101を制御して所定の機能を提供するアプリケーション413を利用可能にして、所定の機能を提供することが容易になる。 Through the above processing, by connecting the external device 101 to the information processing device 110, the application 413 that controls the external device 101 and provides a predetermined function can be made available, thereby easily providing the predetermined function. Become.

また、第2の実施形態では、外部装置101から取得した装置識別情報が登録情報414に登録されていない場合でも、外部装置101から取得した機能識別情報に基づいて、第2のデバイスドライバ412を選択することができるようになる。 Furthermore, in the second embodiment, even if the device identification information obtained from the external device 101 is not registered in the registration information 414, the second device driver 412 is activated based on the function identification information obtained from the external device 101. You will be able to choose.

[第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 information processing apparatus 110 when the external device 101 is connected to the information processing apparatus 110. Note that the basic processing content is the same as the processing of the information processing apparatus according to the first embodiment described in FIG. 7, so detailed explanation of the processing similar to that of the first embodiment will be omitted here.

また、図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 storage unit 406 of the information processing apparatus 110 stores one or more of the first device driver 411, the second device driver 412, and the application 413. shall be. The management unit 403 manages registration information 414 as shown in FIG. 6, and it is assumed that N pieces of information (N is an integer of 1 or more) are registered in the registration information 414.

なお、以下の説明において、図6に示すような登録情報414の各行に登録されている情報を「登録情報」と呼ぶ。 In the following description, the information registered in each row of the registration information 414 as shown in FIG. 6 will be referred to as "registration information."

ステップS901において、情報処理装置110の接続部401が、外部装置101が接続されたことを検知すると、ステップS902以降の処理が実行される。 In step S901, when the connection unit 401 of the information processing device 110 detects that the external device 101 is connected, the processes from step S902 onwards are executed.

ステップS902において、情報処理装置110の取得部402は、接続部401に接続した外部装置101から、外部装置の情報を取得する。例えば、取得部402は、USB機器である外部装置101から、図5に示すような外部装置の情報(デバイスディスクリプタ)を取得する。 In step S902, the acquisition unit 402 of the information processing device 110 acquires external device information from the external device 101 connected to the connection unit 401. For example, the acquisition unit 402 acquires external device information (device descriptor) as shown in FIG. 5 from the external device 101, which is a USB device.

ステップS903において、情報処理装置110の制御部404は、変数iを「1」に初期化して、登録情報414に登録されているi番目の「登録情報」に対して、ステップS904~S906の処理を実行する。 In step S903, the control unit 404 of the information processing device 110 initializes the variable i to “1” and processes the i-th “registered information” registered in the registered information 414 in steps S904 to S906. Execute.

ステップS904において、制御部404は、取得部402が取得した外部装置の情報と、登録情報414に登録されているi番目の「登録情報」とを比較して、「ベンダID」、「プロダクトID」、「リリース番号」が合致している数(合致数)を確認する。例えば、「ベンダID」、「プロダクトID」、「リリース番号」がいずれも合致していれば、合致数は「3」となる。また、「ベンダID」、「プロダクトID」のみが合致していれば、合致数は「2」となる。 In step S904, the control unit 404 compares the external device information acquired by the acquisition unit 402 with the i-th “registration information” registered in the registration information 414, and compares the “vendor ID”, “product ID”, ” and “release number” match (number of matches). For example, if the "vendor ID", "product ID", and "release number" all match, the number of matches is "3". Further, if only "vendor ID" and "product ID" match, the number of matches is "2".

ステップS905において、制御部404は、取得部402が取得した外部装置の情報と、登録情報414に登録されているi番目の「登録情報」とを比較して、「デバイスクラス」、「サブクラス」、「プロトコル」の合致数を確認する。例えば、「デバイスクラス」、「サブクラス」、「プロトコル」がいずれも合致していれば、合致数は「3」となる。また、「デバイスクラス」、「サブクラス」のみが合致していれば、合致数は「2」となる。 In step S905, the control unit 404 compares the external device information acquired by the acquisition unit 402 with the i-th “registration information” registered in the registration information 414, and determines the “device class” and “subclass”. , check the number of matches for "Protocol". For example, if "device class", "subclass", and "protocol" all match, the number of matches is "3". Further, if only "device class" and "subclass" match, the number of matches is "2".

ステップ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 control unit 404 holds the i-th "registered information" as a candidate. For example, if the total number of matches confirmed in steps S904 and S905 is greater than the total number of matches of the held "registered information", the control unit 404 selects the i-th "registered information" as a candidate. Hold.

ステップS907において、iの値がN未満である場合、制御部404は、処理をステップS908に移行させる。一方、iの値がN以上である場合、制御部404は、処理をステップS909に移行させる。 In step S907, if the value of i is less than N, the control unit 404 moves the process to step S908. On the other hand, if the value of i is equal to or greater than N, the control unit 404 moves the process to step S909.

ステップS908において、制御部404は、変数iに1を加算して、登録情報414に登録されているi番目の「登録情報」に対して、ステップS904~S906の処理を実行する。 In step S908, the control unit 404 adds 1 to the variable i and executes the processes of steps S904 to S906 on the i-th "registration information" registered in the registration information 414.

一方、ステップS907からS909に移行すると、制御部404は、ステップS906で保持した「登録情報」があるか否かを判断する。保持した「登録情報」がある場合、制御部404は、処理をステップS910に移行させる。一方、保持した「登録情報」がない場合、制御部404は、処理をステップS913に移行させる。 On the other hand, when the process moves from step S907 to S909, the control unit 404 determines whether there is "registration information" held in step S906. If there is held "registration information", the control unit 404 moves the process to step S910. On the other hand, if there is no held "registration information", the control unit 404 moves the process to step S913.

ステップS910に移行すると、制御部404は、保持した「登録情報」に含まれる第2のデバイスドライバ412を選択する。 In step S910, the control unit 404 selects the second device driver 412 included in the held "registration information".

ステップS911において、制御部404は、保持した「登録情報」に含まれるアプリケーション413に、外部装置101が接続されたことを通知する。 In step S911, the control unit 404 notifies the application 413 included in the held "registration information" that the external device 101 has been connected.

なお、このとき、制御部404は、接続部401に接続した外部装置101に対応するアプリケーション413を起動させるものであっても良い。要するに、制御部404は、ステップS911において、接続部401に接続した外部装置101に対応するアプリケーション413を利用可能にするものであれば良い。 Note that at this time, the control unit 404 may start an application 413 corresponding to the external device 101 connected to the connection unit 401. In short, the control unit 404 may be anything that enables the application 413 corresponding to the external device 101 connected to the connection unit 401 to be used in step S911.

ステップS912において、通知を受け付けたアプリケーション413は、第2のデバイスドライバ412を利用して外部装置101の制御を開始する。 In step S912, the application 413 that has received the notification starts controlling the external device 101 using the second device driver 412.

一方、ステップ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 control unit 404 selects the first device driver 411 to be applied to the external device 101 connected to the connection unit 401. For example, the control unit 404 selects an external device driver from among the first device drivers 411 stored in the storage unit 406 based on information such as “device class”, “subclass”, and “protocol” acquired from the external device 101. The first device driver 411 corresponding to 101 is selected.

ステップS914において、選択された第1のデバイスドライバ411は、外部装置101の制御を開始する。 In step S914, the selected first device driver 411 starts controlling the external device 101.

上記の処理により、外部装置101を情報処理装置110に接続することにより、外部装置101を制御して所定の機能を提供するアプリケーション413を利用可能にして、所定の機能を提供することが容易になる。 Through the above processing, by connecting the external device 101 to the information processing device 110, the application 413 that controls the external device 101 and provides a predetermined function can be made available, thereby easily providing the predetermined function. Become.

また、第3の実施形態では、外部装置101から取得した装置識別情報、機能識別情報が、登録情報414に登録されている装置識別情報、機能識別情報と一致しない場合でも、より適切な第2のデバイスドライバ412を選択することができるようになる。 Furthermore, in the third embodiment, even if the device identification information and function identification information acquired from the external device 101 do not match the device identification information and function identification information registered in the registration information 414, a more appropriate second device driver 412 can be selected.

(登録処理について)
図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 second device driver 412 corresponding to the external device 101 and an application 413 that controls the external device 101 using the second device driver 412 to provide a predetermined function to the information processing apparatus 110. An example of registration processing for registering is shown.

ステップS1001において、情報処理装置110を管理する管理者(又は利用者)等は、情報処理装置110に所定の機能を追加するためのプログラムであるインストーラを、情報処理装置110上で実行する。 In step S1001, an administrator (or user) or the like who manages the information processing apparatus 110 executes an installer, which is a program for adding a predetermined function to the information processing apparatus 110, on the information processing apparatus 110.

ステップS1002において、情報処理装置110の登録部405は、外部装置101を制御して所定の機能を提供するアプリケーション413と、外部装置101に対応する第2のデバイスドライバ412を、情報処理装置110にインストールする。これにより、外部装置101に対応する第2のデバイスドライバ412、及びアプリケーション413が、記憶部406に記憶される。 In step S1002, the registration unit 405 of the information processing apparatus 110 provides the information processing apparatus 110 with an application 413 that controls the external apparatus 101 and provides a predetermined function, and a second device driver 412 corresponding to the external apparatus 101. install. As a result, the second device driver 412 and application 413 corresponding to the external device 101 are stored in the storage unit 406.

ステップS1003において、登録部405は、インストールしたアプリケーション413に対応する外部装置101の情報と、第2のデバイスドライバ412の情報とを、例えば、図6に示すような登録情報414に登録する。 In step S1003, the registration unit 405 registers information on the external device 101 and information on the second device driver 412 corresponding to the installed application 413 in registration information 414 as shown in FIG. 6, for example.

上記の処理により、管理者等は、アプリケーション413、及びアプリケーション413に対応する第2のデバイスドライバ412を、情報処理装置110に追加することができる。 Through the above process, the administrator or the like can add the application 413 and the second device driver 412 corresponding to the application 413 to the information processing apparatus 110.

以上、本発明の各実施形態によれば、外部装置101を情報処理装置110に接続することにより、外部装置101を制御して所定の機能を提供するアプリケーションを利用可能にして、所定の機能を提供することが容易になる。 As described above, according to each embodiment of the present invention, by connecting the external device 101 to the information processing device 110, an application that controls the external device 101 and provides a predetermined function can be used, and the predetermined function can be performed. It becomes easier to provide.

<補足>
上記で説明した各実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計された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 External device 110 Information processing device 300 Image forming device 401 Connection unit 402 Acquisition unit 403 Management unit 404 Control unit 405 Registration unit 406 Storage unit 411 First device driver 412 Second device driver 413 Application 414 Registration information

特開2013-152704号公報Japanese Patent Application Publication No. 2013-152704

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のデバイスドライバと、前記第2のデバイスドライバを利用して前記所定の機能を提供する前記アプリケーションとをインストールし、前記登録情報に、前記アプリケーションが前記所定の機能を提供するために用いる前記外部装置の情報と、前記外部装置に対応する前記第2のデバイスドライバの情報とを登録する登録部を有する、請求項に記載の情報処理装置。 The second device driver and the application that provides the predetermined function using the second device driver are installed in the information processing apparatus, and the registration information indicates that the application provides the predetermined function. The information processing apparatus according to claim 1 , further comprising a registration unit that registers information on the external device used to provide the external device and information on the second device driver corresponding to the external 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のデバイスドライバを選択する、請求項に記載の情報処理装置。
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のデバイスドライバが複数ある場合、後からインストールされた前記第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乃至のいずれか一項に記載の情報処理装置。 7. The information processing apparatus according to claim 1, wherein the information processing apparatus is an image forming apparatus in which the predetermined function becomes available by connecting the external device. 外部装置を接続する接続部を有する情報処理装置が、
前記外部装置の機能に対応した処理を行なう第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 .
JP2020035658A 2020-03-03 2020-03-03 Information processing device, control method, and program Active JP7439570B2 (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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