JP6366428B2 - 情報処理装置、情報処理方法およびプログラム - Google Patents

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

Info

Publication number
JP6366428B2
JP6366428B2 JP2014175931A JP2014175931A JP6366428B2 JP 6366428 B2 JP6366428 B2 JP 6366428B2 JP 2014175931 A JP2014175931 A JP 2014175931A JP 2014175931 A JP2014175931 A JP 2014175931A JP 6366428 B2 JP6366428 B2 JP 6366428B2
Authority
JP
Japan
Prior art keywords
application
information processing
information
processing apparatus
driver
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
JP2014175931A
Other languages
English (en)
Other versions
JP2016051304A (ja
Inventor
水城 早川
水城 早川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2014175931A priority Critical patent/JP6366428B2/ja
Priority to US14/832,121 priority patent/US9661172B2/en
Publication of JP2016051304A publication Critical patent/JP2016051304A/ja
Application granted granted Critical
Publication of JP6366428B2 publication Critical patent/JP6366428B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00912Arrangements for controlling a still picture apparatus or components thereof not otherwise provided for
    • H04N1/00938Software related arrangements, e.g. loading applications
    • H04N1/00941Interaction of different applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • H04N1/00236Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server using an image reading or reproducing device, e.g. a facsimile reader or printer, as a local input to or local output from a computer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00962Input arrangements for operating instructions or parameters, e.g. updating internal software
    • H04N1/00973Input arrangements for operating instructions or parameters, e.g. updating internal software from a remote device, e.g. receiving via the internet instructions input to a computer terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32502Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device in systems having a plurality of input or output devices
    • H04N1/32523Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device in systems having a plurality of input or output devices a plurality of output devices
    • H04N1/32529Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device in systems having a plurality of input or output devices a plurality of output devices of different type, e.g. internal and external devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32561Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device using a programmed control device, e.g. a microprocessor

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Stored Programmes (AREA)

Description

本発明は、外部に接続されたデバイスで発生したイベントに応じてアプリケーションプログラムを動作させる環境において、当該イベントとアプリケーションプログラムの対応づけを行うための情報処理装置および情報処理方法に関する。
PCなどの情報処理装置と画像読取装置のようなデバイスとを接続して構成される情報処理システムでは、デバイスを動作させるためのデバイスドライバとデバイスから得た情報を処理するためのアプリケーションプログラムの関連づけが必要となる。特に、画像読取装置の操作ボタンより発信されたイベントに従って適切なアプリケーションが起動され、画像データを取得する所謂擬似プッシュスキャンがある。このプッシュスキャンを行う場合、当該プッシュスキャンで用いられるアプリケーションがOS上のデバイス管理レジストリにアプリケーション情報として登録されていることがある。
特許文献1には、デバイスドライバのインストール時に、当該デバイスドライバのドライバ情報に基づいてアプリケーションの登録を行うことが記載されている。
特開2011−13809号公報
しかしながら、特許文献1のように、デバイスドライバのインストール時にデバイスドライバの情報に基づいてアプリケーションの登録を行う構成では、デバイスドライバに対してアプリケーションが一意に決められてしまう場合がある。そのため、新たなバージョンのアプリケーションがリリースされた際、従前のデバイスドライバと新たなアプリケーションの対応付けができないことがある。するとデバイスドライバも新たにリリースする必要が生じることがある。この際、例えば上記のデバイスドライバが将来の機種も含む複数機種のデバイスに共通するデバイスドライバであった場合でも、新たなアプリケーションと対応付けるために、新たなデバイスドライバをリリースしなくてはならないことがある。そのため、将来の機種も考慮してデバイスドライバが作られているにも関わらず、そのメリットを発揮することができない。
本発明は、上記問題点を解決するために成されたものである。よってその目的とするところは、デバイスを動作させるアプリケーションの登録を容易に行うことが可能な情報処理装置を提供することである。
そのために本発明は、外部に接続されたデバイスをアプリケーションを用いて動作させることが可能な情報処理装置において、デバイスの種類に関する情報とアプリケーションの関連付け情報において前記情報処理装置に接続されたデバイスの種類に対応するアプリケーションを、当該デバイスを動作させるアプリケーションとして登録する登録手段と、前記関連付け情報を更新する更新手段と、を備え、前記更新手段は、前記デバイスに対応するデバイスドライバに係らず、前記関連付け情報を更新することが可能であることを特徴とする。
本発明によれば、デバイスを動作させるアプリケーションの登録を容易に行うことができる。
デバイスとして使用可能な画像読取装置の制御構成を示すブロック図である。 情報処理装置における制御の構成を示すブロック図である。 画像読取装置の制御に関わる情報処理装置のソフトウェア構成図である。 OSによる情報の管理状態を説明するための模式図である。 疑似プッシュスキャンが発生した場合の工程を示すフローチャートである。 情報処理装置出荷時のソフトウェアインストール処理のフローチャートである。 デバイスIDとアプリケーションの関連づけるテーブル例を示す図である。 実施例1においてPnPが発生した際の工程を説明するフローチャートである。 デバイス管理レジストリにおけるデバイス情報の管理状態を示す図である。 デバイス管理レジストリにアプリケーション情報が登録された状態図である。 ソフトウェアのインストール処理工程を説明するためのフローチャートである。 アプリケーション情報が登録されたデバイス管理レジストリを示す図である。 実施例2においてPnPが発生した際の工程を説明するフローチャートである。
以下、添付図面を参照して本発明の実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
(実施例1)
図1は、本発明のデバイスとして使用可能な画像読取装置100の制御の構成を示すブロック図である。本実施例において、画像読取装置100は、プリンタ機能、スキャナ機能を備えており、ネットワークを経由してそれぞれの機能サービスを提供することができる。
プリンタ部101は、画像読取装置100におけるプリンタ機能を実現し、外部から受信したプリントデータなどを、インクジェット方式や電子写真方式などによって印刷用紙にプリントする。スキャナ部102は、画像読取装置100におけるスキャナ機能を実現し、原稿台にセットされた原稿を光学式に読み取って電子データに変換し、指定されたファイル形式に変換してネットワーク経由で外部装置に送信する。
中央演算装置(CPU)105は、画像読み取り装置100全体を制御する。中央演算装置105は、ROMなどのプログラムメモリ106に格納されているプログラムを読み出し、これに従って各種処理を実行する。この際RAMなどのワークメモリ107は、バッファリングなどのワーキングエリアとして使用される。
操作部109は、情報をユーザに提供したり、ユーザからの指示を受信したりするためのユーザインタフェースである。擬似プッシュスキャンを行う場合、ユーザは操作部109より指示入力する。
ネットワーク通信部110は、中央演算装置105の指示の下、ネットワーク接続部111を介してネットワーク通信を行う。ネットワーク通信部110は、有線LANと無線LANの少なくともいずれかに対応する。有線LANに対応する場合、ネットワーク接続部111は、有線LANのケーブルを画像読取装置100に接続するためのコネクタとなる。無線LANに対応する場合、ネットワーク接続部111はアンテナとなる。フラッシュメモリ112は、ネットワーク通信部110が受信したパケットの送信元情報を格納する。以上説明した各機能部は信号線113により接続されている。
図2は、本発明に使用可能な情報処理装置200における制御の構成を示すブロック図である。
CPU201は、情報処理装置200全体を制御する。アプリケーションプログラムやOS(Operation System)などは、ディスク装置202にインストールされ、CPU201はディスク装置202にインストールされたアプリケーションやOSを読み出して各種処理を実行する。外部ディスク読取装置203は、CD−ROMのような外部に接続された記録媒体の内容を読み出し、CPU201に提供する。メモリ204はRAMなどで構成され、CPU201が必要に応じてデータを一時的に格納したり、バッファリングを行ったりするために利用する。以下、図5、6、8、11および13で説明するフローチャートは、ディスク装置202にインストールされているOS環境下において、CPU201がメモリ204を利用しながら実行するものである。なお、ディスク装置には各種ファイルなども格納されている。
更にCPU201は、LCDなどの表示部205を介してユーザに情報を提供するとともに、キーボードやマウスのような操作部206を介してユーザからの指示を受けつける。
ネットワーク通信部207は、CPU201の指示の下、ネットワーク接続部208を介してネットワーク通信を行う。図1で説明した画像読取装置100と同様、ネットワーク通信部207は、有線LANと無線LANの少なくともいずれかに対応する。USB通信部210は、CPU201の指示の下、コネクタなどのUSB接続部211を介してUSB通信を行う。以上説明した各機能部は信号線209により接続されている。
図3は、情報処理装置200における、画像読取装置100の制御に関わるソフトウェア構成を説明するためのブロック図である。本実施例のアプリケーションソフトウェア301は、画像読取装置100に読取動作を行わせたり読み取った画像を表示させたりする際にユーザによって直接利用されるソフトウェアである。ユーザは、アプリケーションソフトウェア301を介して、画像読取装置100におけるスキャン方法、カラー設定、解像度設定等を指定し、画像の読取動作開始を指示することが出来る。アプリケーションソフトウェア301は、TWAINやWIA(MicrosoftがWindowsMe以降に採用しているOS標準の画像入力API)、ベンダー独自の規格に基づくアプリケーションプログラミングインターフェース(API)を使用している。アプリケーションソフトウェア301を介してのユーザからの設定や指示は、ドライバソフト302に提供される。アプリケーションソフトウェア301は、画像読取装置100の操作部109の機能の設定や各種フォーマットでファイルを保存する機能も有している。
ドライバソフト302は、アプリケーションソフトウェア301から受け取った指示や設定に基づいてデバイスドライバを起動させたり、画像読取装置100から取得した画像をアプリケーションソフトウェア301に提供したりする。ドライバソフト302は、独自のGUI(グラフィック・ユーザ・インタフェース)を有しており、ユーザはGUIを介して様々な設定を行うことが出来るようになっている。具体的には、例えば、プレビュー画像に対するクロップエリアの指定、解像度の設定、読み取りモード(2値、8ビット多値、24ビット多値等)の設定、ガンマ補正等の色調整の設定等を行うことが出来る。
デバイスドライバ303は、画像読取装置100に搭載されたファームウェアを制御するための制御コマンドを画像読取装置100に送り、画像を取得する。ファームウェアが搭載されていない画像読取装置の場合は、画像読取装置100の各モジュールの制御レジスタにアクセスする。そして、シェーディング制御、解像度やクロップ範囲に応じたモータスピードの設定、ドライバソフト302から受け取ったガンマ補正データの提供等を行い、画像読取装置100が読み取り動作を行う際のフロー制御を行う。
ポートドライバ304は、パラレル、USB、IEEE1394、SCSI、LAN、Wireless LAN等のインタフェースに応じて画像読取装置100との通信制御を行う。
オペレーティングシステム305は、情報処理装置200のオペレーティングシステム(OS)であり、例えばWindows(登録商標)とすることが出来る。イベント検知サービス306は、OS305のバックグラウンドで動作することにより、ユーザとのやり取り無しで特定のサービスを提供するソフトウェアである。イベント検知サービス306の詳細については後述する。ボタンモニタ307は、例えば擬似プッシュスキャンの際に、画像読取装置100で発生したイベント情報を受け取り、適切なアプリケーションに画像読取装置100のデバイスIDとイベント情報を送信するプログラムである。
図4は、本発明に特徴的な情報のOS305による管理状態を説明するための模式図である。ドライバストア400は、デバイスドライバ303を一時的に格納する領域である。OS305を出荷する時にドライバストア400にデバイスドライバ303を格納しておくことにより、情報処理装置200に画像読取装置100を接続した時に、ドライバストア400から適切なデバイスドライバを読み出し、インストールすることができる。すなわち、デバイスドライバのためのインストーラを別途用意することなく、デバイスドライバ303をインストールすることができる。また、OS305を出荷する時だけでなく、情報処理装置にデバイスドライバをOSとともにインストールする場合についても、上記と同様の仕組みを提供することができる。
PnP検知プログラム登録領域401は、プラグ・アンド・プレイ(PnP)が発生した時に実行するプログラムが登録されている領域である。基本的には、OSが所持するドライバインストーラが格納されており、PnP発生時に当該ドライバインストーラが起動される。ドライバインストーラは、PnPが発生した画像読取装置100のデバイスIDに基づいて、ドライバストア400に格納されている1つ以上のデバイスドライバの中から適応する1つを探索し、これをインストールする。
PnP検知プログラム登録領域401には、OSが用意したAPI(RegisterDeviceNotification)を利用することにより、他のアプリケーションを登録することもできる。本実施例ではUSBなどのPnPを一例として取り上げるが、デバイスの接続をOSが検知する方法であれば、どの様な方式であっても対応可能である。また、ネットワーク接続で発生するUniversal Plug And Play(UPnP)や、近距離無線通信(NFC,Near Field Communication)を利用したペアリング操作による方式であっても同様に実施可能である。
デバイス管理レジストリ402は、デバイスドライバがインストールされたデバイス(画像読取装置100)を管理するための情報が格納される領域である。デバイスドライバがインストールされると、デバイスドライバが動作するのに必要な情報や、アプリケーションがデバイスドライバを使用するときに必要な情報がデバイス管理レジストリに格納されている。
図5は、疑似プッシュスキャンが発生した際における、画像読取装置100の中央演算装置105および情報処理装置200のCPU201が実行する工程を説明するためのフローチャートである。
ユーザが画像読取装置100の操作部109を介して疑似プッシュスキャンコマンドを発信させることにより、本処理は開始される。本処理が開始されると、画像読取装置100の中央演算装置105は、指示された情報と画像読取装置100のデバイスIDとを、接続されている情報処理装置200にイベント情報として発信する(S501)。
イベント情報を受信した情報処理装置200のCPU201は、デバイス管理レジストリ402に登録されているアプリケーションの中から、受信したデバイスIDに対応するアプリケーションを、ボタンモニタ307に捜索させる(S502)。その後、S503において、デバイスIDに対応するアプリケーションが見つかったか否かを判断する。デバイスIDに対応するアプリケーションが見つからないと判断した場合、本処理は終了する。
一方、デバイスIDに対応するアプリケーションが見つかったと判断した場合、S504に進み、アプリケーションの引数にデバイスIDとイベント情報を付加して当該アプリケーションを起動する。そして、S505にて、受信したイベント情報とデバイスIDに従って画像読取装置100に読み取り動作を実行させる。以上で本処理が終了する。
このように、疑似プッシュスキャンでは、画像読取装置100の操作部109からのユーザ入力に伴って、情報処理装置200にインストールされ画像読取装置に関連付けられたアプリケーションが起動し、所定の読取処理が行われるようになっている。読取動作終了後、アプリケーションは、受け取った画像を保存するだけでなく、保存した画像に対し処理を施したり送信したりすることが出来る。具体的には、取得した画像に対してOCR処理を行ったり、ソーシャル・ネットワーキング・サービス(SNS)やクラウドストレージサービスなどの外部Webサービスに画像をアップロードしたりすることができる。
図6は、情報処理装置200の出荷時における、ソフトウェアのインストール処理の工程を説明するためのフローチャートである。本処理は、作業者がインストーラの起動を指示することによって開始され、情報処理装置200のCPU201がインストーラに従って実行する。
本処理が開始されると、CPU201は、S601において、デバイスドライバをドライバストアに格納する。続くS602において、CPU201は、アプリケーションソフトウェアをインストールする。
S603において、CPU201は、イベント検知サービス306がインストールされているか否かを判断する。インストールされていると判断された場合は、S606へジャンプする。一方、インストールされていないと判断された場合は、S604に進み、イベント検知サービスをインストールする。
続くS605にて、CPU201は、PnPイベントが発生した際にS604でインストールされたイベント検知サービスが呼び出されるように、OSに登録する。このような登録は、例えば、RegisterDeviceNotificationというAPIを使用すること実現することができる。イベント検知サービス306のインストールおよびOSへの登録により、以降OS305が起動される際にはイベント検知サービス306も起動されるようになる。また、OSが起動している間にPnPイベントが発生すると、PnPイベントが発生した旨がイベント検知サービスに通知されるようになる。
S606において、CPU201は、画像読取装置100の種類を認識するためのデバイスIDとアプリケーションを関連付ける情報を、S604でインストールされたイベント検知サービスに登録する。
図7は、イベント検知サービスにおいて、デバイスIDとアプリケーションを関連づけるためのテーブル例を示す図である。複数のデバイスのそれぞれに対し、固有のデバイスIDと対応可能なアプリケーションが、ペアとして登録されている。S606では、図7に示すテーブルが登録され、デバイスが接続されてPnPイベントが発生した際には、図7において当該デバイスのデバイスIDに対応するアプリケーションがデバイス管理レジストリ402に登録される。なお、この登録処理については図8を用いて後述する。
従って、図7に示したテーブルにおいてアプリケーションを更新することで、PnPが発生したときにデバイス管理レジストリ402に登録されるアプリケーションを更新することができる。即ち、図7のテーブルの更新により、疑似プッシュスキャンにおいて起動するアプリケーションとして、新たなアプリケーションを登録することができる。
なお、図7では、デバイスの機種とアプリケーションをペアとして登録する状態を示したが、デバイスに対応可能な要件を満たすアプリケーションが複数存在するような場合には、当該要件に基づいて関連付けを行うこともできる。この場合、S606では、デバイスドライバ側にデバイスが対応可能なアプリケーションの要件を記載すれば良い。後に、デバイス管理レジストリにアプリケーションを登録する場合には、デバイスドライバに問い合わせることによって関連付けを確認することが出来る。
S607にてイベント検知サービスの登録が完了すると本処理は終了する。本処理が実行されている間、画像読取装置100と情報処理装置200とは、接続されている必要は無い。デバイスドライバがプリインストールされた情報処理装置を出荷する場合は、この状態で出荷することになる。
図8は、図6の処理が施された情報処理装置200でPnPが発生した際、画像読取装置100の中央演算装置105および情報処理装置200のCPU201が実行する工程を説明するフローチャートである。このフローチャートはイベント検知サービス306により実行される。本工程が実行される際、情報処理装置200は起動され、図6のS604でインストールされたイベント検知サービスも機能可能になっている。本処理は、ユーザが情報処理装置200に画像読取装置100を接続することによって開始される。
本処理が開始されると、まずS701にて、画像読取装置100の中央演算装置105は、画像読取装置100のデバイスIDとともにPnPイベント情報を発信する。
PnPイベント情報を受信した情報処理装置200のCPU201は、OS環境下において、以下の処理を実行する。まず、S702にて、PnPイベントが発生した時に通知するべきプログラムを探索し、PnPイベントが発生した旨を通知する。本実施例の場合は、イベント検知サービスが登録されているので、これに通知される。
続くS703において、PnPイベント情報に含まれているデバイスIDから、対象となる画像読取装置のデバイスドライバが既にインストールされているか否かを判定する。デバイスドライバがインストールされている場合は、改めてインストールする必要が無いため、S706へジャンプする。一方、デバイスドライバがインストールされていないと判断された場合は、S704に進み、ドライバストア400の中から該当するデバイスドライバを選出し、インストールを実行する。インストールが完了すると、S705に進み、デバイス管理レジストリ402に画像読取装置の情報(デバイス情報)を登録する。
図9は、デバイス管理レジストリ402におけるデバイス情報の管理状態を示す図である。デバイス管理レジストリはツリー構造になっており、図ではアドレス“0000”に新たなデバイス情報が登録された状態を示している。デバイス情報には、デバイスを一意に特定するデバイスIDや、擬似プッシュスキャン時に押下されるボタンに関連付けるアプリケーションが登録される領域(PushButtonPushed1、PushButtonPushed2)が用意されている。新たなデバイスドライバがインストールされた際、ボタンに関連付けるアプリケーションは未だ登録されておらず、当該情報を登録すべき領域は空になっている。図9では、新たにインストールされたデバイスドライバのデバイス情報をアドレス“0000”に登録する場合を示したが、デバイス管理レジストリ402には情報処理装置200が対応可能なデバイスドライバを複数登録することが可能である。よって、このようなアドレスは、新たにデバイスドライバがインストールされた順番に応じて異なるようになっている。また、図9では、ボタンに関連付けるアプリケーションを登録する領域を2つ用意しているが、このような領域の数は1つ以上であれば、特に限定されるものではない。
デバイス情報の登録が完了すると、S706に進む。S706においてCPU201は、イベント検知サービスに、図7に示したテーブルにおいて上記のデバイスIDに対応するアプリケーションプログラムがデバイス管理レジストリ402に登録されているか否かを判断させる。当該アプリケーションプログラムが登録されている場合は、本処理を終了する。
一方、上記のアプリケーションプログラムが登録されていないと判断された場合は、S707に進み、当該アプリケーションプログラムが既にインストールされているか否かを判断する。アプリケーションプログラムが未だインストールされていないと判断した場合は、S708に進み、アプリケーションのインストール処理を行う。例えば、アプリストアが提供する複数のアプリケーションの中に該当するものがあれば、これをインストールすれば良い。また、ベンダーが用意するアプリケーションのダウンロードサイトがあれば、当該サイトから該当するアプリケーションをダウンロードしても良い。更に、インストールを促すメッセージを表示することにより、ユーザにインストール作業を行わせる形態としても良い。
続くS709において、CPU201は、イベント検知サービスに、登録されていたデバイスIDとアプリケーション情報をもとに、デバイス管理レジストリ402にアプリケーション情報を登録させる。例えば、再度図7を参照するに、画像読取装置のデバイスIDが”MX0000 series”の場合、図7で当該デバイスIDに対応するアプリケーションを登録情報から探索し、デバイス管理レジストリ402に登録する。図10は、図9で説明したデバイス管理レジストリ402に、アプリケーション情報が登録された状態を示す図である。アドレス“0000”の個々のボタンに対応づけられた領域に、アプリケーションが追加登録されている。このような登録は、例えば、RegisterEventCallbackProgramというAPIを利用することで実現可能である。以上で、本処理が終了する。
以上説明した本実施例によれば、情報処理装置の出荷時にイベント検知サービスプログラムをインストールしておくことにより、その後のデバイスドライバのインストールとアプリケーションの登録を分離して管理することが出来る。つまり、デバイスドライバのインストールの状態に係らず、デバイス管理情報とアプリケーションとの関連付けを、デバイス管理レジストリに対し登録したり更新したりすることが出来る。
また図7に示したように、PnPイベントを発生させたデバイスのデバイスIDに対応するアプリケーションプログラムが、疑似プッシュスキャンにおいて起動するアプリケーションプログラムとして指定されている。そのため、例えば新たなアプリケーションがリリースされた場合に、図7に示したテーブルにおいて指定されるアプリケーションを更新することで、当該新たなアプリケーションをPnPによりデバイス管理レジストリに自動的に登録することができる。
なお、図8のフローチャートでは、S708においてアプリケーションをインストールする工程を設けたが、本工程は必ずしも必要ではない。アプリケーションがインストールされていない場合には、そのままエラーで終了しても構わない。この場合は、該当するアプリケーションが別途ユーザによってインストールされた後に、改めてPnPが発生したタイミングで、上記フローチャートが実行されれば良い。あるいは、アプリケーションのインストールに伴って、疑似的にPnPを発生させたり、イベント検知サービスに通知を行ったりして、本処理を実行させても良い。
(実施例2)
実施例1では、イベント検知サービスをOS出荷時にインストーラが用意する形態とした。これに対し、本実施例では、イベント検知サービスをOSの機能として組み込んだ場合の処理にいて説明する。本実施例においても、図1で説明した画像読取装置100と図2で説明した情報処理装置200を使用するものとする。
図11は、情報処理装置200の出荷時における、ソフトウェアのインストール処理の工程を説明するためのフローチャートである。本処理は、作業者がインストーラの起動を指示することによって開始され、情報処理装置200のCPU201がインストーラに従って実行する。
本処理が開始されると、CPU201は、S801において、デバイスドライバをドライバストアに格納する。続くS802において、CPU201は、アプリケーションソフトウェアをインストールする。
その後、S804において、CPU201は、画像読取装置100を認識するためのデバイスIDとアプリケーションを関連付ける情報(例えば図7に示すテーブル)を、OSに登録する。
以上で、本処理が終了する。本処理が実行されている間、画像読取装置100と情報処理装置200は、接続されている必要は無い。デバイスドライバがプリインストールされた情報処理装置を出荷する場合は、この状態で出荷することになる。
本実施例では、イベント検知サービスがOSに組み込まれているため、インストーラがイベント検知サービスを特別にインストールする必要はない。本実施例のイベント検知サービスは、OSに付属するサービスとして実行されるものとする。
図13は、図11の処理が施された情報処理装置200でPnPが発生した際、画像読取装置100の中央演算装置105および情報処理装置200のCPU201が実行する工程を説明するフローチャートである。
本処理が開始されると、まずS901にて、画像読取装置100の中央演算装置105は、画像読取装置100のデバイスIDとともにPnPイベント情報を発信する。
PnPイベント情報を受信した情報処理装置200のCPU201は、OS環境下において、以下の処理を実行する。まず、S902において、PnPイベント情報に含まれているデバイスIDから、対象となる画像読取装置のデバイスドライバが既にインストールされているか否かを判定する。デバイスドライバがインストールされている場合は、改めてインストールする必要が無いため、S905へジャンプする。一方、デバイスドライバがインストールされていないと判断された場合は、S903に進み、ドライバストア400の中から該当するデバイスドライバを選出し、インストールを実行する。インストールが完了すると、S904に進み、デバイス管理レジストリ402に画像読取装置の情報(デバイス情報)を登録する。
デバイス情報の登録が完了すると、S905に進み、CPU201は、イベント検知サービスに、アプリケーションプログラムがデバイス管理レジストリに登録されているか否かを判断させる。アプリケーションプログラムが登録されている場合は、本処理を終了する。
一方、アプリケーションプログラムが登録されていないと判断した場合は、S906に進み、登録されていたデバイスIDとアプリケーション情報をもとに、イベント検知サービスに、デバイス管理レジストリ402にアプリケーション情報を登録させる。例えば、再度図7を参照するに、画像読取装置のデバイスIDが”MX0000 series”の場合、図7で当該デバイスIDに対応するアプリケーションを登録情報から探索し、デバイス管理レジストリ402に登録する。以上で、本処理が終了する。
図12は、図13の処理により、アプリケーション情報が登録された状態のデバイス管理レジストリ402を示す図である。OSが管理するレジストリ領域に、デバイスIDとアプリケーション情報が互いに対応づけられて登録されている。このような登録は、OS側にRegisterEventCallbackProgramというAPIを利用することで実現可能である。なお、図12では、デバイスの機種とアプリケーションを1対1のペアとして登録する状態を示したが、デバイスに対応可能な要件を満たすアプリケーションが複数存在するような場合には、当該要件に基づいて関連付けを行うこともできる。この場合、デバイスドライバ側にデバイスが対応可能なアプリケーションの要件を記載しておき、S804では、CPU201がデバイスドライバに問い合わせることによって、デバイス管理レジストリにアプリケーションを登録する形態とすれば良い。
以上、説明した本実施例によれば、情報処理装置の出荷時にサービスプログラムをOS内に組み込んでおくことにより、その後のデバイスドライバのインストールとアプリケーションの登録処理を分離して管理することが可能となる。つまり、デバイスドライバのインストールの状態に係らず、デバイス管理情報とアプリケーションとの関連付けを、デバイス管理レジストリに対し登録したり更新したりすることが出来る。
そして、上記2つの実施例によれば、情報処理装置200に対するデバイスドライバのプリインストール処理を完結させておくことにより、その後PnPが発生したタイミングでアプリケーション登録処理を完了することが出来る。
このような形態であれば、インストール処理が完了した後であっても、別のアプリケーションのインストーラによってデバイスIDとアプリケーション情報の関連づけを、イベント検知サービスにて書き換えることが出来る。すなわち、古いアプリケーション情報が登録してあるデバイス管理レジストリに新たにリリースされたアプリケーション情報を上書き登録することが出来る。
また、機種共通ドライバであるクラスドライバを出荷時にプリインストールする場合であっても、従来のように全ての機種デバイスに対応づけてアプリケーション登録を行う必要は無い。対象とする機種のデバイスIDに対応づけて、その時点で最新のアプリケーション情報をイベント検知サービスを介してイベント検知サービスに登録しておけば良い。
更に、上記実施例によれば、既存のデバイスドライバに対して何ら追加的処理を行っていないため、OS標準のデバイスドライバを使用する場合であっても、上述した処理と同様のアプリケーション登録を完了させることが出来る。
なお、以上では、画像読取装置の擬似プッシュスキャンを前提に説明を行ってきたが、本発明はこのような構成に限定されるものではない。情報処理装置に接続されるデバイスとしてはデジタルカメラやカメラ付携帯などでも良く、これらが撮影した画像を情報処理装置に送信する形態であっても同様の効果を得ることが出来る。デジタルカメラやカメラ付携帯などで発生したイベントを情報処理装置で受信し、アプリケーションを起動して転送する場合においてもアプリケーションの登録処理は必要となる。このような場合であっても、上述した疑似プッシュスキャンと同様に、登録処理を行うことが出来る。
本発明の目的は上記実施例の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体をシステムあるいは装置に供給し、そのシステムあるいは装置のコンピュータが上記プログラムコードを読み出して実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することとなり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。ここで、プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
また、コンピュータが読み出したプログラムコードの指示に基づき、コンピュータ上で稼動しているOSなどが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれる。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれることによって、上記一連の処理が実行される場合も本発明に含まれる。この場合には、
書き込まれたプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現されることになる。
100 画像読取装置
200 情報処理装置
201 CPU
301 アプリケーションソフトウェア
303 デバイスドライバ
306 イベント検知サービスプログラム
402 デバイス管理レジストリ

Claims (10)

  1. 外部に接続されたデバイスをアプリケーションを用いて動作させることが可能な情報処理装置において、
    デバイスの種類に関する情報とアプリケーションの関連付け情報において前記情報処理装置に接続されたデバイスの種類に対応するアプリケーションを、当該デバイスを動作させるアプリケーションとして登録する登録手段と、
    前記関連付け情報を更新する更新手段と、
    を備え、
    前記更新手段は、前記デバイスに対応するデバイスドライバに係らず、前記関連付け情報を更新することが可能であることを特徴とする情報処理装置。
  2. 前記登録手段は、前記デバイスの接続が検知された際に、前記登録を行うことを特徴とする請求項1に記載の情報処理装置。
  3. 前記デバイスの種類に関する情報に基づいて、前記アプリケーションが前記デバイスを動作させるためのデバイスドライバをインストールするインストール手段を有することを特徴とする請求項1または2に記載の情報処理装置。
  4. 前記デバイスドライバを格納するドライバストアを更に備え、前記インストール手段は、前記デバイスの接続が検知された際に、前記デバイスの種類に関する情報に基づいて、前記ドライバストアから前記デバイスドライバを読み出してインストールすることを特徴とする請求項3に記載の情報処理装置。
  5. 前記登録手段のためのソフトウェアは、前記情報処理装置のOSとは別に前記情報処理装置にインストールされていることを特徴とする請求項1ないし4のいずれか1項に記載の情報処理装置。
  6. 前記登録手段のためのソフトウェアは、前記情報処理装置のOSと共に当該OSに組み込まれるように前記情報処理装置にインストールされていることを特徴とする請求項1ないし4のいずれか1項に記載の情報処理装置。
  7. 前記デバイスが接続された状態において前記デバイスでイベントが発生した場合、前記アプリケーションを用いて前記デバイスを動作させることを特徴とする請求項1ないし6のいずれか1項に記載の情報処理装置。
  8. 前記デバイスは、画像をスキャンするための画像読取装置であることを特徴とする請求項1ないし7のいずれか1項に記載の情報処理装置。
  9. 外部に接続されたデバイスをアプリケーションを用いて動作させることが可能な情報処理装置の情報処理方法であって、
    デバイスの種類に関する情報とアプリケーションの関連付け情報において前記情報処理装置に接続されたデバイスの種類に対応するアプリケーションを、当該デバイスを動作させるアプリケーションとして登録するための登録工程と、
    前記関連付け情報を更新する更新工程と、
    を有し、
    前記更新工程では、前記デバイスに対応するデバイスドライバに係らず、前記関連付け情報を更新することが可能であることを特徴とする情報処理方法。
  10. 請求項9に記載の情報処理方法を実行するためのプログラム。
JP2014175931A 2014-08-29 2014-08-29 情報処理装置、情報処理方法およびプログラム Active JP6366428B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014175931A JP6366428B2 (ja) 2014-08-29 2014-08-29 情報処理装置、情報処理方法およびプログラム
US14/832,121 US9661172B2 (en) 2014-08-29 2015-08-21 Information processing apparatus, information processing method and storage medium with separate device driver installation and application registration processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014175931A JP6366428B2 (ja) 2014-08-29 2014-08-29 情報処理装置、情報処理方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2016051304A JP2016051304A (ja) 2016-04-11
JP6366428B2 true JP6366428B2 (ja) 2018-08-01

Family

ID=55404002

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014175931A Active JP6366428B2 (ja) 2014-08-29 2014-08-29 情報処理装置、情報処理方法およびプログラム

Country Status (2)

Country Link
US (1) US9661172B2 (ja)
JP (1) JP6366428B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107643897B (zh) * 2016-07-20 2021-04-16 阿里巴巴集团控股有限公司 后端驱动程序的更新方法及装置
JP6765977B2 (ja) 2017-01-31 2020-10-07 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
JP7328405B2 (ja) * 2018-06-29 2023-08-16 キヤノン株式会社 情報処理装置、情報処理装置の制御方法及び印刷設定アプリケーション

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7165109B2 (en) * 2001-01-12 2007-01-16 Microsoft Corporation Method and system to access software pertinent to an electronic peripheral device based on an address stored in a peripheral device
JP5163950B2 (ja) * 2008-07-11 2013-03-13 株式会社リコー 情報処理装置、クラスモジュール起動制御方法及びプログラム
JP5294892B2 (ja) * 2009-01-14 2013-09-18 キヤノン株式会社 画像形成装置、装置、制御方法、及びプログラム
JP4612912B1 (ja) * 2009-06-30 2011-01-12 キヤノン株式会社 情報処理装置、情報処理システムの制御方法およびプログラム

Also Published As

Publication number Publication date
JP2016051304A (ja) 2016-04-11
US20160065776A1 (en) 2016-03-03
US9661172B2 (en) 2017-05-23

Similar Documents

Publication Publication Date Title
US10445032B2 (en) Management server communicating with image processing apparatus and terminal device
US8988722B2 (en) Cooperative processing system and method for acquiring device attributes using QR codes and interface connection function
WO2011001658A1 (en) Information processing apparatus, control method, and storage medium
US20200267265A1 (en) Non-transitory computer-readable medium storing output instructions to control portable terminal and portable terminal
JP2008033415A (ja) 画像形成装置、携帯端末、データ処理システム、データ処理方法
KR101219432B1 (ko) 화상형성장치 및 그 펌웨어 이력정보 제공방법
JP6366428B2 (ja) 情報処理装置、情報処理方法およびプログラム
US9407785B2 (en) Processing apparatus, processing method and computer-readable storage medium
JP2018005295A (ja) プログラム及び携帯端末
EP3413599A1 (en) Information processing apparatus, communication system, and communication method
JP2017174233A (ja) 情報処理装置、方法およびプログラム
US9681025B2 (en) Non-transitory computer readable recording medium configured to cause a computer of an information processing apparatus to execute a method, the information processing apparatus capable of controlling a peripheral device that performs at least one of an image input operation and an image output operation based on an ICC profile, and corresponding control method
JP6601540B2 (ja) 連携処理システム及び連携処理方法
US10602011B2 (en) Image forming apparatus, information processing method, and program
JP6729240B2 (ja) プログラム
US20180364957A1 (en) Image forming apparatus and control method of image forming apparatus
US10477039B2 (en) Non-transitory computer-readable medium storing output instructions to control portable terminal and portable terminal
JP2015121887A (ja) 情報処理装置及びその制御方法、およびプログラム
JP2015166920A (ja) プログラム、情報処理端末、印刷システム、及び情報処理方法
US9913078B2 (en) Information processing system, information processing apparatus, data acquisition method, and program
JP6204281B2 (ja) 画像形成装置、画像形成方法及び画像形成プログラム
JP2016099666A (ja) 情報処理装置、情報処理方法およびプログラム
US11392332B2 (en) Non-transitory storage medium storing plurality of instructions readable by computer of information processing apparatus and information processing apparatus
US10681243B2 (en) Scan system, method, and program product for generating a file with embedded useable information from a scanned image depending on scanner information
JP2017092900A (ja) 外部機器、機器、情報処理システム、情報処理方法、情報処理プログラム、及び記憶媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170829

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180427

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: 20180605

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180703

R151 Written notification of patent or utility model registration

Ref document number: 6366428

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151