Nothing Special   »   [go: up one dir, main page]

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

情報処理装置、制御方法、及びプログラム 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
English (en)
Other versions
JP2021140300A (ja
Inventor
創 ▲高▼山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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/ja
Publication of JP2021140300A publication Critical patent/JP2021140300A/ja
Application granted granted Critical
Publication of JP7439570B2 publication Critical patent/JP7439570B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、情報処理装置、制御方法、及びプログラムに関する。
例えば、USB(Universal Serial Bus)機器等の外部装置を接続するインターフェースを有し、デバイスドライバに代えて、特定のアプリケーションから外部装置を制御する情報処理装置がある。
例えば、クラスに相当するクラスドライバではない、ジェネリックなデバイスドライバを介して、アプリケーションが特殊な制御を行なうことにより、アプリケーションが外部装置を制御する情報処理装置が知られている(例えば、特許文献1参照)。
特許文献1に開示された技術を、例えば、画像形成装置等の電子機器に適用して、電子機器に外部装置を接続することにより、外部装置を制御して所定の機能を提供するアプリケーションを利用可能にして、所定の機能を提供したいという要求がある。
しかし、特許文献1に開示された技術では、特定の外部装置を電子機器に接続したときにデバイスドライバを選択するのみであり、外部装置を制御して所定の機能を提供するアプリケーションを利用可能にして、所定の機能を提供することには困難を伴っていた。
なお、このような課題は、画像形成装置等の電子機器に限られず、例えば、PC(Personal Computer)等の汎用の情報端末にも共通に存在する。
本発明の一実施形態は、上記の問題点に鑑みてなされたものであって、外部装置を情報処理装置に接続することにより、外部装置を制御して所定の機能を提供するアプリケーションを利用可能にして、所定の機能を提供することを容易にする。
上記目的を達成するため、本発明の一実施形態に係る情報処理装置は、を有する情報処理装置であって、前記外部装置の機能に対応した処理を行なう第1のデバイスドライバと、前記外部装置の機能に依存しない処理を行なう第2のデバイスドライバと、前記情報処理装置にインストールされ、前記第2のデバイスドライバを利用して前記外部装置を制御し、所定の機能を提供するアプリケーションとを記憶する記憶部と、前記情報処理装置にインストールされた前記アプリケーションが前記所定の機能を提供するために用いる前記外部装置の情報と、前記外部装置に対応する前記第2のデバイスドライバの情報と、前記第2のデバイスドライバに対応する前記アプリケーションの情報と、を記憶した登録情報を管理する管理部と、前記接続部に接続した前記外部装置から取得した前記外部装置の情報が、前記登録情報に登録されている場合、前記登録情報に基づいて、前記第2のデバイスドライバを選択し、前記第2のデバイスドライバに対応する前記アプリケーションを利用可能にする制御部と、を有し、前記制御部は、前記接続部に接続した前記外部装置から取得した前記外部装置の情報が、前記登録情報に登録されていない場合、前記接続部に接続された前記外部装置の機能に対応した処理を行なう前記第1のデバイスドライバを選択する。
本発明の一実施形態によれば、外部装置を情報処理装置に接続することにより、外部装置を制御して所定の機能を提供するアプリケーションを利用可能にして、所定の機能を提供することが容易になる。
一実施形態に係る情報処理システムのシステム構成の例を示す図である。 一実施形態に係るコンピュータのハードウェア構成の例を示す図である。 一実施形態に係る画像形成装置のハードウェア構成の例を示す図である。 一実施形態に係る情報処理装置の機能構成の例を示す図である。 一実施形態に係る外部装置の情報のイメージを示す図である。 一実施形態に係る登録情報のイメージを示す図である。 第1の実施形態に係る情報処理装置の処理の例をフローチャートである。 第2の実施形態に係る情報処理装置の処理の例をフローチャートである。 第3の実施形態に係る情報処理装置の処理の例をフローチャートである。 一実施形態に係る登録処理の例を示すフローチャートである。
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
<システム構成>
図1は、一実施形態に係る情報処理システムのシステム構成の例を示す図である。情報処理システム100は、例えば、コンピュータの構成を有する情報処理装置110と、情報処理装置110に接続可能な外部装置101とを含む。好ましくは、情報処理装置110は、情報処理装置110の外部、又は内部に表示装置102、入力装置103等を有する。
外部装置101は、情報処理装置110が備える外部機器接続I/F(Interface)等に接続され、情報処理装置110からデバイスドライバを介して制御される、例えば、USB(Universal Serial Bus)機器等の装置である。ここでは、外部装置101がUSB機器であるものとして以下の説明を行なうが、外部装置101は、情報処理装置110に接続され、情報処理装置110からデバイスドライバを介して制御される、USB機器以外の装置であっても良い。
情報処理装置110は、一例として、図2に示すようなコンピュータ200の構成を有するPC(Personal Computer)、タブレット端末等の情報処理装置である。別の一例として、情報処理装置110は、図3に示す画像形成装置300のように、コンピュータの構成を備え、外部装置101を接続可能な電子機器である。
なお、情報処理装置110は、コンピュータ200や画像形成装置300に限られず、コンピュータの構成を備え、外部装置101を接続可能な様々な装置であって良い。例えば、電子機器は、PJ(Projector:プロジェクタ)、IWB(Interactive White Board:相互通信が可能な電子式の黒板機能を有する白板)、デジタルサイネージ等の出力装置であっても良い。また、電子機器は、HUD(Head Up Display)装置、産業機械、撮像装置、集音装置、医療機器、ネットワーク家電、自動車(Connected Car)等であっても良い。さらに、電子機器は、携帯電話、スマートフォン、ゲーム機、PDA(Personal Digital Assistant)、デジタルカメラ、ウェアラブル端末等であっても良い。
<ハードウェア構成>
ここでは、情報処理装置110の一例であるコンピュータ200、及び画像形成装置300のハードウェア構成について説明する。
(コンピュータのハードウェア構成)
図2は、一実施形態に係るコンピュータのハードウェア構成の例を示す図である。情報処理装置110は、例えば、図2に示すようなコンピュータ200のハードウェア構成を有している。
コンピュータ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等を備えている。
これらのうち、CPU201は、コンピュータ200全体の動作を制御する。ROM202は、例えば、IPL(Initial Program Loader)等のコンピュータ200の起動に用いられるプログラムを記憶する。RAM203は、例えば、CPU201のワークエリア等として使用される。HD204は、例えば、OS(Operating System)、アプリケーション、デバイスドライバ等のプログラムや、各種データを記憶する。HDDコントローラ205は、例えば、CPU201の制御に従ってHD204に対する各種データの読み出し又は書き込みを制御する。
ディスプレイ206は、例えば、カーソル、メニュー、ウィンドウ、文字、又は画像などの各種情報を表示する。なお、ディスプレイ206は、図1の表示装置102に対応しており、コンピュータ200の外部に設けられていても良い。外部機器接続I/F207は、各種の外部装置(外部機器)101を接続するUSB等のインターフェースであり、一例として、USBホストコントローラ等を含む。ネットワークI/F208は、通信ネットワークを利用してデータ通信をするためのインターフェースである。
キーボード209は、文字、数値、各種指示などの入力のための複数のキーを備えた入力手段の一種である。ポインティングデバイス210は、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行なう入力手段の一種である。なお、キーボード209、及びポインティングデバイス210は、図1の入力装置103に対応しており、コンピュータ200の外部に設けられていても良い。
DVD-RWドライブ212は、着脱可能な記録媒体の一例としてのDVD-RW211に対する各種データの読み出し又は書き込みを制御する。なお、DVD-RW211は、DVD-RWに限らず、DVD-R等であっても良い。メディアI/F214は、フラッシュメモリ等のメディア213に対するデータの読み出し又は書き込み(記憶)を制御する。バスライン215は、上記の各構成要素を電気的に接続するためのアドレスバス、データバス及び各種の制御信号等を含む。
(画像形成装置のハードウェア構成)
ここでは、画像形成装置300が、例えば、スキャン機能、コピー機能、印刷機能、ファクシミリ機能等を一つの筐体に搭載したMFP(Multifunction Peripheral)であるものとして、以下の説明を行なう。なお、画像形成装置300は、情報処理装置110の一例である。
図3は、一実施形態に係る画像形成装置のハードウェア構成の例を示す図である。画像形成装置300は、例えば、図3に示されるように、コントローラ310、近距離通信回路320、エンジン制御部330、操作パネル340、ネットワークI/F350、及び外部機器接続I/F360等を備えている。
これらのうち、コントローラ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で接続した構成となっている。
これらのうち、CPU301は、画像形成装置300の全体制御を行なう制御部である。NB303は、CPU301と、MEM-P302、SB304、及びAGPバス311とを接続するためのブリッジであり、MEM-P302に対する読み書きなどを制御するメモリコントローラと、PCI(Peripheral Component Interconnect)マスタ及びAGPターゲットとを有する。
MEM-P302は、コントローラ310の各機能を実現させるプログラムやデータの格納用メモリであるROM302a、プログラムやデータの展開、及びメモリ印刷時の描画用メモリなどとして用いるRAM302bとからなる。なお、RAM302bに記憶されているプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、CD-R、DVD等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成しても良い。
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)のインターフェースを接続するようにしても良い。
MEM-C306は、コピー用画像バッファ及び符号バッファとして用いるローカルメモリである。HD308は、画像データの蓄積、印刷時に用いるフォントデータの蓄積、フォームの蓄積を行なうためのストレージである。なお、HD308は、例えば、OS、アプリケーション、デバイスドライバ等のプログラムや、各種データを記憶しても良い。HDDコントローラ307は、CPU301の制御に従ってHD308に対するデータの読出又は書込を制御する。AGPバス311は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレータカード用のバスインタフェースであり、MEM-P302に高スループットで直接アクセスすることにより、グラフィックスアクセラレータカードを高速にすることができる。
近距離通信回路320は、近距離通信回路用のアンテナ320a等を用いて、各種の近距離無線通信を行なう。
エンジン制御部330は、例えば、スキャナ部331及びプリンタ部332等によって構成されている。スキャナ部331は、原稿等を読み取る読取装置である。プリンタ部332は、印刷データを印刷媒体に印刷する印刷装置である。スキャナ部331又はプリンタ部332には、例えば、誤差拡散やガンマ変換等の画像処理部分が含まれている。
操作パネル340は、現在の設定値や選択画面等を表示させ、操作者からの入力を受け付けるタッチパネル等のパネル表示部340a、並びに、濃度の設定条件などの画像形成に関する条件の設定値を受け付けるテンキー及びコピー開始指示を受け付けるスタートキー等からなる操作ボタン340bを備えている。なお、操作パネル340は、図1の表示装置102、及び入力装置103に対応している。コントローラ310は、画像形成装置300全体の制御を行ない、例えば、描画、通信、操作パネル340からの入力等を制御する。
なお、画像形成装置300は、例えば、操作パネル340のアプリケーション切り替えキーにより、ドキュメントボックス機能、コピー機能、プリンタ機能、及びファクシミリ機能を順次に切り替えて選択することが可能となる。例えば、ドキュメントボックス機能の選択時にはドキュメントボックスモードとなり、コピー機能の選択時にはコピーモードとなり、プリンタ機能の選択時にはプリンタモードとなり、ファクシミリモードの選択時にはファクシミリモードとなる。
また、ネットワークI/F350は、通信ネットワークを利用してデータ通信をするためのインターフェースである。外部機器接続I/F360は、各種の外部装置(外部機器)101を接続するUSB等のインターフェースであり、例えば、USBホストコントローラ等を含む。近距離通信回路320、ネットワークI/F350、及び外部機器接続I/F360は、例えば、PCIバス312を介して、ASIC305に電気的に接続されている。
なお、電子機器120は、コンピュータの構成と、外部機器接続I/F360とを備えていれば良く、他のハードウェア構成は任意の構成であって良い。また、外部機器接続I/F360は、PCIバス312とは異なるPCIバスを介して、SB304に接続されていても良い。
<機能構成>
続いて、一実施形態に係る情報処理装置110の機能構成について説明する。
図4は、一実施形態に係る情報処理装置の機能構成の例を示す図である。ここでは、説明を容易にするため、情報処理装置110が画像形成装置300であり、外部装置101がUSB機器であるものとして以下の説明を行なう。
情報処理装置110は、例えば、図3のCPU301(又は図2のCPU201)で所定のプログラムを実行することにより、接続部401、取得部402、管理部403、制御部404、登録部405、及び記憶部406等を実現している。なお、上記の各機能構成のうち、少なくとも一部は、ハードウェアによって実現されるものであっても良い。
記憶部406は、例えば、図3のCPU301等で実行されるプログラム、及びHD308、HDDコントローラ307等によって実現され、第1のデバイスドライバ411、第2のデバイスドライバ412、及びアプリケーション423等を記憶する。なお、記憶部406は、例えば、登録情報414等の各種の情報やデータを記憶するためにも用いられる。
デバイスドライバは、情報処理装置110に接続される外部装置101を制御するためのプログラムである。本実施形態では、デバイスドライバには、外部装置101の機能に対応した処理を行なう第1のデバイスドライバ411と、外部装置101の機能に依存しない処理を行なう第2のデバイスドライバとが含まれる。
第1のデバイスドライバ411は、OSを提供するベンダや、外部装置101を提供するベンダ等によって提供され、外部装置101の機能を実現するための各種の制御を実行する、一般的なデバイスドライバである。
第2のデバイスドライバ412は、外部装置101の機能に依存しない処理を行ない、外部装置101の機能を実現するための制御を、デバイスドライバではなく、アプリケーション413が実行するデバイスドライバである。一例として、第2のデバイスドライバ412には、関数として、単純な初期化や、データの送受信等を行なう関数が定義されている。
アプリケーション413は、第2のデバイスドライバ412を利用して外部装置101を制御し、所定の機能を提供するプログラムである。
例えば、情報処理装置110に、外部装置101を利用した所定の機能(例えば、生体認証機能等)を追加したい場合、管理者等は、所定の機能に対応するアプリケーション413、及び第2のデバイスドライバ412を情報処理装置110にインストールする。これにより、外部装置101(例えば、生体認証装置等)を情報処理装置110に接続することにより、アプリケーション413が、第2のデバイスドライバ412を介して、外部装置101を制御し、所定の機能(例えば、生体認証機能等)を提供することができる。なお、生体認証機能は、所定の機能の一例である。所定の機能は、例えば、NFC(Near Field Communication)やBluetooth(登録商標)等の近距離無線機能、利用者の接近を検知する移動体の検知機能等の様々な機能であって良い。
このように、本実施形態によれば、例えば、画像形成装置300等の情報処理装置110に、アプリケーション413、及び第2のデバイスドライバ412をインストールすることにより、外部装置101を利用した様々な機能を容易に追加することができる。
接続部401は、例えば、CPU301等で実行されるプログラム、及び外部機器接続I/F360等によって実現され、USB機器である外部装置101を、情報処理装置110に接続する。例えば、接続部401は、外部機器接続I/F360に接続された外部装置101を検知し、接続された外部装置101にアドレスを割り当てる。
取得部402は、例えば、CPU301等で実行されるプログラム、及び外部機器接続I/F360等によって実現され、外部機器接続I/F360に接続された外部装置101から、外部装置の情報を取得する取得処理を実行する。
図5は、一実施形態に係る外部装置の情報のイメージを示す図である。この図は、USB機器から取得可能なデバイスディスクリプタの例を示している。デバイスディスクリプタは、このディスクリプタを送信したUSB機器を識別するための情報を含む。図6の例では、デバイスディスクリプタは、「bLength」、「bDescriptorType」、「bcdUSB」、「bDeviceClass」、「bDeviceSubclass」、「bDeviceProtocol」、「bMaxPacketSize0」、「idVendor」、「idProduct」、「bcdDevice」、「iManufacturer」、「iProduct」、「iSerialNumber」、及び「bNumConfiguration」等のフィールドを含む。
これらのうち、「bLength」、及び「bDescriptorType」のフィールドは、それぞれディスクリプタのバイト長と種類を示す。また、「bcdUSB」は、USB仕様書のリリース番号を示す。
「bDeviceClass」、「bDeviceSubclass」、及び「bDeviceProtocol」のフィールドは、このディスクリプタを送信したUSB機器のクラスを示す。クラスは、USB機器の機能に基づく分類を示す情報である。なお、クラスは、外部装置101の機能を識別する機能識別情報の一例である。
また、「idVendor」のフィールドは、このディスクリプタを送信したUSB機器のベンダを識別するベンダIDである。「idProduct」のフィールドは、ディスクリプタを送信したUSB機器を識別するプロダクトIDである。「bcdDevice」のフィールドは、USB機器のバージョン(デバイスのバージョン)を示す。なお、プロダクトIDは、外部装置101を識別する機器識別情報の一例である。或いは、プロダクトIDに、ベンダIDやデバイスのバージョン等を組み合わせて、外部装置101を識別する機器識別情報としても良い。なお、「iManufacturer」以降のフィールドについては、本実施形態の処理には関係しないため、説明を省略する。
なお、図4に示すデバイスディスクリプタは、外部装置の情報の一例である。外部装置の情報には、例えば、外部装置101を識別する装置識別情報、外部装置101の機能を識別する機能識別情報等が含まれていれば良い。
ここで、図4に戻り、情報処理装置110の機能構成の説明を続ける。
管理部403は、例えば、図3のCPU301等で実行されるプログラムによって実現される。管理部403は、アプリケーション413が所定の機能を提供するために用いる外部装置101の情報と、当該外部装置101に対応する第2のデバイスドライバの情報とを記憶した登録情報414を、例えば、記憶部406等に記憶して管理する。
図6は、一実施形態に係る登録情報のイメージを示す図である。図6の例では、登録情報414には、項目として、「ベンダID」、「プロダクトID」、「リリース番号」、「デバイスクラス」、「サブクラス(又はデバイスサブクラス)」、「プロトコル」、「ドライバ」、及び「アプリケーション」等の情報が含まれる。
このうち、「ベンダID」、「プロダクトID」は、それぞれ、図5の「idVendor」、「idProduct」に対応しており、外部装置101を識別する装置識別情報601の一例である。また、「リリース番号」は、図5の「bcdUSB」に対応している。装置識別情報601には、「リリース番号」が含まれていても良い。
また、「デバイスクラス」、「サブクラス」、「プロトコル」は、それぞれ、図5の「bDeviceClass」、「bDeviceSubclass」、「bDeviceProtocol」に対応しており、外部装置101の機能を識別する機能識別情報602の一例である。
さらに、「ベンダID」、「プロダクトID」、「リリース番号」、「デバイスクラス」、「サブクラス」、「プロトコル」は、外部装置101の装置識別情報601、及び機能識別情報を含む、外部装置101の情報の一例である。
「ドライバ」は、外部装置101に対応する第2のデバイスドライバ412の情報(例えば、名前、ファイル名、識別情報等)である。「アプリケーション」は、第2のデバイスドライバ412を介して、外部装置101を制御するアプリケーション413の情報(例えば、名前、ファイル名、識別情報等)である。
好ましくは、管理部403は、アプリケーション413、及び第2のデバイスドライバ412がインストールされた順に、順次に登録情報414に登録することにより、インストールされた順番を管理する。
ここで、再び図4に戻り、情報処理装置110の機能構成の説明を続ける。
制御部404は、例えば、図3のCPU301等で実行されるプログラムによって実現される。制御部404は、接続した外部装置101の情報が、登録情報414に登録されている場合、登録情報414に基づいて、外部装置101に対応する第2のデバイスドライバ412を選択し、外部装置101に対応するアプリケーション413を利用可能にする。
例えば、制御部404は、外部装置101に対応するアプリケーション413が既に起動している場合、アプリケーション413に外部装置101が接続されたことを通知する。また、制御部404は、外部装置101に対応するアプリケーション413が起動していない場合、アプリケーション413を起動する。
なお、制御部404が実行する具体的な処理の例については、後述する第1~3の実施形態で説明する。
登録部405は、例えば、図3のCPU301で実行されるプログラム(例えば、情報処理装置110にアプリケーション413をインストールするインストールプログラム等)によって実現される。登録部405は、例えば、所定の機能を提供するアプリケーション413と、アプリケーション413が利用する第2のデバイスドライバ412とを情報処理装置110にインストールする。また、登録部405は、インストールしたアプリケーション413が所定の機能を提供するために用いる外部装置101の情報と、インストールした第2のデバイスドライバ412の情報とを、例えば、図6に示すような登録情報414に登録する。
<処理の流れ>
続いて、本実施形態に係る制御方法の処理の流れについて、複数の実施形態を例示して説明する。
[第1の実施形態]
図7は、第1の実施形態に係る情報処理装置の処理の例を示すフローチャートである。この処理は、情報処理装置110に外部装置101が接続されたときに、情報処理装置110が実行する処理の一例を示している。
なお、図7に示す処理の開始時点において、情報処理装置110の記憶部406には、1つ以上の第1のデバイスドライバ411、第2のデバイスドライバ412、及びアプリケーション413が記憶されているものとする。また、情報処理装置110の管理部403は、例えば、図6に示すような登録情報414を管理しているものとする。
ステップS701において、情報処理装置110の接続部401が、外部装置101が接続されたことを検知すると、ステップS702以降の処理が実行される。
ステップS702において、情報処理装置110の取得部402は、接続部401に接続した外部装置101から、外部装置の情報を取得する。例えば、取得部402は、外部装置101から、図5に示すような外部装置の情報(デバイスディスクリプタ)を取得する。
ステップS703において、情報処理装置110の制御部404は、取得部402が取得した外部装置の情報が、例えば、図6に示すような登録情報414に登録されているか否かを判断する。
例えば、制御部404は、登録情報414に登録されている「ベンダID」、「プロダクトID」、「リリース番号」、「デバイスクラス」、「サブクラス」、及び「プロトコル」のうち、所定の情報が、取得部402が取得した外部装置の情報と一致するか否かを判断する。
一例として、制御部404は、取得部402が取得した外部装置の情報に含まれるベンダID「idVendor」とプロダクトID「idProduct」の組合せが、登録情報414に登録されている場合、外部装置の情報が登録情報414に登録されていると判断しても良い。
別の一例として、制御部404は、登録情報414に登録されている全ての外部装置の情報が一致したときに、外部装置の情報が登録情報414に登録されていると判断しても良い。
なお、第1の実施形態では、図6に示す登録情報414に含まれる「リリース番号」、「デバイスクラス」、「サブクラス」、「プロトコル」の情報のうち、1つ以上の情報が、登録情報414に含まれていなくても良い。
取得部402が取得した外部装置の情報が登録情報414に登録されている場合、制御部404は、処理をステップS704に移行させる。一方、取得部402が取得した外部装置の情報が登録情報414に登録されていない場合、制御部404は、処理をステップS707に移行させる。
ステップS704に移行すると、制御部404は、例えば、図6に示すような登録情報414に基づいて、接続部401に接続した外部装置101に対応する第2のデバイスドライバ412を選択する。例えば、制御部404は、外部装置101から取得したベンダIDが「0x05CA」、プロダクトIDが「0x0202」である場合、図6に示すような登録情報414から、第2のデバイスドライバ412として「Drv.C」を選択する。
好ましくは、制御部404は、外部装置101から取得したベンダIDとプロダクトIDとを有する第2のデバイスドライバ412が複数ある場合、後からインストールされた第2のデバイスドライバ412を、優先的に選択する。
ステップS705において、制御部404は、例えば、図6に示すような登録情報414に基づいて、接続部401に接続した外部装置101に対応するアプリケーション413に、外部装置101が接続されたことを通知する。例えば、制御部404は、外部装置101から取得したベンダIDが「0x05CA」、プロダクトIDが「0x0202」である場合、制御部404は、アプリケーション「Cheater」に、外部装置101が接続されたことを通知する。
なお、このとき、制御部404は、接続部401に接続した外部装置101に対応するアプリケーション413を起動させるものであっても良い。要するに、制御部404は、ステップS705において、接続部401に接続した外部装置101に対応するアプリケーション413を利用可能にするものであれば良い。
ステップS706において、通知を受け付けたアプリケーション413は、第2のデバイスドライバ412を利用して外部装置101の制御を開始する。例えば、アプリケーション「Cheater」は、第2のデバイスドライバ「Drv.C」を利用して外部装置101を制御して、所定の機能の提供を開始する。
一方、ステップS703からS707に移行すると、制御部404は、接続部401に接続した外部装置101に適用する第1のデバイスドライバ411を選択する。例えば、制御部404は、外部装置101から取得した「デバイスクラス」、「サブクラス」、「プロトコル」等の情報に基づいて、記憶部406に記憶した第1のデバイスドライバ411の中から、外部装置101に対応する第1のデバイスドライバ411を選択する。
ステップS708において、選択された第1のデバイスドライバ411は、外部装置101の制御を開始する。
上記の処理により、外部装置101を情報処理装置110に接続することにより、外部装置101を制御して所定の機能を提供するアプリケーション413を利用可能にして、所定の機能を提供することが容易になる。例えば、情報処理装置110の利用者は、所定の外部装置101(例えば、生体認証装置等)を、情報処理装置110に接続するだけで、アプリケーション413によって提供される所定の機能(例えば、生体認証機能等)を利用することができるようになる。
[第2の実施形態]
図8は、第2の実施形態に係る情報処理装置の処理の例を示すフローチャートである。この処理は、情報処理装置110に外部装置101が接続されたときに、情報処理装置110が実行する処理の別の一例を示している。なお、基本的な処理内容は、図7で説明した第1の実施形態に係る情報処理装置の処理と同様なので、ここでは、第1の実施形態と同様の処理に対する詳細な説明は省略する。
また、図8に示す処理の開始時点において、情報処理装置110の記憶部406には、1つ以上の第1のデバイスドライバ411、第2のデバイスドライバ412、及びアプリケーション413が記憶されているものとする。また、情報処理装置110の管理部403は、例えば、図6に示すような登録情報414を管理しているものとする。
ステップS801において、情報処理装置110の接続部401が、外部装置101が接続されたことを検知すると、ステップS802以降の処理が実行される。
ステップS802において、情報処理装置110の取得部402は、接続部401に接続した外部装置101から、外部装置の情報を取得する。例えば、取得部402は、USB機器である外部装置101から、図5に示すような外部装置の情報(デバイスディスクリプタ)を取得する。
ステップS803において、情報処理装置110の制御部404は、取得部402が取得した外部装置の情報に含まれる装置識別情報が、例えば、図6に示すような登録情報414に登録されているか否かを判断する。
例えば、制御部404は、取得部402が取得した外部装置の情報に含まれるベンダID「idVendor」とプロダクトID「idProduct」の組合せ(装置識別情報の一例)が、登録情報414に登録されているか否かを判断する。或いは、制御部404は、取得部402が取得した外部装置の情報に含まれるベンダID「idVendor」とプロダクトID「idProduct」とリリース番号「bcdUSB」の組合せ(装置識別情報の別の一例)が、登録情報414に登録されているか否かを判断しても良い。
取得部402が取得した外部装置の情報に含まれる装置識別情報が登録情報414に登録されている場合、制御部404は、処理をステップS804に移行させる。一方、取得部402が取得した外部装置の情報に含まれる装置識別情報が登録情報414に登録されていない場合、制御部404は、処理をステップS807に移行させる。
ステップS804に移行すると、制御部404は、例えば、図6に示すような登録情報414を参照して、取得部402が取得した外部装置の情報に含まれる装置識別情報に対応する第2のデバイスドライバ412を選択する。例えば、制御部404は、外部装置101から取得したベンダIDが「0x05CA」、プロダクトIDが「0x0202」である場合、図6に示すような登録情報414から、第2のデバイスドライバ412として「Drv.C」を選択する。
ステップS805において、制御部404は、例えば、図6に示すような登録情報414を参照して、取得部402が取得した外部装置の情報に含まれる装置識別情報に対応するアプリケーション413に、外部装置101が接続されたことを通知する。例えば、制御部404は、外部装置101から取得したベンダIDが「0x05CA」、プロダクトIDが「0x0202」である場合、制御部404は、アプリケーション「Cheater」に、対応する外部装置101が接続されたことを通知する。
なお、このとき、制御部404は、接続部401に接続した外部装置101に対応するアプリケーション413を起動させるものであっても良い。要するに、制御部404は、ステップS805において、接続部401に接続した外部装置101に対応するアプリケーション413を利用可能にするものであれば良い。
ステップS806において、通知を受け付けたアプリケーション413は、第2のデバイスドライバ412を利用して外部装置101の制御を開始する。例えば、アプリケーション「Cheater」は、第2のデバイスドライバ「Drv.C」を利用して外部装置101を制御して、所定の機能の提供を開始する。
一方、ステップS803からS807に移行すると、制御部404は、取得部402が取得した外部装置の情報に含まれる機能識別情報が、例えば、図6に示すような登録情報414に登録されているか否かを判断する。
例えば、制御部404は、取得部402が取得した外部装置の情報に含まれるデバイスクラス「bDeviceClass」、サブクラス「bDeviceSubclass」、及びプロトコル「bDeviceProtocol」の組合せ(機能識別情報の一例)が、登録情報414に登録されているか否かを判断する。或いは、制御部404は、取得部402が取得した外部装置の情報に含まれるデバイスクラス「bDeviceClass」、及びサブクラス「bDeviceSubclass」の組合せ(機能識別情報の別の一例)が、登録情報414に登録されているか否かを判断しても良い。
取得部402が取得した外部装置の情報に含まれる機能識別情報が登録情報414に登録されている場合、制御部404は、処理をステップS808に移行させる。一方、取得部402が取得した外部装置の情報に含まれる機能識別情報が登録情報414に登録されていない場合、制御部404は、処理をステップS811に移行させる。
ステップS808に移行すると、制御部404は、例えば、図6に示すような登録情報414を参照して、取得部402が取得した外部装置の情報に含まれる機能識別情報に対応する第2のデバイスドライバ412を選択する。例えば、制御部404は、外部装置101から取得したデバイスクラスが「0xE0」、サブクラスが「0x01」、プロトコルが「0x01」である場合、図6に示すような登録情報414から、第2のデバイスドライバ412として「Drv.B」を選択する。
ステップS809において、制御部404は、例えば、図6に示すような登録情報414を参照して、取得部402が取得した外部装置の情報に含まれる機能識別情報に対応するアプリケーション413に、外部装置101が接続されたことを通知する。例えば、制御部404は、外部装置101から取得したデバイスクラスが「0xE0」、サブクラスが「0x01」、プロトコルが「0x01」である場合、アプリケーション「FooCom」に、対応する外部装置101が接続されたことを通知する。
なお、このとき、制御部404は、接続部401に接続した外部装置101に対応するアプリケーション413を起動させるものであっても良い。要するに、制御部404は、ステップS809において、接続部401に接続した外部装置101に対応するアプリケーション413を利用可能にするものであれば良い。
ステップS810において、通知を受け付けたアプリケーション413は、第2のデバイスドライバ412を利用して外部装置101の制御を開始する。例えば、アプリケーション「FooCom」は、第2のデバイスドライバ「Drv.B」を利用して外部装置101を制御して、所定の機能の提供を開始する。
一方、ステップS807からS811に移行すると、制御部404は、接続部401に接続した外部装置101に適用する第1のデバイスドライバ411を選択する。例えば、制御部404は、外部装置101から取得した「デバイスクラス」、「サブクラス」、「プロトコル」等の情報に基づいて、記憶部406に記憶した第1のデバイスドライバ411の中から、外部装置101に対応する第1のデバイスドライバ411を選択する。
ステップS812において、選択された第1のデバイスドライバ411は、外部装置101の制御を開始する。
上記の処理により、外部装置101を情報処理装置110に接続することにより、外部装置101を制御して所定の機能を提供するアプリケーション413を利用可能にして、所定の機能を提供することが容易になる。
また、第2の実施形態では、外部装置101から取得した装置識別情報が登録情報414に登録されていない場合でも、外部装置101から取得した機能識別情報に基づいて、第2のデバイスドライバ412を選択することができるようになる。
[第3の実施形態]
図9は、第3の実施形態に係る情報処理装置の処理の例を示すフローチャートである。この処理は、情報処理装置110に外部装置101が接続されたときに、情報処理装置110が実行する処理の別の一例を示している。なお、基本的な処理内容は、図7で説明した第1の実施形態に係る情報処理装置の処理と同様なので、ここでは、第1の実施形態と同様の処理に対する詳細な説明は省略する。
また、図9に示す処理の開始時点において、情報処理装置110の記憶部406には、1つ以上の第1のデバイスドライバ411、第2のデバイスドライバ412、及びアプリケーション413が記憶されているものとする。管理部403は、図6に示すような登録情報414を管理しており、登録情報414には、N個(Nは1以上の整数)の情報が登録されているものとする。
なお、以下の説明において、図6に示すような登録情報414の各行に登録されている情報を「登録情報」と呼ぶ。
ステップS901において、情報処理装置110の接続部401が、外部装置101が接続されたことを検知すると、ステップS902以降の処理が実行される。
ステップS902において、情報処理装置110の取得部402は、接続部401に接続した外部装置101から、外部装置の情報を取得する。例えば、取得部402は、USB機器である外部装置101から、図5に示すような外部装置の情報(デバイスディスクリプタ)を取得する。
ステップS903において、情報処理装置110の制御部404は、変数iを「1」に初期化して、登録情報414に登録されているi番目の「登録情報」に対して、ステップS904~S906の処理を実行する。
ステップS904において、制御部404は、取得部402が取得した外部装置の情報と、登録情報414に登録されているi番目の「登録情報」とを比較して、「ベンダID」、「プロダクトID」、「リリース番号」が合致している数(合致数)を確認する。例えば、「ベンダID」、「プロダクトID」、「リリース番号」がいずれも合致していれば、合致数は「3」となる。また、「ベンダID」、「プロダクトID」のみが合致していれば、合致数は「2」となる。
ステップS905において、制御部404は、取得部402が取得した外部装置の情報と、登録情報414に登録されているi番目の「登録情報」とを比較して、「デバイスクラス」、「サブクラス」、「プロトコル」の合致数を確認する。例えば、「デバイスクラス」、「サブクラス」、「プロトコル」がいずれも合致していれば、合致数は「3」となる。また、「デバイスクラス」、「サブクラス」のみが合致していれば、合致数は「2」となる。
ステップS906において、制御部404は、ステップS904、S905で確認した合致数の合計が最大であれば、i番目の「登録情報」を候補として保持する。例えば、制御部404は、ステップS904、S905で確認した合致数の合計が、保持している「登録情報」の合致数の合計より大きい(多い)場合、i番目の「登録情報」を候補として保持する。
ステップS907において、iの値がN未満である場合、制御部404は、処理をステップS908に移行させる。一方、iの値がN以上である場合、制御部404は、処理をステップS909に移行させる。
ステップS908において、制御部404は、変数iに1を加算して、登録情報414に登録されているi番目の「登録情報」に対して、ステップS904~S906の処理を実行する。
一方、ステップS907からS909に移行すると、制御部404は、ステップS906で保持した「登録情報」があるか否かを判断する。保持した「登録情報」がある場合、制御部404は、処理をステップS910に移行させる。一方、保持した「登録情報」がない場合、制御部404は、処理をステップS913に移行させる。
ステップS910に移行すると、制御部404は、保持した「登録情報」に含まれる第2のデバイスドライバ412を選択する。
ステップS911において、制御部404は、保持した「登録情報」に含まれるアプリケーション413に、外部装置101が接続されたことを通知する。
なお、このとき、制御部404は、接続部401に接続した外部装置101に対応するアプリケーション413を起動させるものであっても良い。要するに、制御部404は、ステップS911において、接続部401に接続した外部装置101に対応するアプリケーション413を利用可能にするものであれば良い。
ステップS912において、通知を受け付けたアプリケーション413は、第2のデバイスドライバ412を利用して外部装置101の制御を開始する。
一方、ステップS909からS913に移行すると、制御部404は、接続部401に接続した外部装置101に適用する第1のデバイスドライバ411を選択する。例えば、制御部404は、外部装置101から取得した「デバイスクラス」、「サブクラス」、「プロトコル」等の情報に基づいて、記憶部406に記憶した第1のデバイスドライバ411の中から、外部装置101に対応する第1のデバイスドライバ411を選択する。
ステップS914において、選択された第1のデバイスドライバ411は、外部装置101の制御を開始する。
上記の処理により、外部装置101を情報処理装置110に接続することにより、外部装置101を制御して所定の機能を提供するアプリケーション413を利用可能にして、所定の機能を提供することが容易になる。
また、第3の実施形態では、外部装置101から取得した装置識別情報、機能識別情報が、登録情報414に登録されている装置識別情報、機能識別情報と一致しない場合でも、より適切な第2のデバイスドライバ412を選択することができるようになる。
(登録処理について)
図10は、一実施形態に係る登録処理の例を示すフローチャートである。この処理は、情報処理装置110に、外部装置101に対応する第2のデバイスドライバ412、及び第2のデバイスドライバ412を利用して外部装置101を制御して、所定の機能を提供するアプリケーション413を登録する登録処理の例を示している。
ステップS1001において、情報処理装置110を管理する管理者(又は利用者)等は、情報処理装置110に所定の機能を追加するためのプログラムであるインストーラを、情報処理装置110上で実行する。
ステップS1002において、情報処理装置110の登録部405は、外部装置101を制御して所定の機能を提供するアプリケーション413と、外部装置101に対応する第2のデバイスドライバ412を、情報処理装置110にインストールする。これにより、外部装置101に対応する第2のデバイスドライバ412、及びアプリケーション413が、記憶部406に記憶される。
ステップS1003において、登録部405は、インストールしたアプリケーション413に対応する外部装置101の情報と、第2のデバイスドライバ412の情報とを、例えば、図6に示すような登録情報414に登録する。
上記の処理により、管理者等は、アプリケーション413、及びアプリケーション413に対応する第2のデバイスドライバ412を、情報処理装置110に追加することができる。
以上、本発明の各実施形態によれば、外部装置101を情報処理装置110に接続することにより、外部装置101を制御して所定の機能を提供するアプリケーションを利用可能にして、所定の機能を提供することが容易になる。
<補足>
上記で説明した各実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(digital signal processor)、FPGA(field programmable gate array)や従来の回路モジュール等のデバイスを含むものとする。
101 外部装置
110 情報処理装置
300 画像形成装置
401 接続部
402 取得部
403 管理部
404 制御部
405 登録部
406 記憶部
411 第1のデバイスドライバ
412 第2のデバイスドライバ
413 アプリケーション
414 登録情報
特開2013-152704号公報

