JP2010020609A - 情報処理装置、クラスモジュール起動制御方法及びプログラム - Google Patents
情報処理装置、クラスモジュール起動制御方法及びプログラム Download PDFInfo
- Publication number
- JP2010020609A JP2010020609A JP2008181556A JP2008181556A JP2010020609A JP 2010020609 A JP2010020609 A JP 2010020609A JP 2008181556 A JP2008181556 A JP 2008181556A JP 2008181556 A JP2008181556 A JP 2008181556A JP 2010020609 A JP2010020609 A JP 2010020609A
- Authority
- JP
- Japan
- Prior art keywords
- information
- external device
- class module
- class
- processing apparatus
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/387—Information transfer, e.g. on bus using universal interface adapter for adaptation of different data processing systems to different peripheral devices, e.g. protocol converters for incompatible systems, open system
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Facsimiles In General (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
【解決手段】 クラスモジュール371に対応する外部デバイス500に係る情報をそれぞれのモジュールに関連付けて保持する通知条件リスト361を予め登録しておき、汎用I/F350を介して外部デバイスが接続されたときに、通知条件リストを参照し、パラメータの一致度の高低により、接続された外部デバイスに利用できる最適クラスモジュール(アプリ)を判定し、このアプリを起動することによって多様な外部デバイスにアクセスするエントリーを可能とする汎用ドライバを排他利用する。
【選択図】 図3
Description
また、このような汎用インターフェースは、例えばプリンタ、複合機(MFP)等の組み込み機器としての構成を有する情報処理装置においても採用され始めており、外部デバイスとの間で画像情報をはじめ様々な情報の交換が可能になってきている。なお、上記組み込み機器は、産業、事務、家電等の機器において特定の機能や限定された性能を実現するため、通常安価なCPUと少ない容量のメモリからなるコンピュータを組み込んだ機器を指す。
また、従来の組み込み機器では、外部デバイスを接続する汎用インターフェースにおいて、装着されたデバイスが利用できない場合に、利用不可能であることを組み込み機器のユーザに示す手段を有していなかったためにユーザを戸惑わせることがあり、不便であった。
本発明は、上記の従来技術の問題に鑑みてなされたものであり、その目的は、組み込み機器などにおけるように、使用するコンピュータの資源に制約のある情報処理装置において、OSの構成変更やドライバをインストールしなくても汎用インターフェースを介して接続、分離する各種外部デバイスを容易に利用できるようにし、利便性の向上を図ることにある。
本発明は、汎用インターフェースを介して分離可能に接続される各種外部デバイスにアクセスしてサービスを提供するためにプラグインで対応する複数種類のクラスモジュールを有する情報処理装置におけるクラスモジュール起動制御方法であって、前記クラスモジュールに対応する前記外部デバイスに係る情報をモジュールごとに関連付けて保持する外部デバイス関連情報リストへの情報の登録を随時受付けるリスト登録工程と、外部デバイスの挿抜イベントを検出する挿抜イベント検出工程と、接続された外部デバイスを特定するための情報を取得する外部デバイス情報取得工程と、前記挿抜イベント検出工程外部でデバイスの挿抜イベントを検出したときに、該挿抜イベントの通知先としてのクラスモジュールを、前記外部デバイス情報取得工程により取得された情報と前記リスト登録工程で外部デバイス関連情報リストに記載された情報に基づいて判断する通知先判断工程と、前記通知先判断工程で判断されたクラスモジュールが対応する外部デバイスの情報を該クラスモジュールに通知するデバイス情報通知工程と、を有したことを特徴とする。
本発明の情報処理装置、クラスモジュール起動制御方法に係る以下の実施形態は、情報処理装置として複合機(MFP)を例に実施した形態を示す。
複合機は、プリンタ、コピー、ドキュメントボックス(蓄積ドキュメントのデータ送信やプリント出力)、スキャナ、ファクシミリ等の機能を複合して備え、これらの機能を操作部からの指示によるほか、外部のクライアント(ホスト)機からの処理要求に応えて動作させる。
また、この複合機は、周辺機器としての外部機や外部デバイス(以下、これらをまとめて「外部デバイス」という)と接続するため各種のインターフェース(I/F)を備え、このI/Fを介して外部デバイスとの情報を交換することにより、機能の拡張を図ることができるようにしている。特に、本実施形態では、外部デバイスに接続するための手段として汎用I/Fを有し、この汎用I/Fに係る構成を特徴とする。
図1は、本実施形態の複合機に係るハードウェア構成の概要を示す図である。
図1に示す複合機100のコントローラ200は、内蔵するCPU(Central Processing Unit)230が後述する各種メモリ等の記憶部を制御下におき、複合機100全体を制御する制御システムを構成する。
この複合機100におけるデータ入出力部について述べると、一つは原稿画像を光電読取りするスキャナ222で、ここでは処理対象の画像等のデータ入力を行う。
もう一つは、操作部(オペレーションパネル)201で、ここで行われるキー等の操作により動作・処理条件の設定や制御情報の入力や処理の開始を指示する入力を受け付ける。なお、操作部201は、ユーザI/Fとして機能するので、機器の動作状態や入力操作への応答をユーザに知らせる出力動作も行う。
もう一つは、ネットワーク或いは直接に外部デバイスと接続する通信I/F(詳細は後述)で、ここを通して、外部デバイス(例えば、ホストコンピュータ、FAX機、ICカード等)とのデータ交換を行う。なお、通信I/Fによって、入出力されるデータは、処理対象の画像や制御情報等のデータで、制御情報には機器間で行う通信動作に必要な情報が含まれる。
また、処理対象の画像等のデータのプリント出力は、プロッタ221で行う。
コントローラ200は、CPU230と、ASIC(Application Specific Integrated Circuit:特定用途向け集積回路)232と、システムメモリ(MEM−P)233と、ローカルメモリ(MEM−C)234と、ROM235と、HDD(Hard Disk Drive)236と、ノースブリッジ(以下、NBと記す)231と、シリアルバス237と、NIC(Network Interface Card)238と、USB(Universal Serial Bus)I/F239と、IEEE802.11b I/F240と、IEEE1394 I/F241と、USBホスト242と、メモリカード(登録商標)I/F243を有する。
外部デバイスとのI/Fである上記シリアルバス237、NIC238、USBI/F239、IEEE802.11b I/F240、IEEE1394 I/F241、wirelessUSBI/F242、USBホスト243及びメモリカードI/F244は、NB231にPCIバスで接続されている。
ファックス制御ユニット202及びエンジン群203は、ASIC232にPCI(Peripheral Component Interconnect)バスで接続される。
ここでは、ASIC232にローカルメモリ(MEM−C)234、ROM235、HDD236等を接続すると共に、CPU230とASIC232とをCPUチップセットのNB231を介して接続している。このように、NB231を介してCPU230とASIC232とを接続すれば、CPU230のインターフェースが公開されていない場合にも対応できるようにするためである。
NB231は、CPU230、システムメモリ(MEM−P)233、ASIC232及びPCIバスで繋がるシリアルバス237、NIC238、USBI/F239、IEEE802.11b I/F240、IEEE1394 I/F241、wirelessUSBI/F242、USBホスト243並びにメモリカードI/F244を接続するためのブリッジである。
なお、CPU230は、複合機100の全体を制御するシステムを構成するが、このシステムのソフトウェア構成については、後記で図2を参照して説明する。
HDD236は、画像の蓄積、文書の蓄積、フォントデータの蓄積、フォームの蓄積等を行うためのストレージである。
ASIC232は、画像処理用のハードウェア要素を有する画像処理用途向けのIC(Integrated Circuit)である。
操作部201は、ユーザからの入力操作を受け付けるための所定のボタン・キー群を有し、更にユーザに向けた表示を行うモニタ画面等を有するオペレーションパネルである。なお、操作部201は、例えばタッチパネル等により構成されていてもよい。
図1に示す本実施形態の構成では、特に、汎用I/FとしてUSBI/F239、IEEE1394 I/F241、wirelessUSBI/F242及びUSBホスト242を装備しており、各I/Fにより多種類の外部デバイスを接続し、複合機100と外部デバイスとの間で情報交換が可能になり、協働関係を築くことができる。
ASIC232の制御下におかれたPCIバスには、エンジン群203が接続されており、ここでは、エンジン群203として、処理対象の画像データ等によるプリント出力を行うプロッタエンジン221と、原稿を読取り、画像データの入力を行うスキャナエンジン222と、複合機の処理や動作に必要なその他のハードウェアリソース223を備える。
図2は、本実施形態の複合機100(図1)のソフトウェア構成をハードウェア資源と関係付けて示す図である。CPU230は、図2に示すソフトウェアを駆動することによって、複合機100全体を制御する制御システムを構築する。
図2に示す構成は、大別するとソフトウェア群101と、ハードウェア資源102よりなる。
ソフトウェア群101は、アプリケーション層103、アプリケーション層103からの処理要求を解釈して必要とするハードウェア資源102の獲得要求を発生するプラットフォーム層104とを有する。
なお、Webアプリケーション114は、複合機100に実装されたHTTP(Hyper Text Transfer Protocol)プロトコルによるWebサービスを行うアプリケーション群であり、ブラウザを使って機器の状態を見ること、或いはネットワーク設定等の機器の各種設定を行えるようにする。
プラットフォーム層104には、システム制御サービス131と、ファクス制御サービス132と、エンジン制御サービス133と、メモリ制御サービス134と、操作部制御サービス135と、ネットワーク制御サービス136とを有している。システム制御サービス131は、アプリケーション管理、操作部制御、システム画面表示、LED表示、リソース管理、および割り込み制御等の複数の機能を有する。また、ネットワーク制御サービス136は、ネットワーク入出力を必要とするアプリケーションに対して共通に利用できるサービスを提供する。
なお、プラットフォーム層104は、予め定義された関数によりアプリケーション層103からの処理要求を受信可能とするAPI(Application Program Interface)121を有している。
また、エンジンI/F151は、ソフトウェア群101の各ソフトウェアにより予め定義されている関数等によりエンジン制御ボード161を介してハードウェア資源102に対する処理要求を送信可能とする。なお、エンジンI/F151及びエンジン制御ボード161は、ソフトウェア又はハードウェアを実現手段として適宜採用することによって実施し得る。
また、図2に示すハードウェア資源102には、プロッタエンジン171と、スキャナエンジン172と、その他のハードウェアリソース173を要素として示している。
本実施形態の複合機100は、上記したように、外部デバイスに接続するための手段として汎用I/Fを有し、この汎用I/Fによって各種の外部デバイスとの間で情報交換が可能になり、協働関係を築くことが可能である。
ただ、外部デバイスをコネクタや送受信機で物理的に接続されても、必要な通信手順に従った動作が行えないと、情報交換ができず、また、外部デバイスに対応するドライバを複合機100にインストールしていないと、デバイスを動作させることができない。
従来、図1に示すような組み込み機器としての複合機100は、OS(LPUX)をROM(図1の例では、ROM235)に格納しているために、必要な通信手順やデバイスドライバを用意することが容易ではなく、結果として、汎用I/Fを特定のデバイス専用のI/Fとしてしか用いていない、という状況となっていた(上記[発明が解決しようとする課題]の項の記載、参照)。
複合機(情報処理装置)上に構成する以下に示す制御システムでは、プラグインで対応し得る複数種類のソフトウェアモジュールを汎用ドライバのクラスモジュールとする。即ち、汎用ドライバのクラスモジュールとすることにより、複数種類のソフトウェアモジュールの追加、削除を容易にできるようにする。
この実施形態では、クラスモジュールに対応する外部デバイスに係る情報をそれぞれのモジュールに関連付けて保持する外部デバイス関連情報リスト(後述する通知条件リスト)を予め登録しておき、汎用I/Fを介して外部デバイスが接続されたときに、このリストを参照することにより、接続された外部デバイスに適用するクラスモジュールを判定し、多様な外部デバイスに対し適正に対応できるクラスモジュールを選択してサービスプログラム間で外部デバイスにアクセスするエントリーである汎用ドライバを排他利用できるようにする。
図3は、外部デバイスへのアクセスを可能とするために複合機上に構成するクラスモジュール選択制御システムを示す図である。なお、同図中の矢印は、通知条件リストの登録、外部デバイス接続時に使用するクラスモジュールの選択及び外部デバイスへのアクセスというこのシステムが行う一連の動作における情報の流れを示す。
図3に示す制御システムは、複合機100に接続(或いは装着)してくる外部デバイス500に対し、当該デバイスのファンクションモジュール503が利用できる状態、即ちアクセスできる状態にするために用いるクラスモジュール370を選択するまでの手順を実行するための主な要素として、クラスモジュール370のほか、汎用I/F350及び挿抜検出モジュール360を有する。なお、図3に示す外部デバイス500は、接続可能な多種類のデバイスの1つが接続状態にあることを示している。
クラスモジュール370は、汎用I/F350に接続された外部デバイス500にアクセスしてサービスを提供するアプリケーションプログラム(以下「アプリ」ともいう)である。この実施形態では、クラスモジュール370が外部デバイス500に係る機器情報等のデバイス情報501を収集し、収集した情報を後述する通知条件情報371として通知条件リスト361への登録処理を行うので、このためのプログラムが用意される。
クラスモジュール370は、例えば、外部デバイス500がICカードリーダである場合、汎用I/F350を介してICカードリーダにアクセスすることができるので、カードに書き込まれた情報による認証を条件に出力処理を行う認証コピー(プリント)等を実現するサービスなどを提供することが可能となる。
また、このときにクラスモジュール370に通知する情報には、接続された外部デバイス500に用いることができる最適なクラスモジュール370の情報を指示する(下記の通知イベントの説明、参照)。
この最適なクラスモジュール370を選択するためには、複数種類のクラスモジュール370それぞれの情報(アプリ情報)と外部デバイス500に係る情報を関連付ける外部デバイス関連情報をリスト等の形式で持つ必要がある。
ここでは、挿抜検出モジュール360が、この外部デバイス関連情報リストを通知条件リスト361として作成し、管理する。
通知条件リスト361に載せる情報は、図4に示すように、サービスを提供するクラスモジュール370のアプリ情報と、外部デバイスとしての周辺機器を特定するための情報からなる。この例では、外部デバイス500を特定するための情報としてVendor、Product、Driver name、Class、Subclass、Protocolのパラメータを載せている。
挿抜検出モジュール360は、登録された通知条件リスト361を基に外部デバイス500とクラスモジュール370の対応を判断して、最適なクラスモジュール370を判定する。即ち、接続イベントを発生させた外部デバイス500からそのデバイスに係る情報としてVendor、 Product、Driver name、Class、Subclass、Protocolのパラメータを取得し、これらのパラメータを通知条件リスト361のパラメータと照合し、最も一致度の高い通知条件リストをとり上げ、このリストに示されているアプリ情報から最適なクラスモジュール370を決定する。
この方法として、図4に示す通知条件リストにおけるパラメータの一つに優先度のパラメータを加え、このパラメータによって予め各リスト間に優先度を付与し、付与した優先度により一つのアプリに決定できるようにする。この優先度パラメータは、例えば、50を基本値として0〜99の数値により表し、外部デバイス情報の一致度が同一となった場合には、優先度の数値の比較により優先させるアプリをより大きな数値を持つアプリとして決定できるようにする。
このための方法として、図4に示す通知条件リストにおける各パラメータに予め重み付けを行い、外部デバイス情報の一致度の判定の際、一致したパラメータについて、付与された重みを加味して、最もポイントの高い通知条件リストのクラスモジュール(アプリ)を決定する。例えば、デバイスを一意に示すVendor及びProductの優先度を上げるために高く設定し、Driver name の優先度を中位に設定し、Class、Subclass、Protocolの優先度を低い数値で設定し、数値の比較により優先させるアプリを決めることでより適正な選択を可能にする設定とすることができる。
このように、本実施形態では、通知条件リストへのデータの登録は、クラスモジュール370によって動的に行われる。
また、電源オフ時には、そのときに保持している通知条件リストデータをストレージで保存し、次の電源オン時に保存した通知条件リストデータを再登録して使用できるようにする。
決定した結果は、挿抜検出モジュール360から当該クラスモジュール370へ通知される。ここでは、挿抜検出モジュール360が、通知イベントとして、挿抜イベントの種類、決定したアプリ、及び当該外部デバイス500を動作させるために必要な情報を付与したイベントを発行し、クラスモジュール370に伝える。
図5は通知イベントのデータ構成の1例を示す図である。
図5に示す通知イベントにおいて、イベントタイプは、ATTACH又はDETACHといった発生した挿抜イベントの種類を示すものである。また、通知イベントには、通知条件リスト361をもとに決定したクラスモジュール(アプリ)が当該外部デバイス500をアクセスし、協働関係を築くために必要な情報を記載し、この実施例では、bus、address、cookie及びdriver nameの各データを付加する。ここに、bus及びaddressは、外部デバイス500のアドレスを特定するための情報である。cookieは外部デバイス500を識別するために付与されたユニークなIDである。driver nameは、使用可能なデバイスドライバのエントリー情報を示す。
汎用I/F350がUSBホスト243(図1)のように直接複合機100に接続する形式であり、使用不可能な外部デバイス500としてのUSBメモリ251(図1)がこのI/Fへ接続された場合に、使用不可能である旨を知らせる情報は、ユーザI/F380の表示装置を通じてユーザへ示される。このユーザI/F380として、オペレーションパネル201のディスプレイやデータインターフェースランプ或いはこの旨を知らせる情報をプリントアウトするといった手段により実施することができる。なお、ネットワークを介して接続される外部デバイス500に対しても、図3に示していないが、ネットワーク経由で使用不可能であることを表す情報を通知する。
次に、上記クラスモジュール選択制御システム(図3)の動作を図6に示す制御フローを参照して説明する。この制御フローは、複合機100の電源ON後にクラスモジュール370が接続された外部デバイス500へアクセス可能となるまでの手順を示すもので、接続された外部デバイス500の分離にも適応するものである。なお、この制御フローの各ステップに関連する情報のフローについては、図3におけるこのシステムの構成図を参照する(図3中の(1)〜(8)を付した矢印が情報のフローを示す)。
まず、複合機100の電源がONされると、コントローラ200が立ち上がり、クラスモジュール選択制御システム(図3)が起動し、このシステムの要素である挿抜検出モジュール360、クラスモジュール370等も起動される。
次いで、挿抜検出モジュール360は、クラスモジュール370から受取った通知条件情報をもとに通知条件リスト361を作成し(ステップS103)、後段で接続した外部デバイス500に用いるクラスモジュールを判断するための情報を提供できるように作成した通知条件リスト361を管理する。なお、電源ON時に行う初期化処理として、通知条件リスト361には、デフォルトデータ、例えば、ストレージに保存しておいた静的な上書き禁止情報を設定する。
ステップS104で、経過時間が通知開始タイミングに達しない場合には(ステップS104-NO)、ステップ101の通知条件情報の収集に戻し、再びステップ104までのフローに従う処理を行い、この手順を通知開始タイミングに達するまで続ける。この手順を行うことにより、上記した登録処理の遅れにより生じる不具合を回避することが可能になる。
ここで、外部デバイス500の挿抜を検出できない場合(ステップS105-NO)、通知条件の登録処理を行うステップ102に戻し、挿抜が検出できるまでステップ102〜104の処理を繰り返す。
外部デバイス500の挿抜が検出できれば(ステップS105-YES)、検出された外部デバイス500のデバイス情報501を取得する(ステップS106)。ここでは、挿抜検出が装着の検出であった場合には、デバイス情報501を装着された外部デバイス500から直接汎用I/F350を介して取得する(図3のフロー(2)、参照)。また、挿抜検出が分離の検出であった場合には、先の装着時に保存しておいた管理情報から当該外部デバイス500のデバイス情報501を取得する。
次いで、挿抜検出モジュール360は、取得したデバイス情報501(Vendor、Product、Driver name、Class、Subclass、Protoco1等)のパラメータを各通知条件リスト361(図4、参照)のパラメータと照合し、最も一致度の高い通知条件リスト361を得、そこに示されているアプリ情報から検出された外部デバイス500に最適なクラスモジュール(アプリ)370を判断し、判断されたクラスモジュール370を通知イベントの通知先として決定する(ステップS107)。
そこで、本実施形態では、ステップS107の後、通知先が決定できたか否かを確認する(ステップS108)。
この確認で通知先が決定できた場合には(ステップS108-YES)、決定した通知先のクラスモジュール(アプリ)370が起動していることを確認する(ステッフS109)。なお、この起動の確認は、本実施形態の電源ON時の制御フローで新たに装着された外部デバイス500に対しては、必要であるが、逆の場合である分離された外部デバイス500に対しては、通常、通知先のクラスモンジュール370は既に起動しているので、この場合には、ステップS109を省くことができる。
そこで、最適な通知先のアプリが、常駐するプロセスではなく稼動していない状態でも、プロセス起動によって、最適な動作が得られるようにする。このプロセス起動による実施形態の動作は、外部デバイス500の接続の検出をトリガにプロセスを起動することができるため、クラスモジュール(アプリ)の自動起動が可能となり、デバイス未接続時に搭載したコンピュータの資源(CPU、メモリなど)を節約することが可能となる。また、クラスモジュール(アプリ)を起動する仕組みを別途設けなくてよくなるため、モジュールの追加がより容易になる。
ステップS109で通知先のクラスモジュール(アプリ)370が起動していることを確認した(ステップS109-YES)後、挿抜検出モジュール360は、通知イベント(図5、参照)を発行する(ステップS111)。この通知イベントは、クラスモジュール(アプリ)370に通知される(図3のフロー(5)、参照)。
クラスモジュール(アプリ)370は、挿抜イベントの種類がATTACHである場合には、通知イベントに付与されている決定したアプリ(driver、name)及び当該外部デバイス500にアクセスするために必要な情報(bus、address及びcookie等)を、外部デバイス500にサービスを提供するための動作に用いる。
また、挿抜イベントの種類がDETACHである場合には、当該クラスモジュール(アプリ)370の動作を終了させることができる。
クラスモジュール(アプリ)370が持つ外部デバイス500のドライバは、通知イベントに示されるbus、address及びcookie等のアクセスに必要な情報を参照して、汎用I/F350のクラスI/F353を介して(図3のフロー(6)、参照)、外部デバイス500のファンクションモジュール503へのアクセス(図3のフロー(7)、参照)を開始する(ステップS113)。
この後、この制御フローを終了する。
なお、挿抜イベントの種類がDETACHである場合には、ステップS112及びステップS113の手順は不用であるから、ステップS111で通知イベントを発行した後、この制御フローを終了する。
この場合、挿抜検出モジュール360は、ユーザI/F380に当該外部デバイス500の使用不可を示す旨の警告表示を指示し(図3のフロー(8)、参照)、この指示を受けるユーザI/F380は、操作部201のディスプレイに“外部デバイス使用不可”のメッセージを表示する等、ユーザに状況を通知する処理を行う(ステップS121)。ユーザI/F380を通じて外部デバイス500の使用不可を警告することで、ユーザビリティを向上することができる。
Claims (18)
- 接続/分離が可能な外部デバイスを接続するための汎用インターフェースと、
前記汎用インターフェースを介して接続される各外部デバイスにアクセスしてサービスを提供するためにプラグインで対応する複数種類のクラスモジュールと、
前記外部デバイスの接続/分離イベントを検出する接続/分離検出モジュールを有する情報処理装置であって、
前記クラスモジュールに対応する前記外部デバイスに係る情報をモジュールごとに関連付けて保持する外部デバイス関連情報リスト及び該外部デバイス関連情報リストへの情報の登録を随時受付けるリスト登録手段を備え、
前記接続/分離検出モジュールは、接続された外部デバイスを特定するための情報を取得する外部デバイス情報取得手段と、
外部デバイスの接続/分離イベントを検出したときに、該接続/分離イベントの通知先としてのクラスモジュールを、前記外部デバイス情報取得手段により取得された情報と前記外部デバイス関連情報リストに記載された情報に基づいて判断する通知先判断手段と、
前記通知先判断手段により判断されたクラスモジュールが対応する外部デバイスの情報を該クラスモジュールに通知するデバイス情報通知手段を有したことを特徴とする情報処理装置。 - 請求項1に記載された情報処理装置において、
前記接続/分離検出モジュールは、前記通知先判断手段により通知先が判断できないときに、ユーザインターフェースを通じて外部デバイスの使用ができない旨を知らせるための手段を有したことを特徴とする情報処理装置。 - 請求項1又は2に記載された情報処理装置において、
前記デバイス情報通知手段は、プログラムを起動する手段を有したことを特徴とする情報処理装置。 - 請求項1又は2に記載された情報処理装置において、
前記デバイス情報通知手段は、常駐するプロセスへ通知する手段を有したことを特徴とする情報処理装置。 - 請求項1乃至4のいずれかに記載された情報処理装置において、
前記通知先判断手段は、当該情報処理装置の起動後、一定時間経過後に処理を開始するようにしたことを特徴とする情報処理装置。 - 請求項1乃至5のいずれかに記載された情報処理装置において、
前記外部デバイス関連情報リストにおける前記クラスモジュールに対応する外部デバイスに係る情報が、デバイスを一意に示すパラメータ及びデバイスの機能を示すパラメータであり、かつ該パラメータごとに予め重みを付与しておき、
前記通知先判断手段は、前記パラメータごとに予め付与した重みに従い前記通知先としてのクラスモジュールを判断することを特徴とする情報処理装置。 - 請求項1乃至5のいずれかに記載された情報処理装置において、
前記外部デバイス関連情報リストにおける各クラスモジュールにプライオリティ情報を付与し、
前記通知先判断手段は、前記プライオリティ情報を判断に加えることを特徴とする情報処理装置。 - 請求項6に記載された情報処理装置において、
前記パラメータごとに予め付与した重みのうち、大きい重みの情報の上書き禁止情報を静的に保持することを特徴とする情報処理装置。 - 汎用インターフェースを介して分離可能に接続される各種外部デバイスにアクセスしてサービスを提供するためにプラグインで対応する複数種類のクラスモジュールを有する情報処理装置におけるクラスモジュール起動制御方法であって、
前記クラスモジュールに対応する前記外部デバイスに係る情報をモジュールごとに関連付けて保持する外部デバイス関連情報リストへの情報の登録を随時受付けるリスト登録工程と、
外部デバイスの接続/分離イベントを検出する接続/分離イベント検出工程と、
接続された外部デバイスを特定するための情報を取得する外部デバイス情報取得工程と、
前記接続/分離イベント検出工程外部でデバイスの接続/分離イベントを検出したときに、該接続/分離イベントの通知先としてのクラスモジュールを、前記外部デバイス情報取得工程により取得された情報と前記リスト登録工程で外部デバイス関連情報リストに記載された情報に基づいて判断する通知先判断工程と、
前記通知先判断工程で判断されたクラスモジュールが対応する外部デバイスの情報を該クラスモジュールに通知するデバイス情報通知工程と、
を有したことを特徴とするクラスモジュール起動制御方法。 - 請求項9に記載されたクラスモジュール起動制御方法において、
前記通知先判断工程で通知先が判断できないときに、ユーザインターフェースを通じて外部デバイスの使用ができない旨を知らせる工程を有したことを特徴とするクラスモジュール起動制御方法。 - 請求項9又は10に記載されたクラスモジュール起動制御方法において、
前記デバイス情報通知工程は、プログラムを起動するための指令を通知する工程であることを特徴とするクラスモジュール起動制御方法。 - 請求項9又は10に記載されたクラスモジュール起動制御方法において、
前記デバイス情報通知工程は、常駐するプロセスへ通知する工程であることを特徴とするクラスモジュール起動制御方法。 - 請求項9乃至12のいずれかに記載されたクラスモジュール起動制御方法において、
前記通知先判断工程は、当該情報処理装置の起動後、一定時間経過後に処理を開始するようにしたことを特徴とするクラスモジュール起動制御方法。 - 請求項9乃至13のいずれかに記載されたクラスモジュール起動制御方法において、
前記リスト登録工程で登録する外部デバイス関連情報リストにおける前記クラスモジュールに対応する外部デバイスに係る情報が、デバイスを一意に示すパラメータ及びデバイスの機能を示すパラメータ、並びに該パラメータごとに付与される重みであり、
前記通知先判断工程は、前記パラメータごとに付与した重みに従い前記通知先としてのクラスモジュールを判断する工程であることを特徴とするクラスモジュール起動制御方法。 - 請求項9乃至13のいずれかに記載されたクラスモジュール起動制御方法において、
前記リスト登録工程で登録する外部デバイス関連情報リストにおける各クラスモジュールにプライオリティ情報を付与し、
前記通知先判断工程は、前記プライオリティ情報を判断に加える工程であることを特徴とするクラスモジュール起動制御方法。 - 請求項14に記載されたクラスモジュール起動制御方法において、
前記パラメータごとに予め付与した重みのうち、大きい重みの情報の上書き禁止情報を静的に保持することを特徴とするクラスモジュール起動制御方法。 - 請求項9乃至16のいずれかに記載されたクラスモジュール起動制御方法の各工程をコンピュータに行わせるためのプログラム。
- 請求項17に記載されたプログラムを記録したコンピュータ読取可能な記録媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008181556A JP5163950B2 (ja) | 2008-07-11 | 2008-07-11 | 情報処理装置、クラスモジュール起動制御方法及びプログラム |
US12/496,152 US20100011133A1 (en) | 2008-07-11 | 2009-07-01 | Information processing apparatus, method for controlling activation of class module, and computer program product for carrying out the method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008181556A JP5163950B2 (ja) | 2008-07-11 | 2008-07-11 | 情報処理装置、クラスモジュール起動制御方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010020609A true JP2010020609A (ja) | 2010-01-28 |
JP5163950B2 JP5163950B2 (ja) | 2013-03-13 |
Family
ID=41506134
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008181556A Expired - Fee Related JP5163950B2 (ja) | 2008-07-11 | 2008-07-11 | 情報処理装置、クラスモジュール起動制御方法及びプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20100011133A1 (ja) |
JP (1) | JP5163950B2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012123764A (ja) * | 2010-12-10 | 2012-06-28 | Ricoh Co Ltd | 情報処理装置 |
JP2016051304A (ja) * | 2014-08-29 | 2016-04-11 | キヤノン株式会社 | 情報処理装置、情報処理方法およびプログラム |
JP7413072B2 (ja) | 2020-02-20 | 2024-01-15 | キヤノン株式会社 | 情報処理装置、デバイス管理システム、情報処理装置の制御方法、及びプログラム |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9489025B2 (en) | 2010-01-22 | 2016-11-08 | Hewlett-Packard Development Company, L.P. | I/O control systems and methods |
US20110270814A1 (en) * | 2010-04-29 | 2011-11-03 | International Business Machines Corporation | Expanding Functionality Of One Or More Hard Drive Bays In A Computing System |
KR101763426B1 (ko) | 2010-08-20 | 2017-07-31 | 삼성전자주식회사 | 외부기기 제어장치 및 방법 |
JP5750899B2 (ja) * | 2011-01-17 | 2015-07-22 | 株式会社リコー | 画像形成装置およびその制御方法 |
JP5857388B2 (ja) * | 2011-09-12 | 2016-02-10 | 富士通株式会社 | 伝送装置および伝送方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000132494A (ja) * | 1998-10-26 | 2000-05-12 | Toshiba Corp | コンピュータシステムおよび同システムにおけるオーディオ出力制御方法 |
JP2001344192A (ja) * | 2000-05-31 | 2001-12-14 | Fuji Photo Film Co Ltd | ベンダ固有情報の送受信方法及び情報処理装置並びに提供媒体 |
JP2003084984A (ja) * | 2001-09-12 | 2003-03-20 | Canon Inc | 情報処理装置、及び、情報処理方法、及び、制御プログラム、及び、制御プログラムを記憶した記憶媒体 |
JP2005143011A (ja) * | 2003-11-10 | 2005-06-02 | Matsushita Electric Ind Co Ltd | 構内交換機及びそのアプリケーション選択方法 |
JP2006235721A (ja) * | 2005-02-22 | 2006-09-07 | Canon Inc | 画像形成システム、情報処理装置、方法、及び制御プログラム |
JP2008152404A (ja) * | 2006-12-15 | 2008-07-03 | Canon Inc | 電子機器、電子機器の制御方法、および電子機器の制御プログラム |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7802022B2 (en) * | 2004-04-29 | 2010-09-21 | Microsoft Corporation | Generic USB drivers |
JP2008027235A (ja) * | 2006-07-21 | 2008-02-07 | Ricoh Co Ltd | 情報処理装置、情報処理方法および情報処理プログラム |
-
2008
- 2008-07-11 JP JP2008181556A patent/JP5163950B2/ja not_active Expired - Fee Related
-
2009
- 2009-07-01 US US12/496,152 patent/US20100011133A1/en not_active Abandoned
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000132494A (ja) * | 1998-10-26 | 2000-05-12 | Toshiba Corp | コンピュータシステムおよび同システムにおけるオーディオ出力制御方法 |
JP2001344192A (ja) * | 2000-05-31 | 2001-12-14 | Fuji Photo Film Co Ltd | ベンダ固有情報の送受信方法及び情報処理装置並びに提供媒体 |
JP2003084984A (ja) * | 2001-09-12 | 2003-03-20 | Canon Inc | 情報処理装置、及び、情報処理方法、及び、制御プログラム、及び、制御プログラムを記憶した記憶媒体 |
JP2005143011A (ja) * | 2003-11-10 | 2005-06-02 | Matsushita Electric Ind Co Ltd | 構内交換機及びそのアプリケーション選択方法 |
JP2006235721A (ja) * | 2005-02-22 | 2006-09-07 | Canon Inc | 画像形成システム、情報処理装置、方法、及び制御プログラム |
JP2008152404A (ja) * | 2006-12-15 | 2008-07-03 | Canon Inc | 電子機器、電子機器の制御方法、および電子機器の制御プログラム |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012123764A (ja) * | 2010-12-10 | 2012-06-28 | Ricoh Co Ltd | 情報処理装置 |
JP2016051304A (ja) * | 2014-08-29 | 2016-04-11 | キヤノン株式会社 | 情報処理装置、情報処理方法およびプログラム |
JP7413072B2 (ja) | 2020-02-20 | 2024-01-15 | キヤノン株式会社 | 情報処理装置、デバイス管理システム、情報処理装置の制御方法、及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
JP5163950B2 (ja) | 2013-03-13 |
US20100011133A1 (en) | 2010-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5163950B2 (ja) | 情報処理装置、クラスモジュール起動制御方法及びプログラム | |
US20180367700A1 (en) | Image forming apparatus and authentication method | |
US9948810B2 (en) | Image forming apparatus, information setting system, and information setting method for controlling setting values by requesting setting information through a network | |
JP4949980B2 (ja) | 画像形成装置、画像形成方法、画像形成プログラム、および画像形成システム | |
JP5004709B2 (ja) | 画像処理装置、システム、プログラムおよび記録媒体 | |
JP4209789B2 (ja) | ファイル作成方法、サーバ、記録媒体及びプログラム追加システム | |
JP2009296357A (ja) | 画像処理装置、画像処理システム、動作モード制御方法およびプログラム | |
EP2367347A2 (en) | Image processing apparatus, image forming apparatus, image processing system, image processing method, image processing program, and storage medium. | |
JP5696470B2 (ja) | 機器管理装置、機器管理方法、機器管理プログラム、及びそのプログラムを記録した記録媒体 | |
EP2424211A2 (en) | Program state determination in an image forming apparatus | |
JP2007068154A (ja) | 画像形成装置、情報処理方法、情報処理プログラム、及び記録媒体 | |
JP5810781B2 (ja) | プロジェクタ装置の通信装置 | |
JP2007082157A (ja) | データ処理システムとそのデータ管理装置,プログラム,および記録媒体 | |
JP5651956B2 (ja) | 電力制御方法、電力制御装置、及び電力制御プログラム | |
JP5434470B2 (ja) | 電子機器およびその制御方法、制御プログラムおよび記憶媒体、ならびに、機器管理システム | |
JP4809272B2 (ja) | 遠隔管理システムおよび管理情報取得制御方法 | |
US9590819B2 (en) | Stopping polling of a peripheral device on a network if the peripheral device leaves the network | |
JP4209794B2 (ja) | 画像形成装置及びプログラム起動方法 | |
JP5691329B2 (ja) | ジョブ管理装置、画像処理装置、印刷システム、及びジョブ管理プログラム | |
JP2006099187A (ja) | 情報処理装置 | |
US10582069B2 (en) | Information processing device and device management apparatus | |
JP5201246B2 (ja) | 機器、情報処理方法、情報処理プログラム、及び記録媒体 | |
JP4237511B2 (ja) | 画像形成装置、プログラム更新方法 | |
JP2021111846A (ja) | 端末管理処理プログラム、端末管理装置及び端末管理システム | |
JP2009027498A (ja) | 画像処理装置及び画像処理プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110324 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120821 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120907 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121105 |
|
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: 20121122 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121205 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151228 Year of fee payment: 3 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5163950 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151228 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |