JP2016174333A - 情報処理装置、プログラム、および情報処理方法 - Google Patents
情報処理装置、プログラム、および情報処理方法 Download PDFInfo
- Publication number
- JP2016174333A JP2016174333A JP2015054487A JP2015054487A JP2016174333A JP 2016174333 A JP2016174333 A JP 2016174333A JP 2015054487 A JP2015054487 A JP 2015054487A JP 2015054487 A JP2015054487 A JP 2015054487A JP 2016174333 A JP2016174333 A JP 2016174333A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- external device
- plug
- scanner driver
- information processing
- 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.)
- Pending
Links
Images
Abstract
【課題】スキャナドライバインターフェースを用いて、スキャナ以外の外部装置から容易に画像を読取ることができる。【解決手段】スキャナドライバI/F部32Aは、アプリケーション30から呼出され、スキャナドライバで用いる規約に沿って動作する。プラグイン部36は、外部装置20に対応して設けられている。格納部37は、データを記憶した外部装置20へのアクセス方法を示すアクセス情報を格納する。変換部38は、外部装置20から取得されたデータを、スキャナドライバで処理可能な画像データに変換する。出力部34Aは、選択された外部装置20に対応するプラグイン部36におけるアクセス情報を用いて該外部装置20からデータを取得し該外部装置20に対応するプラグイン部36へ出力する。管理部34Bは、選択された外部装置20に対応するプラグイン部36で変換された画像データを、スキャナドライバI/F部32Aを介してアプリケーション30へ出力する。【選択図】図2
Description
本発明は、情報処理装置、プログラム、および情報処理方法に関する。
特定のアプリケーションやシステムにおいて、標準規格に準拠したスキャナドライバをインターフェースとして用いて、スキャナや複合機などから画像データを取り込むことが行われている。
上記特定のアプリケーションやシステムにおいてインターフェースを変えずに、スキャナドライバを用いて、サーバ装置などのスキャナ以外の外部装置からの画像取り込みを実現出来れば、容易に外部装置から画像取り込みを行うことができる。しかし、スキャナドライバに外部装置の各々へのアクセス機能を搭載する場合、外部装置ごとにスキャナドライバへの機能追加が必要となる。また、外部装置ごとにスキャナドライバを用意する場合、各々のスキャナドライバを評価および管理する必要が生じる。また、スキャナにウェブサーバ機能を追加する場合(例えば、特許文献1参照)、スキャナドライバを変更する必要があった。
このため、従来では、スキャナドライバをインターフェースとして用いて、スキャナ以外の外部装置から容易に画像を読取ることは困難であった。
上述した課題を解決するために、本発明は、アプリケーションから呼出され、スキャナドライバで用いる規約に沿って動作するスキャナドライバインターフェース部と、データを記憶した外部装置へのアクセス方法を示すアクセス情報を格納する格納部と、前記外部装置から取得された前記データを、前記スキャナドライバで処理可能な画像データに変換する変換部と、を有し、前記外部装置に対応して設けられたプラグイン部と、アクセス対象の前記外部装置の選択を受け付ける受付部と、選択された前記外部装置に対応する前記プラグイン部における前記アクセス情報を用いて、選択された前記外部装置から前記データを取得し、選択された前記外部装置に対応する前記プラグイン部へ出力する出力部と、前記プラグイン部を管理し、選択された前記外部装置に対応する前記プラグイン部で変換された前記画像データを、前記スキャナドライバインターフェース部を介して前記アプリケーションへ出力する管理部と、を備える。
本発明によれば、スキャナドライバインターフェースを用いて、スキャナ以外の外部装置から容易に画像を読取ることができる、という効果を奏する。
以下に添付図面を参照して、情報処理装置、プログラム、および情報処理方法の一の実施の形態を詳細に説明する。
(第1の実施の形態)
図1は、情報処理システム10の一例を示す図である。
図1は、情報処理システム10の一例を示す図である。
情報処理システム10は、情報処理装置12と、スキャナ14と、外部装置20と、を備える。
情報処理装置12は、公知のパーソナルコンピュータなどである。情報処理装置12は、ネットワーク16に接続されている。ネットワーク16は、例えば、社内LAN(Local Area Network)などのローカルネットワークである。
スキャナ14は、原稿から画像を読取る公知のスキャナ機能を実行する装置である。スキャナ14は、ネットワーク16に接続されている。なお、ネットワーク16には、公知の画像形成装置や、ファックス装置や、複数の機能を有するMFP(Multifunction Peripheral)などが更に接続された形態であってもよい。また、ネットワーク16には、複数のスキャナ14が接続された形態であってもよい。
外部装置20は、クラウド18上に設置されている。外部装置20は、クラウド18およびネットワーク16を介して、情報処理装置12と通信可能である。
外部装置20は、例えば、HTTP(Hypertext Transfer Protocol)サーバである。また、外部装置20は、例えば、クラウド18上に設けられたクラウドサーバである。
なお、本実施の形態では、一例として、外部装置20は、HTTPサーバであり、且つ、クラウド18上に設けられたクラウドサーバである場合を説明する。
図2は、情報処理装置12および外部装置20の機能ブロック図である。
情報処理装置12は、制御部22と、UI(User Interface)部24と、を備える。UI部24および制御部22は、データや信号授受可能に接続されている。
UI部24は、表示部26と、入力部28と、を備える。表示部26は、各種画像を表示する。表示部26は、例えば、LCD(liquid crystal display)、有機EL(Electro Luminescence)等の公知の表示装置である。入力部28は、ユーザが各種の操作入力を行うための手段である。入力部28は、例えば、マウス、ボタン、リモコン、キーボード、および、マイクなどの音声認識装置等である。
なお、表示部26および入力部28は、一体的に構成されていてもよい。具体的には、表示部26および入力部28は、表示機能および入力機能の双方を備えたUI部24として一体的に構成されてもよい。UI部24には、タッチパネル付LCDなどがある。
制御部22は、CPU(Central Processing Unit)、ROM(Read Only Memory)、およびRAM(Random Access Memory)などを含んで構成されるコンピュータである。制御部22は、情報処理装置12全体を制御する。なお、制御部22は、CPU以外の回路などであってもよい。
制御部22は、アプリケーション30と、仮想スキャナドライバ32と、中間モジュール34と、プラグイン部36と、を備える。プラグイン部36は、情報処理装置12と通信可能な外部装置20の各々に対応して設けられている。このため、制御部22は、複数のプラグイン部36を含む。アプリケーション30、仮想スキャナドライバ32、中間モジュール34、および複数のプラグイン部36の一部または全ては、例えば、CPUなどの処理装置にプログラムを実行させること、すなわち、ソフトウェアにより実現してもよいし、IC(Integrated Circuit)などのハードウェアにより実現してもよいし、ソフトウェアおよびハードウェアを併用して実現してもよい。
アプリケーション30は、仮想スキャナドライバ32を呼出し、外部装置20から画像データを取得する。アプリケーション30は、呼出部30Aと、取得部30Bと、を含む。
呼出部30Aは、UI部24からスキャン開始指示を取得する。また、呼出部30Aは、スキャン開始指示を取得すると、仮想スキャナドライバ32を呼び出す。具体的には、呼出部30Aは、仮想スキャナドライバ32のスキャナドライバI/F部32Aを呼び出す。取得部30Bは、仮想スキャナドライバ32および中間モジュール34を介して、ユーザによって選択された外部装置20から画像データを取得する。
仮想スキャナドライバ32は、スキャナドライバインターフェース(I/F)部32Aと、受付部32Bと、を備える。スキャナドライバI/F部32Aは、呼出部30Aによって呼び出される。また、スキャナドライバI/F部32Aは、スキャナドライバで用いる規約に沿って動作する。すなわち、スキャナドライバI/F部32Aは、スキャナドライバで用いる、データ形式や、ソースコードや、関数の引数や、解像度などの設定値を定めるためのID(識別情報)などに沿って動作するインターフェースである。
受付部32Bは、アクセス対象の外部装置20(20A、20B)の選択を受け付ける。詳細には、受付部32Bは、スキャナドライバI/F部32Aがアプリケーション30によって呼び出されると、中間モジュール34へアクセスし、中間モジュール34で管理している外部装置20の一覧を示す識別情報を取得する。
図3は、仮想スキャナドライバ32の受付部32Bが中間モジュール34から取得する外部装置20の一覧を示す識別情報の一例である。図3に示す例では、受付部32Bは、外部装置20の外部装置名と、対応するプラグイン部36のプラグイン名と、を含む。
受付部32Bは、受付けた外部装置20の一覧を表示部26に表示する。図4は、外部装置20の選択画面の一例を示す図である。ユーザは、入力部28を操作し、選択画面に表示された外部装置20の一覧の中から、画像データを取得する対象の外部装置20の外部装置名を入力する。これにより、受付部32Bは、アクセス対象の外部装置20の選択を受け付ける。
図2に戻り、プラグイン部36は、外部装置20の各々に対応して設けられている。本実施の形態では、情報処理装置12には複数の外部装置20として、外部装置20Aおよび外部装置20Bが接続されている場合を一例として説明する。このため、制御部22は、外部装置20Aに対応するプラグイン部36Aと、外部装置20Bに対応するプラグイン部36Bと、を備える場合を説明する。なお、プラグイン部36Aおよびプラグイン部36Bを総称して説明する場合、単に、プラグイン部36と称して説明する。
プラグイン部36は、格納部37と、変換部38と、設定部39と、を含む。格納部37は、外部装置20へのアクセス方法を示すアクセス情報を格納する。すなわち、格納部37は、対応する外部装置20(外部装置20Aまたは外部装置20B)へのアクセス方法を示すアクセス情報を格納する。アクセス情報は、対応する外部装置20のアドレスや、対応する外部装置20へのログイン方法や、対応する外部装置20に記憶されているデータ一覧の取得方法や、該外部装置20に記憶されているデータの取得方法(例えば、外部装置20のAPI(Application Programming Interface)の呼び出し方)などを含む。このため、格納部37に格納されているアクセス情報を用いることで、中間モジュール34が外部装置20へアクセス可能となる。
変換部38は、対応する外部装置20から取得したデータを、上述したスキャナドライバで処理可能な画像データに変換する。変換後の画像データは、例えば、BMP(BitMaP)やTIFF(Tagged Image File Format)などである。
設定部39は、外部装置20へログインするためのIDとパスワードを設定するためのインターフェースや、外部装置20における何れのデータをスキャンするかを設定するためのインターフェースを含む。
設定部39は、外部装置20へログインするためのIDとパスワードを設定するためのインターフェースを用いて、ログイン画面を表示部26へ表示する。図5は、ログイン画面の一例を示す図である。ユーザは、入力部28を操作することによって、自己の識別情報(ユーザID)と、パスワードを入力する。設定部39は、入力されたユーザIDとパスワードを用いて、対応する選択された外部装置20へログインする。そして、設定部39は、ログインした外部装置20に格納されているデータ一覧を取得する。
図6は、データ一覧の一例を示す図である。例えば、設定部39は、選択された外部装置20に格納されているデータのデータ名と、サイズと、データ形式と、を該外部装置20から取得する。
そして、設定部39は、外部装置20における何れのデータをスキャンするかを設定するためのインターフェースを用いて、スキャン設定を行うための設定画面を表示部26へ表示する。
図7は、スキャン設定の設定画面の一例を示す図である。設定部39は、選択された外部装置20に格納されているデータ一覧を選択可能に表示する。また、設定部39は、スキャン時の詳細設定(例えば、解像度や色)の入力画面を表示する。ユーザは、入力部28を操作することで、スキャン対象のデータの選択や、スキャン時の解像度の入力を行う。これにより、設定部39は、スキャン対象のデータの識別情報、およびスキャン時の解像度を取得する。
図8は、設定された解像度の一例を示す図である。ユーザによる入力部28の操作により、ユーザ所望の解像度や色が設定される。
図2に戻り、中間モジュール34は、複数のプラグイン部36の各々を管理し、仮想スキャナドライバ32と複数のプラグイン部36の各々との間のデータのやり取りを管理する。
中間モジュール34は、出力部34Aと、管理部34Bと、を含む。出力部34Aは、選択された外部装置20に対応するプラグイン部36におけるアクセス情報を用いて、選択された外部装置20から、選択された識別情報によって識別されるデータを取得し、選択された外部装置20に対応するプラグイン部36へ出力する。
出力部34Aは、例えば、HTTPクライアントとして機能する。この場合、出力部34Aは、HTTPに沿った処理を行う。詳細には、出力部34Aは、プラグイン部36の各々が対応する外部装置20へアクセスする際に、HTTPのメソッドであるGET/POST/PUTなどの処理を行う。出力部34Aは、選択された外部装置20に対応するプラグイン部36の格納部37に格納されたアクセス情報を用いて、選択された外部装置20へアクセスを行う。
このため、出力部34Aは、複数のプラグイン部36間で共通の処理を実行する。また、出力部34Aが行う共通の処理は、すなわち、HTTP処理である。
管理部34Bは、複数のプラグイン部36の各々を管理する。具体的には、管理部34Bは、仮想スキャナドライバ32から外部装置20の一覧の取得要求を受け付けると、制御部22に設けられたプラグイン部36の各々に対応する外部装置20の一覧を示す情報を仮想スキャナドライバ32へ出力する。
また、管理部34Bは、選択された外部装置20に対応するプラグイン部36で変換された画像データを、スキャナドライバI/F部32Aを介してアプリケーション30へ出力する。言い換えると、管理部34Bは、アクセス対象として1つの外部装置20が選択されると、選択された外部装置20に対応するプラグイン部36と、仮想スキャナドライバ32と、がデータ授受可能となるように、橋渡しを行う。
情報処理装置12に接続される外部装置20(20A、20B)は、各々、API40と、HTTPサーバ機能部41と、を含む。また、外部装置20は、記憶部を備えており、各種データを予め記憶する。
API40は、外部装置20におけるクラウドサービス機能を、HTTPを介して外部から使用可能とする。クラウドサービス機能は、例えば、GoogleDriveや、Evernoteなどである。
すなわち、API40は、情報処理装置12からの要求に応じて、外部装置20に格納されているデータの一覧や、データなどを情報処理装置12へ送信する。HTTPサーバ機能部41は、情報処理装置12における、対応するプラグイン部36からの要求に応答するために、HTTPサーバ機能を実装する。
次に、本実施の形態の情報処理システム10で実行する情報処理の流れを説明する。
本実施の形態の情報処理システム10では、情報処理装置12のアプリケーション30が仮想スキャナドライバ32を呼び出す。仮想スキャナドライバ32は、中間モジュール34と連携して、選択された外部装置20に対応するプラグイン部36を呼び出す。そして、制御部22は、プラグイン部36、中間モジュール34、および仮想スキャナドライバ32を介して、画像データを外部装置20から取得する。
図9は、本実施の形態の情報処理システム10で実行する情報処理の流れを示すシーケンス図である。
まず、アプリケーション30の呼出部30Aが、UI部24からスキャン開始指示を取得する(SEQ100)。呼出部30Aは、スキャン開始指示を取得すると、仮想スキャナドライバ32を呼び出す(SEQ102)。呼出部30Aは、スキャン開始指示を仮想スキャナドライバ32へ送信することによって、仮想スキャナドライバ32を呼び出す。
仮想スキャナドライバ32の受付部32Bは、中間モジュール34へアクセスし、中間モジュール34で管理している外部装置20の一覧を示す識別情報を取得する(SEQ104、SEQ106、SEQ108)。
仮想スキャナドライバ32の受付部32Bは、受付けた外部装置20の一覧を表示部26に表示する(SEQ110)。ユーザは、UI部24の入力部28を操作し、選択画面に表示された外部装置20の一覧の中から、画像データを取得する対象の外部装置20の外部装置名を入力する。これにより、仮想スキャナドライバ32の受付部32Bは、アクセス対象の外部装置20の選択を受け付ける(SEQ112)。
仮想スキャナドライバ32の受付部32Bは、選択された外部装置20の識別情報を中間モジュール34へ送信する(SEQ114)。中間モジュール34の管理部34Bは、選択された外部装置20の識別情報を、該識別情報によって識別される外部装置20(ここでは、一例として外部装置20Aとする)に対応するプラグイン部36(ここでは、一例として、プラグイン部36Aとする)へ出力する(SEQ116)。
プラグイン部36Aの設定部39は、外部装置20AへログインするためのIDとパスワードを設定するためのインターフェースを用いて、ログイン画面を表示部26へ表示する(SEQ118)。ユーザは、UI部24の入力部28を操作することによって、自己の識別情報(ユーザID)と、パスワードを入力する(SEQ120)。設定部39は、入力されたユーザIDとパスワードを用いて、対応する選択された外部装置20Aへログインする(SEQ122、SEQ124、SEQ126)。
なお、ログインが失敗した場合、SEQ118、SEQ120の処理をログインが成功するまで繰り返し実行すればよい。また、ログインを続行しない場合には、本シーケンスを終了すればよい。
そして、プラグイン部36Aの設定部39は、外部装置20Aへログイン済であることを示す情報を中間モジュール34へ出力する(SEQ128)。中間モジュール34の出力部34Aは、プラグイン部36Aの格納部37に格納されているアクセス情報から、外部装置20Aに記憶されているデータ一覧の取得方法を得る(SEQ130、SEQ132、SEQ134)。
そして、出力部34Aは、取得したデータ一覧の取得方法を用いて、外部装置20Aから、外部装置20Aに記憶されているデータ一覧を取得する(SEQ136、SEQ138、SEQ140)。次に、出力部34Aは、取得したデータ一覧と、スキャン設定画面の表示指示と、を、外部装置20Aに対応するプラグイン部36Aへ出力する(SEQ142)。
プラグイン部36Aの設定部39は、中間モジュール34から、データ一覧およびスキャン設定画面の表示指示を受付ける。そして、設定部39は、外部装置20Aにおける何れのデータをスキャンするかを設定するためのインターフェースを用いて、スキャン設定を行うための設定画面を表示部26へ表示する(SEQ144)。
この設定画面は、SEQ142で中間モジュール34から受け付けた、外部装置20Aに記憶されているデータ一覧と、スキャン時の詳細設定(例えば、解像度や色)の入力画面と、を含む(図7参照)。ユーザは、入力部28を操作することで、スキャン対象のデータの選択や、スキャン時の解像度の入力を行う。これにより、プラグイン部36Aの設定部39は、スキャン対象のデータの識別情報、およびスキャン時の詳細設定を取得する(SEQ146)。なお、スキャンを続行しない場合には、本シーケンスを終了すればよい。
プラグイン部36Aの設定部39は、SEQ146で取得した、スキャン対象のデータの識別情報と、スキャン時の詳細設定と、を中間モジュール34へ出力する(SEQ148、SEQ150)。
中間モジュール34の出力部34Aは、プラグイン部36Aの格納部37に格納されているアクセス情報から、外部装置20Aからデータを取得するデータ取得方法を読取る(SEQ152、SEQ154、SEQ156)。
中間モジュール34の出力部34Aは、読取ったデータ取得方法に沿って、選択された外部装置20Aから、選択された識別情報によって識別されるデータを取得する(SEQ158、SEQ160、SEQ162)。そして、出力部34Aは、取得したデータを、プラグイン部36Aへ出力する(SEQ164)。なお、データ取得が失敗した場合、本シーケンスを終了すればよい。
プラグイン部36Aの変換部38は、中間モジュール34から受け付けたデータを、スキャナドライバで処理可能な画像データに変換する(SEQ166)。そして、プラグイン部36Aの変換部38は、変換後の画像データを、中間モジュール34へ出力する(SEQ168)。
中間モジュール34の出力部34Aは、プラグイン部36Aから受け付けた画像データを、仮想スキャナドライバ32へ出力する(SEQ170)。仮想スキャナドライバ32のスキャナドライバI/F部32Aは、中間モジュール34から受け付けた画像データを、アプリケーション30へ出力する(SEQ172)。アプリケーション30は、受付けた画像データを、UI部24の表示部26へ表示する(SEQ174)。そして、本シーケンスを終了する。
以上説明したように、本実施の形態の情報処理システム10は、情報処理装置12を備える。情報処理装置12は、スキャナドライバI/F部32Aと、格納部37と、プラグイン部36と、受付部32Bと、出力部34Aと、管理部34Bと、を備える。
スキャナドライバI/F部32Aは、アプリケーション30から呼出され、スキャナドライバで用いる規約に沿って動作する。プラグイン部36(36A、36B)は、外部装置20(20A、20B)に対応して設けられている。プラグイン部36は、格納部37と、変換部38と、を含む。格納部37は、データを記憶した外部装置20へのアクセス方法を示すアクセス情報を格納する。変換部38は、外部装置20から取得されたデータを、スキャナドライバで処理可能な画像データに変換する。受付部32Bは、アクセス対象の外部装置20の選択を受け付ける。出力部34Aは、選択された外部装置20に対応するプラグイン部36におけるアクセス情報を用いて、選択された外部装置20からデータを取得し、選択された外部装置20に対応するプラグイン部36へ出力する。管理部34Bは、プラグイン部36を管理し、選択された外部装置20に対応するプラグイン部36で変換された画像データを、スキャナドライバI/F部32Aを介してアプリケーション30へ出力する。
このように、本実施の形態の情報処理システム10では、情報処理装置12が、外部装置20の各々に対応するプラグイン部36と、複数のプラグイン部36の各々を管理する中間モジュール34と、を備える。そして、情報処理装置12のアプリケーション30は、スキャナドライバI/F部32Aを用いて、中間モジュール34およびアクセス対象の外部装置20に対応するプラグイン部36を介して、アクセス対象の外部装置20から画像データを取得する。
従って、本実施の形態の情報処理装置12では、スキャナドライバインターフェースを用いて、スキャナ以外の外部装置20から容易に画像を読取ることができる。
また、出力部34Aは、複数のプラグイン部36間で共通の処理を実行する。
例えば、外部装置20は、HTTPサーバであり、出力部34Aが実行する共通の処理は、HTTP処理である。
また、外部装置20は、クラウド18上に設けられたクラウドサーバである。
なお、本実施の形態では、外部装置20は、クラウドサービス機能を実行するサーバである場合を一例として説明した。しかし、外部装置20は、クラウドサービス機能を実行するサーバに限定されない。例えば、外部装置20は、HTTPサーバ機能を持ったPCやスマートデバイスであってもよい。
なお、制御部22における、仮想スキャナドライバ32と中間モジュール34とは、1つのモジュールとして一体的に構成したプログラムであってもよいし、別々のモジュールとして構成したプログラムであってもよい。
しかし、仮想スキャナドライバ32と中間モジュール34とは、別々のモジュールとして構成したプログラムであることが好ましい。仮想スキャナドライバ32と中間モジュール34とを、別々のモジュールで構成することによって、変更されにくい部分と、変更されやすい部分と、を別々のモジュールで構成することができる。このため、保守作業の効率化を図ることができる。
具体的には、仮想スキャナドライバ32のスキャナドライバI/F部32Aは、古くから用いられている規格であり、変更されにくい。一方、HTTPクライアント部として機能する出力部34Aは、頻繁に変更される可能性が高い。例えば、SSL(Secure Sockets Layer)通信を行う際には、OpenSSLなどのプログラムが使われ、出力部34Aが頻繁にセキュリティアップデートされる。このため、仮想スキャナドライバ32と中間モジュール34とは、別々のモジュールとして構成したプログラムであることが好ましい。
なお、情報処理装置12は、スキャナ14から画像データを取得する場合には、スキャナドライバI/F部32Aを用いて、公知の方法により画像データを取得すればよい。
(第2の実施の形態)
図1は、本実施の形態の情報処理システム10Aの一例を示す図である。情報処理システム10Aは、情報処理装置12Aと、スキャナ14と、外部装置20と、を備える。スキャナ14および外部装置20は、第1の実施の形態と同様である。
図1は、本実施の形態の情報処理システム10Aの一例を示す図である。情報処理システム10Aは、情報処理装置12Aと、スキャナ14と、外部装置20と、を備える。スキャナ14および外部装置20は、第1の実施の形態と同様である。
情報処理装置12Aは、公知のパーソナルコンピュータなどである。情報処理装置12Aは、ネットワーク16に接続されている。ネットワーク16は、第1の実施の形態と同様である。
図10は、情報処理装置12Aおよび外部装置20の機能ブロック図である。外部装置20の機能ブロック図は、第1の実施の形態と同様である。
情報処理装置12Aは、制御部22Aと、UI部24と、を備える。UI部24および制御部22Aは、データや信号授受可能に接続されている。UI部24は、第1の実施の形態と同様である。
制御部22Aは、CPU、ROM、およびRAMなどを含んで構成されるコンピュータである。制御部22Aは、情報処理装置12A全体を制御する。なお、制御部22Aは、CPU以外の回路などであってもよい。
制御部22Aは、アプリケーション30と、仮想スキャナドライバ32と、中間モジュール33と、プラグイン部36と、を備える。プラグイン部36は、情報処理装置12Aと通信可能な外部装置20の各々に対応して設けられている。このため、制御部22Aは、複数のプラグイン部36を含む。アプリケーション30、仮想スキャナドライバ32、中間モジュール33、および複数のプラグイン部36の一部または全ては、例えば、CPUなどの処理装置にプログラムを実行させること、すなわち、ソフトウェアにより実現してもよいし、ICなどのハードウェアにより実現してもよいし、ソフトウェアおよびハードウェアを併用して実現してもよい。
アプリケーション30、仮想スキャナドライバ32、およびプラグイン部36は、第1の実施の形態と同様である。すなわち、制御部22Aは、中間モジュール34に代えて中間モジュール33を備えた以外は、第1の実施の形態の制御部22と同様である。
中間モジュール33は、複数のプラグイン部36の各々を管理し、仮想スキャナドライバ32と複数のプラグイン部36の各々との間のデータのやり取りを管理する。
中間モジュール33は、出力部34Aと、管理部34Bと、インストール部34Cと、を含む。出力部34Aおよび管理部34Bは、第1の実施の形態と同様である。すなわち、中間モジュール33は、インストール部34Cを更に備えた以外は、第1の実施の形態の中間モジュール34と同様である。
インストール部34Cは、新たなプラグイン部36を情報処理装置12Aへインストールする。新たなプラグイン部36とは、制御部22Aで未対応の外部装置20に対応するプラグイン部36である。
図11は、インストール部34Cの機能ブロック図である。インストール部34Cは、格納部35Aと、受付部35Bと、実行部35Dと、を含む。
格納部35Aは、インストールパッケージを記憶する。インストールパッケージは、新たにインストールする対象のプラグイン部36をインストールするための各種データやファイルを含む。
図12は、インストールパッケージ35Cの一例を示す図である。インストールパッケージ35Cは、インストール設定ファイル44と、プラグイン実行ファイル45と、を含む。インストール設定ファイル44は、新たにインストールするプラグイン部36と、該プラグイン部36を制御部22Aで用いることが可能となるように制御部22A内に行う各種設定を定めたファイルである。
図13は、インストール設定ファイル44の一例を示す図である。インストール設定ファイル44には、インストール設定ファイル44によってインストールされるプラグイン部36のプラグイン名や、対応する外部装置20の識別情報(例えば、URL)などが含まれる。インストール設定ファイル44は、例えば、JSON(JavaScript(登録商標) Object Notation)形式で表される(図13参照)。
図12に戻り、プラグイン実行ファイル45は、対応するインストール設定ファイル44に沿って、新たなプラグイン部36を制御部22Aにインストールすると共に、インストール設定ファイル44に設定された各種設定を行う。プラグイン実行ファイル45は、例えば、.exeファイルなどの、OS(Operating System)上で実行可能な形式のファイルである。
情報処理装置12Aのインストール部34Cは、ネットワーク16に新たな外部装置20が接続されたとき、または、ユーザによる入力部28の操作指示によってインストールが指示されたときに、各外部装置20に対応するインストールパッケージ35Cを該外部装置20からダウンロードし、格納部35Aに予め格納する。
すなわち、格納部35Aは、新たにインストールする対象の外部装置20の各々に対応するインストールパッケージ35Cを予め格納する。
受付部35Bは、インストール対象のインストールパッケージ35Cの選択をUI部24から受け付ける。例えば、受付部35Bは、格納部35Aに格納されているインストールパッケージ35Cの各々に対応する外部装置20の識別情報の一覧を表示部26に表示する。ユーザは、入力部28を操作することによって、表示された外部装置20の識別情報の一覧の中から、新たにインストールする対象のプラグイン部36に対応する外部装置20の識別情報を選択する。そして、受付部35Bは、選択された識別情報に対応する外部装置20のインストールパッケージ35Cの選択を受け付ける。
実行部35Dは、選択を受け付けたインストールパッケージ35Cにおけるプラグイン実行ファイル45を実行する。これにより、実行部35Dは、該インストールパッケージ35Cにおけるインストール設定ファイル44に沿って新たなプラグイン部36をインストールすると共に、インストール設定ファイル44に設定された各種設定を行う。
次に、本実施の形態の情報処理システム10Aで実行する情報処理の流れを説明する。
本実施の形態の情報処理システム10Aでは、情報処理システム10と同様の処理を行う。すなわち、情報処理装置12Aのアプリケーション30が仮想スキャナドライバ32を呼び出す。仮想スキャナドライバ32は、中間モジュール33と連携して、選択された外部装置20に対応するプラグイン部36を呼び出す。そして、制御部22Aは、プラグイン部36、中間モジュール33、および仮想スキャナドライバ32を介して、画像データを外部装置20から取得する。
本実施の形態では、情報処理装置12Aは、更に、新たなプラグイン部36のインストール処理を実行する。
図14は、インストール処理の手順を示すフローチャートである。
まず、受付部35Bが、インストール対象のインストールパッケージ35Cの選択をUI部24から受け付ける(ステップS200)。次に、実行部35Dが、選択を受け付けたインストールパッケージ35Cを読取る(ステップS202)。そして、実行部35Dは、読取ったインストールパッケージ35Cにおけるプラグイン実行ファイル45を実行することで、新たなプラグイン部36をインストールする(ステップS204)。そして、本ルーチンを終了する。
以上説明したように、本実施の形態の情報処理装置12Aは、第1の実施の形態の情報処理装置12に更にインストール部34Cを備えた構成である。インストール部34Cは、新たなプラグイン部36をインストールする。
このため、本実施の形態の情報処理装置12Aは、第1の実施の形態の効果に加えて、新たな外部装置20がネットワーク16に接続された場合であっても、情報処理装置12Aは、新たな外部装置20から、スキャナドライバインターフェースを用いて容易に画像を読取ることができる。
(第3の実施の形態)
次に、上記実施の形態における情報処理装置12、12A、外部装置20(20A、20B)のハードウェア構成を説明する。
次に、上記実施の形態における情報処理装置12、12A、外部装置20(20A、20B)のハードウェア構成を説明する。
図15は、上記実施の形態における情報処理装置12、12A、外部装置20(20A、20B)のハードウェア構成の一例を示す図である。
上記実施の形態における情報処理装置12、12A、外部装置20(20A、20B)は、CPU60、RAM62、ROM64、およびI/F(Interface)66を有する。CPU60、RAM62、ROM64、および、I/F66は、バス72により相互に接続されており、通常のコンピュータを利用したハードウェア構成となっている。また、I/F66には、公知の表示装置などのLCD68や、ユーザによる各種操作を受け付ける操作部70が接続されている。
上記実施の形態における情報処理装置12、12A、外部装置20(20A、20B)で実行される上記各種処理を実行するためのプログラムは、ROM等に予め組み込んで提供される。
なお、上記実施の形態における情報処理装置12、12A、外部装置20(20A、20B)で実行される上記各種処理を実行するためのプログラムは、これらの装置にインストール可能な形式または実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記憶媒体に記憶されて提供するように構成してもよい。
また、上記実施の形態における情報処理装置12、12A、外部装置20(20A、20B)で実行される上記各種処理を実行するためのプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上記実施の形態における情報処理装置12、12A、外部装置20(20A、20B)で実行される上記各種処理を実行するためのプログラムを、インターネット等のネットワーク経由で提供または配布するように構成してもよい。
上記実施の形態における情報処理装置12、12A、外部装置20(20A、20B)で実行される上記各種処理を実行するためのプログラムは、上述した各部を含むモジュール構成となっている。実際のハードウェアとしてはCPUがROM等の記憶媒体から各プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、主記憶装置上に生成されるようになっている。
なお、上記には、実施の形態を説明したが、上記実施の形態は、例として提示したものであり、発明の範囲を限定すること、は意図していない。これら新規な実施の形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施の形態は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
10、10A 情報処理システム
12、12A 情報処理装置
20、20A、20B 外部装置
30 アプリケーション
32A スキャナドライバI/F部
32B 受付部
34A 出力部
34C インストール部
36、36A、36B プラグイン部
37 格納部
38 変換部
12、12A 情報処理装置
20、20A、20B 外部装置
30 アプリケーション
32A スキャナドライバI/F部
32B 受付部
34A 出力部
34C インストール部
36、36A、36B プラグイン部
37 格納部
38 変換部
Claims (7)
- アプリケーションから呼出され、スキャナドライバで用いる規約に沿って動作するスキャナドライバインターフェース部と、
データを記憶した外部装置へのアクセス方法を示すアクセス情報を格納する格納部と、前記外部装置から取得された前記データを、前記スキャナドライバで処理可能な画像データに変換する変換部と、を有し、前記外部装置に対応して設けられたプラグイン部と、
アクセス対象の前記外部装置の選択を受け付ける受付部と、
選択された前記外部装置に対応する前記プラグイン部における前記アクセス情報を用いて、選択された前記外部装置から前記データを取得し、選択された前記外部装置に対応する前記プラグイン部へ出力する出力部と、
前記プラグイン部を管理し、選択された前記外部装置に対応する前記プラグイン部で変換された前記画像データを、前記スキャナドライバインターフェース部を介して前記アプリケーションへ出力する管理部と、
を備える情報処理装置。 - 新たな前記プラグイン部をインストールするインストール部を備える、請求項1に記載の情報処理装置。
- 前記出力部は、複数の前記プラグイン部間で共通の処理を実行する、請求項1または請求項2に記載の情報処理装置。
- 前記外部装置は、HTTP(Hypertext Transfer Protocol)サーバであり、前記共通の処理は、HTTP処理である、請求項3に記載の情報処理装置。
- 前記外部装置は、クラウド上に設けられたクラウドサーバである、請求項1〜請求項4の何れか1項に記載の情報処理装置。
- コンピュータを、
アプリケーションから呼出され、スキャナドライバで用いる規約に沿って動作するスキャナドライバインターフェース部と、
データを記憶した外部装置へのアクセス方法を示すアクセス情報を格納する格納部と、前記外部装置から取得された前記データを、前記スキャナドライバで処理可能な画像データに変換する変換部と、を有し、前記外部装置に対応して設けられたプラグイン部と、
アクセス対象の前記外部装置の選択を受け付ける受付部と、
選択された前記外部装置に対応する前記プラグイン部における前記アクセス情報を用いて、選択された前記外部装置から前記データを取得し、選択された前記外部装置に対応する前記プラグイン部へ出力する出力部と、
前記プラグイン部を管理し、選択された前記外部装置に対応する前記プラグイン部で変換された前記画像データを、前記スキャナドライバインターフェース部を介して前記アプリケーションへ出力する管理部と、
して機能させるためのプログラム。 - アプリケーションから呼出され、スキャナドライバで用いる規約に沿って動作するスキャナドライバインターフェースと、データを記憶した外部装置へのアクセス方法を示すアクセス情報を格納する格納部、および前記外部装置から取得された前記データを、前記スキャナドライバで処理可能な画像データに変換する変換部、を有し、前記外部装置に対応して設けられたプラグイン部と、を備えた情報処理装置で実行する情報処理方法であって、
アクセス対象の前記外部装置の選択を受け付けるステップと、
選択された前記外部装置に対応する前記プラグイン部における前記アクセス情報を用いて、選択された前記外部装置から前記データを取得し、選択された前記外部装置に対応する前記プラグイン部へ出力するステップと、
前記プラグイン部を管理し、選択された前記外部装置に対応する前記プラグイン部で変換された前記画像データを、前記スキャナドライバインターフェース部を介して前記アプリケーションへ出力するステップと、
を含む情報処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015054487A JP2016174333A (ja) | 2015-03-18 | 2015-03-18 | 情報処理装置、プログラム、および情報処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015054487A JP2016174333A (ja) | 2015-03-18 | 2015-03-18 | 情報処理装置、プログラム、および情報処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016174333A true JP2016174333A (ja) | 2016-09-29 |
Family
ID=57008354
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015054487A Pending JP2016174333A (ja) | 2015-03-18 | 2015-03-18 | 情報処理装置、プログラム、および情報処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016174333A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102017117086A1 (de) | 2016-09-07 | 2018-03-08 | Subaru Corporation | Fahrzeugbremskraft-Steuerungsvorrichtung |
-
2015
- 2015-03-18 JP JP2015054487A patent/JP2016174333A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102017117086A1 (de) | 2016-09-07 | 2018-03-08 | Subaru Corporation | Fahrzeugbremskraft-Steuerungsvorrichtung |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8966596B2 (en) | Communication apparatus | |
US20190050170A1 (en) | Communication Device, Non-Transitory Computer-Readable Recording Medium Storing Computer-Readable Instructions for Communication Device, and Method | |
US20180107956A1 (en) | System, information processing device, and information processing method | |
JP2016177776A (ja) | 情報処理装置、情報処理方法、プログラム、および情報処理システム | |
US20130080905A1 (en) | Image forming apparatus, method of communicating with cloud server in image forming apparatus, and computer-readable recording medium | |
US8549598B2 (en) | Multifunction apparatus, authentication server, and multifunction apparatus control system | |
US11169755B2 (en) | Information processing system, image forming apparatus, terminal, information processing method, and storage medium | |
US9635197B2 (en) | Method of executing application installed in outside server and image forming apparatus to perform the same | |
JP2014182411A (ja) | 情報処理装置、ネットワークシステム、処理実行方法及び処理実行プログラム | |
JP2009199234A (ja) | 認証制御装置、認証制御方法及びプログラム | |
US8713570B2 (en) | Electronic device, information processing method, and storage medium | |
JP6988593B2 (ja) | アプリケーションプログラムおよび情報処理装置 | |
US20160080594A1 (en) | Image processing apparatus that causes client terminal to perform appropriate display, method of controlling the same, and storage medium | |
US20150269266A1 (en) | Information processing apparatus, method for controlling the same, and storage medium | |
US10552094B2 (en) | Printing apparatus and method of connecting to remote print service | |
US10044794B2 (en) | Information processing apparatus, communication system, information processing method, and non-transitory computer readable medium | |
JP2014016674A (ja) | 出力システム、出力制御装置及び出力制御プログラム | |
JP2013255027A (ja) | 機器制御システム、制御プログラム及び制御方法 | |
JP2016174333A (ja) | 情報処理装置、プログラム、および情報処理方法 | |
JP2016173861A (ja) | 特定のサーバ及び通信装置 | |
US20070174455A1 (en) | Image processing apparatus which executes operations by receiving control information from external devices such as personal computers, interface information disclosing program embodied in a computer readable recording medium, and interface information disclosing method | |
JP5482043B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP6835276B2 (ja) | プログラム、情報処理方法、情報処理装置および情報処理システム | |
US10868935B2 (en) | Information processing device, information processing method, non-transitory recording medium, and image forming system | |
JP2015056078A (ja) | 情報処理システム、情報処理方法およびプログラム |