Claims (9)

  1. 外部装置を接続する接続部を有する情報処理装置であって、
    前記外部装置の機能に対応した処理を行なう第1のデバイスドライバと、前記外部装置の機能に依存しない処理を行なう第2のデバイスドライバと、前記情報処理装置にインストールされ、前記第2のデバイスドライバを利用して前記外部装置を制御し、所定の機能を提供するアプリケーションとを記憶する記憶部と、
    前記情報処理装置にインストールされた前記アプリケーションが前記所定の機能を提供するために用いる前記外部装置の情報と、前記外部装置に対応する前記第2のデバイスドライバの情報と、前記第2のデバイスドライバに対応する前記アプリケーションの情報と、を記憶した登録情報を管理する管理部と、
    前記接続部に接続した前記外部装置から取得した前記外部装置の情報が、前記登録情報に登録されている場合、前記登録情報に基づいて、前記第2のデバイスドライバを選択し、前記第2のデバイスドライバに対応する前記アプリケーションを利用可能にする制御部と、
    を有し、
    前記制御部は、前記接続部に接続した前記外部装置から取得した前記外部装置の情報が、前記登録情報に登録されていない場合、前記接続部に接続された前記外部装置の機能に対応した処理を行なう前記第1のデバイスドライバを選択する、
    報処理装置。
  2. 前記情報処理装置に、前記第2のデバイスドライバと、前記第2のデバイスドライバを利用して前記所定の機能を提供する前記アプリケーションとをインストールし、前記登録情報に、前記アプリケーションが前記所定の機能を提供するために用いる前記外部装置の情報と、前記外部装置に対応する前記第2のデバイスドライバの情報とを登録する登録部を有する、請求項に記載の情報処理装置。
  3. 前記外部装置の情報は、前記外部装置を識別する装置識別情報を含み、
    前記制御部は、前記接続部に接続された前記外部装置の前記装置識別情報が、前記登録情報に登録されている場合、前記登録情報から、前記装置識別情報に対応する前記第2のデバイスドライバを選択する、請求項1又は2に記載の情報処理装置。
  4. 前記外部装置の情報は、前記外部装置の機能を識別する機能識別情報を含み、
    前記制御部は、前記接続部に接続された前記外部装置の前記装置識別情報が、前記登録情報に登録されておらず、かつ前記接続部に接続された前記外部装置の前記機能識別情報が前記登録情報に登録されている場合、前記登録情報から、前記機能識別情報に対応する前記第2のデバイスドライバを選択する、請求項に記載の情報処理装置。
  5. 前記外部装置の情報は、複数の情報を含み、
    前記制御部は、前記接続部に接続された前記外部装置が有する前記複数の情報と、前記登録情報に登録された前記複数の情報とが一致する数が最も多い前記第2のデバイスドライバを選択する、請求項1又は2に記載の情報処理装置。
  6. 前記管理部は、前記第2のデバイスドライバが前記情報処理装置にインストールされた順番を管理し、
    前記制御部は、前記接続部に接続された前記外部装置の情報に対応する前記第2のデバイスドライバが複数ある場合、後からインストールされた前記第2のデバイスドライバを優先的に選択する、請求項1乃至5のいずれか一項に記載の情報処理装置。
  7. 前記情報処理装置は、前記外部装置を接続することにより、前記所定の機能が利用可能になる画像形成装置である、請求項1乃至のいずれか一項に記載の情報処理装置。
  8. 外部装置を接続する接続部を有する情報処理装置が、
    前記外部装置の機能に対応した処理を行なう第1のデバイスドライバと、前記外部装置の機能に依存しない処理を行なう第2のデバイスドライバと、前記第2のデバイスドライバを利用して前記外部装置を制御し、所定の機能を提供するアプリケーションとを記憶部に記憶する処理と、
    前記情報処理装置にインストールされた前記アプリケーションが前記所定の機能を提供するために用いる前記外部装置の情報と、前記外部装置に対応する前記第2のデバイスドライバの情報と、前記第2のデバイスドライバに対応する前記アプリケーションの情報と、を記憶した登録情報を管理する処理と、
    前記接続部に接続した前記外部装置から取得した前記外部装置の情報が、前記登録情報に登録されている場合、前記登録情報に基づいて、前記第2のデバイスドライバを選択し、前記第2のデバイスドライバに対応する前記アプリケーションを利用可能にする制御処理と、
    を実行し、
    前記制御処理は、前記接続部に接続した前記外部装置から取得した前記外部装置の情報が、前記登録情報に登録されていない場合、前記接続部に接続された前記外部装置の機能に対応した処理を行なう前記第1のデバイスドライバを選択する、
    御方法。
  9. 外部装置を接続する接続部を有する情報処理装置を、
    前記外部装置の機能に対応した処理を行なう第1のデバイスドライバと、前記外部装置の機能に依存しない処理を行なう第2のデバイスドライバと、前記情報処理装置にインストールされ、前記第2のデバイスドライバを利用して前記外部装置を制御し、所定の機能を提供するアプリケーションとを記憶する記憶部、
    前記情報処理装置にインストールされた前記アプリケーションが前記所定の機能を提供するために用いる前記外部装置の情報と、前記外部装置に対応する前記第2のデバイスドライバの情報と、前記第2のデバイスドライバに対応する前記アプリケーションの情報と、を記憶した登録情報を管理する管理部、及び
    前記接続部に接続した前記外部装置から取得した前記外部装置の情報が、前記登録情報に登録されている場合、前記登録情報に基づいて、前記第2のデバイスドライバを選択し、前記第2のデバイスドライバに対応する前記アプリケーションを利用可能にする制御部、
    として機能させ
    前記制御部は、前記接続部に接続した前記外部装置から取得した前記外部装置の情報が、前記登録情報に登録されていない場合、前記接続部に接続された前記外部装置の機能に対応した処理を行なう前記第1のデバイスドライバを選択する、
    ログラム。
JP2020035658A 2020-03-03 2020-03-03 情報処理装置、制御方法、及びプログラム Active JP7439570B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020035658A JP7439570B2 (ja) 2020-03-03 2020-03-03 情報処理装置、制御方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020035658A JP7439570B2 (ja) 2020-03-03 2020-03-03 情報処理装置、制御方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2021140300A JP2021140300A (ja) 2021-09-16
JP7439570B2 true JP7439570B2 (ja) 2024-02-28

Family

ID=77668555

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020035658A Active JP7439570B2 (ja) 2020-03-03 2020-03-03 情報処理装置、制御方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP7439570B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010165128A (ja) 2009-01-14 2010-07-29 Canon Inc 画像形成装置及び制御方法及びプログラム
JP2013152704A (ja) 2011-12-28 2013-08-08 Ricoh Co Ltd 情報処理装置、情報処理装置の制御方法およびプログラム
JP2014120057A (ja) 2012-12-18 2014-06-30 Ricoh Co Ltd 情報処理装置、およびプログラム
JP2014203268A (ja) 2013-04-04 2014-10-27 キヤノン株式会社 情報処理装置及び制御方法
JP2018029223A (ja) 2016-08-15 2018-02-22 キヤノン株式会社 画像処理装置及びその制御方法、並びにプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010165128A (ja) 2009-01-14 2010-07-29 Canon Inc 画像形成装置及び制御方法及びプログラム
JP2013152704A (ja) 2011-12-28 2013-08-08 Ricoh Co Ltd 情報処理装置、情報処理装置の制御方法およびプログラム
JP2014120057A (ja) 2012-12-18 2014-06-30 Ricoh Co Ltd 情報処理装置、およびプログラム
JP2014203268A (ja) 2013-04-04 2014-10-27 キヤノン株式会社 情報処理装置及び制御方法
JP2018029223A (ja) 2016-08-15 2018-02-22 キヤノン株式会社 画像処理装置及びその制御方法、並びにプログラム

Also Published As

Publication number Publication date
JP2021140300A (ja) 2021-09-16

Similar Documents

Publication Publication Date Title
JP7293652B2 (ja) 情報処理システム、サーバ装置、情報処理方法、及びプログラム
US20200267268A1 (en) Image forming apparatus, display control method, and recording medium
US12137193B2 (en) Printing system for performing visible and invisible printing, terminal apparatus for the printing system, and non-transitory computer-executable medium for the printing system
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 (ja) 情報処理装置、制御方法、及びプログラム
JP7196600B2 (ja) 情報処理システム、サーバ装置、情報処理方法、及びプログラム
JP7147580B2 (ja) 情報処理システム、情報処理装置、パラメータ設定方法及びプログラム
JP5030178B2 (ja) 印刷システム、情報処理装置、印刷装置、印刷方法、制御方法およびプログラム
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
JP7559347B2 (ja) 情報処理システム、サーバ装置、情報処理方法、及びプログラム
JP7400495B2 (ja) 情報処理装置、情報処理システム、情報処理方法、及びプログラム
US11842146B2 (en) Information processing apparatus, system, and information processing method
US11310377B2 (en) Information processing terminal and information processing system
JP7434840B2 (ja) 情報処理システム、情報処理装置、情報処理方法及びプログラム
US11729340B2 (en) Information processing server, method, and recording medium
JP7358974B2 (ja) 情報端末、制御方法、及びプログラム
US20220070316A1 (en) Device, information processing system, and information processing apparatus
JP7243265B2 (ja) 情報処理装置、画像処理システム、及びプログラム
US20230100575A1 (en) Information processing apparatus, information processing method and non-transitory recording medium
US20240267477A1 (en) Information processing apparatus, information processing system, and non-transitory recording medium
EP4102815A1 (en) Information processing apparatus, information processing method, and information processing program
US20220006920A1 (en) Information processing apparatus, information processing system, and information processing method
US20210168130A1 (en) Information processing apparatus, information processing system, method of processing information, and non-transitory recording medium
JP2024017333A (ja) 情報処理システム、情報処理方法、およびプログラム

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