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

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

Info

Publication number
JP2019114025A
JP2019114025A JP2017246610A JP2017246610A JP2019114025A JP 2019114025 A JP2019114025 A JP 2019114025A JP 2017246610 A JP2017246610 A JP 2017246610A JP 2017246610 A JP2017246610 A JP 2017246610A JP 2019114025 A JP2019114025 A JP 2019114025A
Authority
JP
Japan
Prior art keywords
information
operating system
external device
guest
unit
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
Application number
JP2017246610A
Other languages
English (en)
Inventor
一樹 原田
Kazuki Harada
一樹 原田
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.)
Konica Minolta Inc
Original Assignee
Konica Minolta 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 Konica Minolta Inc filed Critical Konica Minolta Inc
Priority to JP2017246610A priority Critical patent/JP2019114025A/ja
Publication of JP2019114025A publication Critical patent/JP2019114025A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】 接続される予定の外部機器を利用可能とするためのユーザーによる設定操作を容易にする。【解決手段】 複合装置100は、ゲストOS20と、ゲストOS20を実現するホストOS10と、を備え、ゲストOS20は、外部機器1を制御するためのドライバプログラムに基づいて特定される外部機器1を特定するための機器情報をホストOS10に伝達する伝達処理部24を備え、ホストOS10は、伝達された機器情報と、当該機器情報を伝達してきたゲストOS20を特定するためのOS情報と、を関連付けた関連付情報を記憶する関連付情報記憶部12と、外部機器1が接続されることに応じて、関連付情報により外部機器1と関連付けられたゲストOS20に外部機器1の制御権限を付与する権限付与部14と、を備える。【選択図】 図3

Description

この発明は、情報処理装置、情報処理方法および情報処理プログラムに関し、特に、外部機器が接続可能な情報処理装置、その情報処理装置で実行される情報処理方法および情報処理プログラムに関する。
ホストOS(オペレーティングシステム)により複数のゲストOSを実現する情報処理装置が知られている。情報処理装置に接続された外部機器は、当該外部機器に対応したゲストOSによる制御により動作可能である。このような情報処理装置として、特開2017−134587号公報には、ハードウェア上で動作するハイパーバイザーを有する情報処理装置の情報処理方法であって、ハイパーバイザーによって実現された複数の仮想マシンの各々に対応する、情報処理装置に接続される外部機器の機器識別情報と該機器識別情報によって識別される外部機器に対する優先度とを含む利用条件情報を、取得する取得ステップと、利用条件情報における、情報処理装置に接続された外部機器の機器識別情報に対応する、最も高い優先度に対応する仮想マシンに、ハードウェアの排他的利用権を割当てる割当ステップと、を含む情報処理方法が記載されている。利用条件情報は、仮想マシンの構成および設定の少なくとも一方に基づいて生成される。
しかしながら、特開2017−134587号公報においては、情報処理装置に外部機器が接続される前に、その外部機器に対応する利用条件情報を複数の仮想マシンごとにホストOSに設定しておく必要がある。このため、ユーザーは、情報処理装置に接続される予定の外部機器のすべてに、それぞれ対応する利用条件情報が設定する必要があり、利用条件情報が設定されていない場合には、接続された外部機器を情報処理装置により利用できない場合がある。
特開2017−134587号公報
この発明は上述した問題点を解決するためになされたもので、この発明の目的の一つは、接続される予定の外部機器を利用可能とするためのユーザーによる設定操作を容易にした情報処理装置を提供することである。
この発明の他の目的は、接続される予定の外部機器を利用可能とするためのユーザーによる設定操作を容易にした情報処理方法を提供することである。
この発明のさらに他の目的は、接続される予定の外部機器を利用可能とするためのユーザーによる設定操作を容易にした情報処理プログラムを提供することである。
この発明は上述した問題点を解決するためになされたもので、この発明のある局面によれば、情報処理装置は、ゲストオペレーティングシステムと、ゲストオペレーティングシステムを実現するホストオペレーティングシステムと、を備え、ゲストオペレーティングシステムは、外部機器を制御するためのドライバプログラムに基づいて特定される外部機器を特定するための機器情報をホストオペレーティングシステムに伝達する伝達処理手段を備え、ホストオペレーティングシステムは、伝達された機器情報と、当該機器情報を伝達してきたゲストオペレーティングシステムを特定するためのオペレーティングシステム情報と、を関連付けた関連付情報を記憶する関連付情報記憶手段と、外部機器が接続されることに応じて、関連付情報により外部機器と関連付けられたゲストオペレーティングシステムに外部機器の制御権限を付与する権限付与手段と、を備える。
この局面に従えば、外部機器を制御するためのドライバプログラムに基づいて特定される外部機器を特定するための機器情報が、ゲストオペレーティングシステムからホストオペレーティングシステムに伝達される。これにより、ホストオペレーティングシステムにおいて、伝達された機器情報と、当該機器情報を伝達してきたゲストオペレーティングシステムを特定するためのオペレーティングシステム情報と、を関連付けた関連付情報が記憶され、外部機器が接続されることに応じて、関連付情報により外部機器と関連付けられたゲストオペレーティングシステムに外部機器の制御権限が付与される。このため、接続される予定の外部機器が接続される場合にその外部機器を確実に利用することが可能になる。また、ユーザーは、外部機器と、その外部機器を制御するゲストオペレーティングシステムを特定する情報との関連付けをホストオペレーティングシステムに設定する必要がない。その結果、接続される予定の外部機器を利用可能とするためのユーザーによる設定操作を容易にした情報処理装置を提供することができる。
好ましくは、ゲストオペレーティングシステムおよびホストオペレーティングシステムのいずれか一方は、関連付情報を生成する。
この局面に従えば、ホストオペレーティングシステムに、関連付情報を設定するユーザーによる操作が不要となる。
好ましくは、伝達処理手段は、1以上の外部機器にそれぞれ対応する1以上のドライバプログラムがインストールされている場合、1以上のドライバプログラムのいずれかがユーザーにより選択されることに応じて、選択されたドライバプログラムに対応する機器情報を送信する。
この局面に従えば、ゲストオペレーティングシステムにインストールされた1以上のドライバプログラムからユーザーにより選択されたドライバプログラムに対応して関連付情報がホストオペレーティングシステムに記憶される。これにより、ユーザーは、ゲストオペレーティングシステムに対してインストールされたドライバプログラムを選択する操作をすればよく、ホストオペレーティングシステムに関連情報を設定するユーザーによる操作が不要となる。
好ましくは、伝達処理手段は、外部機器を制御するためのドライバプログラムがインストールされることに応じて、機器情報を送信する。
この局面に従えば、ユーザーは、所望のドライバプログラムをゲストオペレーティングシステムにインストールすることにより、当該ドライバプログラムに対応する関連付情報がホストオペレーティングシステムに記憶される。これにより、ユーザーは、ドライバプログラムをインストールする操作をすればよく、ホストオペレーティングシステムに関連情報を設定するユーザーによる操作が不要となる。
好ましくは、ゲストオペレーティングシステムは、さらに、ドライバプログラムがアンインストールされた場合、ホストオペレーティングシステムに通知する通知処理手段を備え、ホストオペレーティングシステムは、さらに、通知に応答して、アンインストールされたドライバプログラムに対応する関連付情報を関連付情報記憶手段から削除する削除処理手段を備える。
この局面に従えば、外部機器の制御権限が誤って付与されることを防止することができる。
この発明の他の局面によれば、情報処理方法は、ゲストオペレーティングシステムを実現するホストオペレーティングシステムを備える情報処理装置で実行される情報処理方法であって、外部機器を制御するためのドライバプログラムに基づいて特定される外部機器を特定するための機器情報をゲストオペレーティングシステムによりホストオペレーティングシステムに伝達するステップと、伝達された機器情報と、当該機器情報を伝達してきたゲストオペレーティングシステムを特定するためのオペレーティングシステム情報と、を関連付けた関連付情報をホストオペレーティングシステムにより記憶するステップと、外部機器が接続されることに応じて、関連付情報により外部機器と関連付けられたゲストオペレーティングシステムに外部機器の制御権限をホストオペレーティングシステムにより付与するステップと、を含む。
この局面に従えば、接続される予定の外部機器を利用可能とするためのユーザーによる設定操作を容易にした情報処理方法を提供することができる。
この発明のさらに他の局面によれば、情報処理プログラムは、ゲストオペレーティングシステムを実現するホストオペレーティングシステムを備える情報処理装置で実行される情報処理プログラムであって、外部機器を制御するためのドライバプログラムに基づいて特定される外部機器を特定するための機器情報をゲストオペレーティングシステムによりホストオペレーティングシステムに伝達するステップと、伝達された機器情報と、当該機器情報を伝達してきたゲストオペレーティングシステムを特定するためのオペレーティングシステム情報と、を関連付けた関連付情報をホストオペレーティングシステムにより記憶するステップと、外部機器が接続されることに応じて、関連付情報により外部機器と関連付けられたゲストオペレーティングシステムに外部機器の制御権限をホストオペレーティングシステムにより付与するステップと、を情報処理装置に実行させる。
この局面に従えば、接続される予定の外部機器を利用可能とするためのユーザーによる設定操作を容易にした情報処理プログラムを提供することができる。
本発明の実施の形態の1つにおける複合装置の外観を示す斜視図である。 複合装置のハードウェア構成の概要を示すブロック図である。 複合装置が備えるCPUが有する機能の一例を示す図である。 ゲストOSによる情報処理の流れの一例を示すフローチャートである。 ホストOSによる情報処理の流れの一例を示すフローチャートである。
以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。
図1は、本発明の実施の形態の1つにおける複合装置の外観を示す斜視図である。図2は、複合装置のハードウェア構成の概要を示すブロック図である。図1および図2を参照して、情報処理装置として機能する複合装置100は、MFP(Multi Function Peripheral)であり、メイン回路110と、原稿を読み取るための原稿読取部130と、原稿を原稿読取部130に搬送するための自動原稿搬送装置120と、原稿読取部130が原稿を読み取って出力する画像データに基づいて用紙等に画像を形成するための画像形成部140と、画像形成部140に用紙を供給するための給紙部150と、ユーザーインターフェースとしての操作パネル160とを含む。
メイン回路110は、CPU(中央演算装置)111と、通信インターフェース(I/F)部112と、ROM(Read Only Memory)113と、RAM(Random Access Memory)114と、大容量記憶装置としてのハードディスクドライブ(HDD)115と、ファクシミリ部116と、CD−ROM(Compact Disk ROM)118が装着される外部記憶装置117と、コネクタ部119と、を含む。CPU111は、自動原稿搬送装置120、原稿読取部130、画像形成部140、給紙部150、および操作パネル160と接続され、複合装置100の全体を制御する。
ROM113は、CPU111が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。RAM114は、CPU111がプログラムを実行する際の作業領域として用いられる。
通信I/F部112は、複合装置100をネットワークに接続するためのインターフェースである。CPU111は、通信I/F部112を介して、ネットワークに接続されたコンピューターとの間で通信し、データを送受信する。また、通信I/F部112は、ネットワークを介してインターネットに接続されたコンピューターと通信が可能である。
ファクシミリ部116は、公衆交換電話網(PSTN)に接続され、PSTNにファクシミリデータを送信、またはPSTNからファクシミリデータを受信する。ファクシミリ部116は、受信したファクシミリデータを、HDD115に記憶、または画像形成部140に出力する。画像形成部140は、ファクシミリ部116により受信されたファクシミリデータを用紙にプリントする。また、ファクシミリ部116は、HDD115に記憶されたデータをファクシミリデータに変換して、PSTNに接続されたファクシミリ装置に送信する。
外部記憶装置117には、CD−ROM118が装着される。CPU111は、外部記憶装置117を介してCD−ROM118にアクセス可能である。CPU111は、外部記憶装置117に装着されたCD−ROM118に記憶されたプログラムをRAM114にロードして実行する。なお、CPU111が実行するプログラムを記憶する媒体としては、CD−ROM118に限られず、光ディスク(MO(Magnetic Optical disc)/MD(Mini Disc)/DVD(Digital Versatile Disc))、ICカード、光カード、マスクROM、EPROM(Erasable Programmable ROM)、EEPROM(Electrically EPROM)などの半導体メモリであってもよい。
また、CPU111が実行するプログラムは、CD−ROM118に記憶されたプログラムに限られず、HDD115に記憶されたプログラムをRAM114にロードして実行するようにしてもよい。この場合、ネットワークに接続された他のコンピューターが、複合装置100のHDD115に記憶されたプログラムを書換える、または、新たなプログラムを追加して書き込むようにしてもよい。さらに、複合装置100が、ネットワークに接続された他のコンピューターからプログラムをダウンロードして、そのプログラムをHDD115に記憶するようにしてもよい。ここでいうプログラムは、CPU111が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
コネクタ部119は、外部機器1が接続される1以上の接続ポートを含む。1以上の接続ポートのそれぞれは、通信ポートである。通信ポートは、例えばシリアル通信ポートであり、具体的には、USB(Universal Serial Bus)ポートである。この場合、外部機器1は、例えばUSBデバイスである。具体的には、外部機器1は、IC(Integrated Circuit)カードリーダ、ICカードライタ、USBメモリ、LED(Light Emitting Diode)、マウス、デジタルカメラ、キーボード、通信機器等を含む。通信機器は、例えば、LAN(Local Area Network)ケーブルに接続される通信機器、赤外線(IrDA)通信が可能な通信機器、Blootooth(登録商標)規格に従った通信などの無線通信が可能な通信機器である。コネクタ部119に接続された外部機器1の動作はCPU111により制御される。
操作パネル160は、表示部161と操作部163とを含む。表示部161は、例えば、液晶表示装置(LCD)または有機EL表示装置(organic electroluminescence display)であり、ユーザーに対する指示メニューや取得した画像データに関する情報等を表示する。操作部163は、タッチパネル165と、ハードキー部167とを含む。タッチパネル165は、静電容量方式である。なお、タッチパネル165は、静電容量方式に限らず、例えば、抵抗膜方式、表面弾性波方式、赤外線方式、電磁誘導方式等の他の方式を用いることができる。ハードキー部167は、複数のハードキーを含む。ハードキーは、例えば接点スイッチである。
図3は、複合装置が備えるCPUが有する機能の一例を示す図である。図3に示す機能は、複合装置100が備えるCPU111が、ROM113、HDD115またはCD−ROM118に記憶された情報処理プログラムを実行することにより、CPU111に形成される機能である。ここでいう情報処理プログラムは、CPU111により直接実行可能なプログラムだけでなく、ソースプログラム形式のプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
図3を参照して、CPU111は、ホストOS(オペレーティングシステム)10と、ホストOS10上で実現される複数のゲストOS20と、ホストOS10上で実現されるエミュレート部30と、を含む。ホストOS10およびゲストOS20それぞれは、CPU111が一般的なオペレーティングシステムプログラムを実行するプロセスである。なお、ここでは、ゲストOS20が複数の場合を例に説明するが、ゲストOS20は、1以上であればよい。エミュレート部30は、ホストOS10による制御に基づいて、コネクタ部119をエミュレートする。なお、エミュレート部30は、ホストOS10上でゲストOS20を実現するための仮想化プログラムを、CPU111が実行するタスクである。
複数のゲストOS20のそれぞれは、例えばコンテナであり、インストール部21と、機器情報生成部22と、選択受付部23と、伝達処理部24と、アンインストール部25と、通知処理部26と、機器制御部27と、を含む。インストール部21は、ユーザーの操作に基づいて、ゲストOS20に外部機器1を制御するためのドライバプログラムをインストールする。これにより、ドライバプログラムの実行ファイル(ドライバ情報)がHDD115に記憶され、ゲストOS20にドライバ(機器制御部27)が形成される。
機器情報生成部22は、インストール部21によりインストールされたドライバプログラムから、対応する機器制御部27が制御対象とする外部機器1を特定するための機器情報を取得する。ドライバプログラムから取得される機器情報は、制御対象となる外部機器1の機種を識別できればよい。機器情報は、例えば、その外部機器1の機種を識別するためのデバイス識別子を少なくとも含む。機器情報は、外部機器1を提供する提供者を識別するためのベンダ識別子を含んでもよい。また、機器情報生成部22は、取得された機器情報と、当該機器情報生成部22を含むゲストOS20を特定するためのOS情報と、を関連付けることにより、関連付情報を生成する。
選択受付部23は、インストール部21によりインストールされた複数のドライバプログラムのいずれかの選択をユーザーから受け付ける。選択受付部23は、インストールされた1以上のドライバプログラムの一覧を表示部161に表示する。ユーザーは、インストール部21によりインストールされた複数のドライバプログラムのうち、所望のドライバプログラムを表示部161に表示された一覧から選択することができる。
伝達処理部24は、機器情報生成部22により生成された複数の関連付情報のうち、選択受付部23を介してユーザーにより選択されたドライバプログラムに対応する関連付情報をホストOS10に伝達する。
アンインストール部25は、ユーザーの指示に基づいて、インストール部21によりインストールされたドライバプログラムのいずれかをアンインストールする。ユーザーは、インストール部21によりインストールされたドライバプログラムのうち、不要なドライバプログラムのアンインストールを指示することができる。アンインストール部25は、ドライバプログラムのいずれかがアンインストールされた場合、対応するドライバ情報をHDD115から削除する。また、通知処理部26は、アンインストールされたドライバプログラムをホストOS10に通知する。
ホストOS10は、情報更新処理部11と、関連付情報記憶部12と、コネクタ部119を制御する接続受付部13と、権限付与部14と、削除処理部15と、を含む。
情報更新処理部11は、複数のゲストOS20のそれぞれの伝達処理部24により伝達される関連付情報を関連付情報記憶部12に記憶する。また、情報更新処理部11は、複数のゲストOS20のそれぞれの伝達処理部24により伝達される関連付情報に基づいて、関連付情報記憶部12に記憶された関連付情報を更新する。関連付情報記憶部12は、CPU111が備える内部レジスタであってもよいし、HDD115の予め定められた領域であってもよい。
例えば、同一の外部機器1を制御するための第1および第2のドライバプログラムが同一のゲストOS20にインストールされていることを想定する。ここで、ユーザーにより第1のドライバプログラムが選択され、第1のドライバプログラムに対応する関連付情報がゲストOS20から伝達された場合には、情報更新処理部11は、当該関連付情報を関連付情報記憶部12に記憶する。その後、ユーザーにより第2のドライバプログラムが選択され、第2のドライバプログラムに対応する関連付情報がゲストOS20から伝達された場合には、情報更新処理部11は、関連付情報記憶部12に記憶された関連付情報を第2のドライバプログラムに対応する関連付情報に更新する。
あるいは、同一の外部機器1を制御するための同一のドライバプログラムが第1および第2のゲストOS20にそれぞれインストールされていることを想定する。ここで、ユーザーにより第1のゲストOS20にインストールされたドライバプログラムが選択され、ドライバプログラムに対応する関連付情報が第1のゲストOS20から伝達された場合には、情報更新処理部11は、当該関連付情報を関連付情報記憶部12に記憶する。その後、ユーザーにより第2のゲストOS20にインストールされたドライバプログラムが選択され、ドライバプログラムに対応する関連付情報が第2のゲストOS20から伝達された場合には、情報更新処理部11は、関連付情報記憶部12に記憶された関連付情報を第2のゲストOS20から伝達された関連付情報に更新する。
接続受付部13は、コネクタ部119の1以上の接続ポートのいずれかで外部機器1が接続されたことを検出する場合、外部機器1の接続が検出された接続ポートを介して、外部機器1と通信し、外部機器1から機器情報を取得する。接続受付部13は、外部機器1から取得された機器情報を権限付与部14に通知する。
権限付与部14は、接続受付部13からコネクタ部119に接続された外部機器1の機器情報を取得する。権限付与部14は、接続受付部13から取得した機器情報を含む関連付情報が関連付情報記憶部12に記憶されているか否かを判定する。権限付与部14は、関連付情報が関連付情報記憶部12に記憶されている場合には、関連付情報記憶部12に記憶された当該関連付情報に含まれるOS情報に基づいて、複数のゲストOS20のうちから外部機器1を制御するゲストOS20を特定する。権限付与部14は、外部機器1を制御するゲストOS20を特定する場合、コネクタ部119に接続された外部機器1の制御権限を、特定されたゲストOS20に付与する。具体的には、権限付与部14は、エミュレート部30を制御して、コネクタ部119の1以上の接続ポートのうち外部機器1が接続された接続ポートを、特定されたゲストOS20に割り当てさせる。エミュレート部30は、特定されたゲストOS20のためにコネクタ部119をエミュレートする仮想コネクタの状態を、外部機器1が接続された状態に設定する。これにより、エミュレート部30によって、外部機器1が接続された接続ポートが特定されたゲストOS20に割り当てられるので、特定されたゲストOS20の機器制御部27が外部機器1を排他的に制御することが可能となる。
ゲストOS20の機器制御部27は、CPU111がHDD115に記憶された実行ファイルを実行するタスクであり、権限付与部14から権限が付与されることを条件として、制御対象の外部機器1を制御する機能を有する。具体的には、権限付与部14により権限が付与されたゲストOS20の機器制御部27は、エミュレート部30がコネクタ部119をエミュレートする仮想コネクタに外部機器1が接続されたことを検出するので、エミュレート部30およびコネクタ部119を介して、コネクタ部119に接続された外部機器1との間でセッションを確立し、外部機器1を制御する。なお、権限付与部14または接続受付部13が、権限付与部14によって権限が付与されたゲストOS20の機器制御部27がセッションの確立に必要な外部機器1の機器情報を、エミュレート部30を介して、そのゲストOS20の機器制御部27に通知するようにしてもよい。
削除処理部15は、通知処理部26からの通知に応答して、関連付情報記憶部12に記憶されている関連付情報を検索し、アンインストールされたドライバプログラムに対応する関連付情報が関連付情報記憶部12に記憶されているか否かを判定する。削除処理部15は、該当する関連付情報が関連付情報記憶部12に記憶されている場合には、当該関連付情報を関連付情報記憶部12から削除する。
図4は、ゲストOSによる情報処理の流れの一例を示すフローチャートである。ゲストOS20による情報処理は、CPU111が、ROM113、HDD115またはCD−ROM118に記憶されたゲストOSプログラムを実行することにより、CPU111により実行される処理である。ゲストOSプログラムは、情報処理プログラムの一部である。
図4を参照して、CPU111は、ゲストOS20にドライバプログラムがインストールされたか否かを判断する(ステップS01)。ドライバプログラムがインストールされたならば処理をステップS02に進めるが、そうでなければ処理をステップS04に進める。ここでは、外部機器1を制御するためのドライバプログラムがインストールされる場合を例に説明する。
ステップS02においては、インストールされたドライバプログラムから、対応する機器制御部27が制御対象とする装置の種類を特定するための機器情報を取得し、処理をステップS03に進める。ここでは、外部機器1の種類を特定するための機器情報が取得される。ステップS03においては、取得された機器情報と、当該ゲストOS20を特定するためのOS情報と、を関連付けることにより関連付情報を生成し、処理をステップS04に進める。
ステップS04においては、ゲストOS20にインストールされたドライバプログラムがユーザーにより選択されたか否かを判断する。ドライバプログラムが選択されたならば処理をステップS05に進めるが、そうでなければ処理をステップS06に進める。ステップS05においては、選択されたドライバプログラムに対応する関連付情報をホストOS10に伝達し、処理をステップS06に進める。
ステップS06においては、コネクタ部119への外部機器1の接続が検出されたか否かを判断する。具体的には、エミュレート部30がコネクタ部119をエミュレートするコネクタの複数の接続ポートのいずれかで外部機器1の接続が検出されたか否かを判断する。外部機器1の接続が検出されたならば処理をステップS07に進めるが、そうでなければ処理をステップS09に進める。
ステップS07においては、エミュレート部30を介して外部機器1との間でセッションを確立し、処理をステップS08に進める。ステップS08においては、セッションが確立された外部機器1を制御し、処理をステップS09に進める。
ステップS09においては、ゲストOS20からドライバプログラムがアンインストールされたか否かを判断する。ドライバプログラムがアンインストールされたならば処理をステップS10に進めるが、そうでなければ処理をステップS01に戻す。ステップS10においては、アンインストールされたドライバプログラムをホストOS10に通知し、処理をステップS01に戻す。
図5は、ホストOSによる情報処理の流れの一例を示すフローチャートである。ホストOS10による情報処理は、CPU111が、ROM113、HDD115またはCD−ROM118に記憶されたホストOSプログラムを実行することにより、CPU111により実行される処理である。ホストOSプログラムは、情報処理プログラムの一部である。
図5を参照して、CPU111は、ゲストOS20から関連付情報が伝達されたか否かを判断する(ステップS21)。関連付情報が伝達されたならば処理をステップS22に進めるが、そうでなければ処理をステップS23に進める。ステップS22においては、複数のゲストOS20のいずれかから伝達された関連付情報を関連付情報記憶部12に記憶し、処理をステップS23に進める。同一の外部機器1を制御するためのドライバプログラムに対応する関連付情報が既に関連付情報記憶部12に記憶されている場合には、関連付情報記憶部12に記憶された関連付情報を伝達された最新の関連付情報に更新する。その後、処理をステップS23に進める。
ステップS23においては、コネクタ部119の1以上の接続ポートのいずれかに装置が接続されたか否かを判断する。装置が接続されたならば処理をステップS24に進めるが、そうでなければ処理をステップS29に進める。ここでは、コネクタ部119の1以上の接続ポートのいずれかに外部機器1が接続される場合を例に説明する。
ステップS24においては、外部機器1の接続が検出された接続ポートを介して、外部機器1と通信し、外部機器1から機器情報を取得し、処理をステップS25に進める。ステップS25においては、取得された機器情報と同じ機器情報を含む関連付情報が関連付情報記憶部12に記憶されているか否かを判断する。関連付情報が記憶されているならば処理をステップS27に進めるが、そうでなければ処理をステップS26に進める。
ステップS26においては、関連付情報記憶部12に取得された機器情報を含む関連付情報が記憶されていないことをユーザーに通知し、処理をステップS21に戻す。例えば、取得された機器情報と同じ機器情報を含む関連付情報が関連付情報記憶部12に記憶されていないことを示すメッセージを表示部161に表示する。あるいは、複合装置100にスピーカ等の音声出力部が設けられている場合には、音声により通知するようにしてもよい。
ユーザーは、通知を受けることにより、関連付情報記憶部12に外部機器1の機器情報を含む関連付情報が記憶されていないことを認識し、複数のゲストOS20のいずれかにインストールされたドライバプログラムを選択することができる。これにより、ステップS21において選択されたドライバプログラムに対応する関連付情報が、ゲストOS20からホストOS10に伝達され、ステップS22において関連付情報記憶部12に記憶される。
ステップS27においては、ステップS24において取得された機器情報と同じ機器情報を含む関連付情報に含まれるOS情報に基づいて、外部機器1に対応するゲストOS20を特定し、処理をステップS28に進める。ステップS28においては、特定されたゲストOS20に外部機器1の接続が検出された接続ポートを割り当てる。具体的には、エミュレート部30を制御して、コネクタ部119の1以上の接続ポートのうち外部機器1が接続された接続ポートを、特定されたゲストOS20に割り当てさせる。エミュレート部30は、ゲストOS20のためにコネクタ部119をエミュレートする仮想コネクタの状態を、外部機器1が接続された状態に設定する。これにより、特定されたゲストOS20の機器制御部27に外部機器1を排他的に制御する権限が付与される。その後、処理をステップS29に進める。
ステップS29においては、アンインストールされたドライバプログラムが通知されたか否かを判断する。ドライバプログラムが通知されたならば処理をステップS30に進めるが、そうでなければ処理をステップS21に戻す。
ステップS30においては、関連付情報記憶部12に記憶された関連付情報を検索し、関連付情報記憶部12に通知されたドライバプログラムに対応する関連付情報が記憶されているか否かを判断する。関連付情報が記憶されているならば処理をステップS31に進めるが、そうでなければ処理をステップS21に戻す。ステップS31においては、関連付情報記憶部12からドライバプログラムに対応する関連付情報を削除し、処理をステップS21に戻す。
<変形例>
上述した実施の形態における複合装置100は、関連付情報をゲストOS20で生成するようにしたが、ホストOS10で生成してもよい。例えば、ホストOS10が、複数のゲストOS20のいずれかから機器情報を取得し、取得された機器情報と、複数のゲストOS20のうち当該機器情報を伝達してきたゲストOSのOS情報とを関連付けることにより関連付情報を生成してもよい。
上述した実施の形態における複合装置100は、ゲストOS20にドライバプログラムがインストールされたタイミングで当該ドライバプログラムに対応する関連付情報が生成され、ゲストOS20にインストールされた1以上のドライバプログラムの一覧からドライバプログラムのいずれかがユーザーにより選択されたタイミングで当該ドライバプログラムに対応する関連付情報がホストOS10に伝達されるようにした。しかしながら、ゲストOS20にドライバプログラムがインストールされたタイミングでは当該ドライバプログラムに対応する関連付情報が生成されず、ゲストOS20にインストールされた1以上のドライバプログラムの一覧からドライバプログラムのいずれかがユーザーにより選択されたタイミングで当該ドライバプログラムに対応する関連付情報が生成されるとともにホストOS10に伝達されてもよい。
上述した実施の形態における複合装置100は、ゲストOS20にインストールされた1以上のドライバプログラムの一覧からドライバプログラムのいずれかがユーザーにより選択されることにより、選択されたドライバプログラムに対応する関連付情報がホストOS10に伝達されるようにしたが、ゲストOS20にドライバプログラムがインストールされたタイミングで当該ドライバプログラムに対応する関連付情報が生成されるとともにホストOS10に伝達されてもよい。この場合、ゲストOS20は選択受付部23を含まない。また、ゲストOS20による情報処理におけるステップS04がスキップされる。
以上説明したように本実施の形態における複合装置100は、情報処理装置として機能し、ゲストOS20が、外部機器1を制御するためのドライバプログラムに基づいて特定される外部機器1を特定するための機器情報をホストOS10に伝達し、ホストOS10が、ゲストOS20から伝達された機器情報とゲストOS20を特定するためのOS情報と、を関連付けた関連付情報を記憶し、コネクタ部119が備える複数の接続ポートのいずれかに外部機器1が接続されることに応じて、関連付情報により外部機器1と関連付けられたゲストOS20に外部機器1の制御権限を付与する。これにより、コネクタ部119が備える複数の接続ポートのいずれかに外部機器1が接続されることに応じて、関連付情報により外部機器1と関連付けられたゲストOS20に外部機器1の制御権限が付与されるので、コネクタ部119が備える複数の接続ポートのいずれかに接続される予定の外部機器1が接続される場合にその外部機器1を確実に利用することが可能になる。また、ユーザーは、外部機器1と、複数のゲストOS20のうち外部機器1を制御するゲストOS20を特定する情報との関連付けをホストOS10に設定する必要がない。したがって、コネクタ部119が備える複数の接続ポートのいずれかに接続される予定の外部機器1を利用可能とするためのユーザーによる設定操作を容易にすることができる。
また、ゲストOS20およびホストOS10のいずれか一方は、関連付情報を生成する。そのため、ホストOS10に、関連付情報を設定するユーザーによる操作が不要となる。
また、インストール部21に1以上の外部機器1にそれぞれ対応する1以上のドライバプログラムがインストールされている場合、伝達処理部24は、表示部161に表示された一覧から1以上のドライバプログラムのいずれかがユーザーにより選択受付部23を介して選択されることに応じて、選択されたドライバプログラムに対応する機器情報を送信する。そのため、インストール部21にインストールされた1以上のドライバプログラムからユーザーにより選択されたドライバプログラムに対応して関連付情報が関連付情報記憶部12に記憶される。これにより、ユーザーは、選択受付部23に対してインストールされたドライバプログラムを選択する操作をすればよく、ホストOS10に関連情報を設定するユーザーによる操作が不要となる。
あるいは、伝達処理部24は、情報更新処理部11を制御するためのドライバプログラムがインストール部21にインストールされることに応じて、機器情報を送信する。そのため、ユーザーは、所望のドライバプログラムをインストール部21にインストールすることにより、当該ドライバプログラムに対応する関連付情報が関連付情報記憶部12に記憶される。これにより、ユーザーは、ドライバプログラムをインストール部21にインストールする操作をすればよく、ホストOS10に関連情報を設定するユーザーによる操作が不要となる。
また、ゲストOS20は、さらに、ドライバプログラムがアンインストール部25によりアンインストールされた場合、ホストOS10に通知する通知処理部26を備え、ホストOS10は、さらに、通知に応答して、アンインストールされたドライバプログラムに対応する関連付情報を関連付情報記憶部12から削除する削除処理部15を備える。そのため、外部機器1の制御権限が誤って付与されることを防止することができる。
なお、本実施の形態においては、情報処理装置の一例として、複合装置100を例に説明したが、図4および図5に示した情報処理プログラムを、コンピューターに実行させるための情報処理方法、また、その情報処理方法をコンピューターに実行させるための情報処理プログラムとして発明を捉えることができるのは言うまでもない。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 外部機器、10 ホストOS、11 情報更新処理部、12 関連付情報記憶部、13 接続受付部、14 権限付与部、15 削除処理部、20 ゲストOS、21 インストール部、22 機器情報生成部、23 選択受付部、24 伝達処理部、25 アンインストール部、26 通知処理部、27 機器制御部、30 エミュレート部、100 複合装置、110 メイン回路、111 CPU、112 通信I/F部、113 ROM、114 RAM、115 HDD、116 ファクシミリ部、117 外部記憶装置、118 CD−ROM、119 コネクタ部、120 自動原稿搬送装置、130 原稿読取部、140 画像形成部、150 給紙部、160 操作パネル、161 表示部、163 操作部、165 タッチパネル、167 ハードキー部

Claims (7)

  1. ゲストオペレーティングシステムと、
    前記ゲストオペレーティングシステムを実現するホストオペレーティングシステムと、を備え、
    前記ゲストオペレーティングシステムは、
    外部機器を制御するためのドライバプログラムに基づいて特定される前記外部機器を特定するための機器情報を前記ホストオペレーティングシステムに伝達する伝達処理手段を備え、
    前記ホストオペレーティングシステムは、
    前記伝達された機器情報と、当該機器情報を伝達してきた前記ゲストオペレーティングシステムを特定するためのオペレーティングシステム情報と、を関連付けた関連付情報を記憶する関連付情報記憶手段と、
    前記外部機器が接続されることに応じて、前記関連付情報により前記外部機器と関連付けられた前記ゲストオペレーティングシステムに前記外部機器の制御権限を付与する権限付与手段と、を備える、情報処理装置。
  2. 前記ゲストオペレーティングシステムおよび前記ホストオペレーティングシステムのいずれか一方は、前記関連付情報を生成する、請求項1に記載の情報処理装置。
  3. 前記伝達処理手段は、1以上の外部機器にそれぞれ対応する1以上のドライバプログラムがインストールされている場合、前記1以上のドライバプログラムのいずれかがユーザーにより選択されることに応じて、前記選択されたドライバプログラムに対応する前記機器情報を送信する、請求項1または2に記載の情報処理装置。
  4. 前記伝達処理手段は、前記外部機器を制御するための前記ドライバプログラムがインストールされることに応じて、前記機器情報を送信する、請求項1または2に記載の情報処理装置。
  5. 前記ゲストオペレーティングシステムは、さらに、
    前記ドライバプログラムがアンインストールされた場合、前記ホストオペレーティングシステムに通知する通知処理手段を備え、
    前記ホストオペレーティングシステムは、さらに、
    前記通知に応答して、アンインストールされた前記ドライバプログラムに対応する前記関連付情報を前記関連付情報記憶手段から削除する削除処理手段を備える、請求項1〜4のいずれかに記載の情報処理装置。
  6. ゲストオペレーティングシステムを実現するホストオペレーティングシステムを備える情報処理装置で実行される情報処理方法であって、
    外部機器を制御するためのドライバプログラムに基づいて特定される前記外部機器を特定するための機器情報を前記ゲストオペレーティングシステムにより前記ホストオペレーティングシステムに伝達するステップと、
    前記伝達された機器情報と、当該機器情報を伝達してきた前記ゲストオペレーティングシステムを特定するためのオペレーティングシステム情報と、を関連付けた関連付情報を前記ホストオペレーティングシステムにより記憶するステップと、
    前記外部機器が接続されることに応じて、前記関連付情報により前記外部機器と関連付けられた前記ゲストオペレーティングシステムに前記外部機器の制御権限を前記ホストオペレーティングシステムにより付与するステップと、を含む、情報処理方法。
  7. ゲストオペレーティングシステムを実現するホストオペレーティングシステムを備える情報処理装置で実行される情報処理プログラムであって、
    外部機器を制御するためのドライバプログラムに基づいて特定される前記外部機器を特定するための機器情報を前記ゲストオペレーティングシステムにより前記ホストオペレーティングシステムに伝達するステップと、
    前記伝達された機器情報と、当該機器情報を伝達してきた前記ゲストオペレーティングシステムを特定するためのオペレーティングシステム情報と、を関連付けた関連付情報を前記ホストオペレーティングシステムにより記憶するステップと、
    前記外部機器が接続されることに応じて、前記関連付情報により前記外部機器と関連付けられた前記ゲストオペレーティングシステムに前記外部機器の制御権限を前記ホストオペレーティングシステムにより付与するステップと、を前記情報処理装置に実行させる、情報処理プログラム。
JP2017246610A 2017-12-22 2017-12-22 情報処理装置、情報処理方法および情報処理プログラム Pending JP2019114025A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017246610A JP2019114025A (ja) 2017-12-22 2017-12-22 情報処理装置、情報処理方法および情報処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017246610A JP2019114025A (ja) 2017-12-22 2017-12-22 情報処理装置、情報処理方法および情報処理プログラム

Publications (1)

Publication Number Publication Date
JP2019114025A true JP2019114025A (ja) 2019-07-11

Family

ID=67222638

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017246610A Pending JP2019114025A (ja) 2017-12-22 2017-12-22 情報処理装置、情報処理方法および情報処理プログラム

Country Status (1)

Country Link
JP (1) JP2019114025A (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017068770A1 (ja) * 2015-10-22 2017-04-27 日本電気株式会社 コンピュータ、デバイス割当管理方法及びプログラム記録媒体
JP2017134587A (ja) * 2016-01-27 2017-08-03 株式会社リコー 情報処理方法、および、情報処理装置
JP6250233B1 (ja) * 2016-11-16 2017-12-20 三菱電機株式会社 情報処理装置、デバイス割り当て方法およびデバイス割り当てプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017068770A1 (ja) * 2015-10-22 2017-04-27 日本電気株式会社 コンピュータ、デバイス割当管理方法及びプログラム記録媒体
JP2017134587A (ja) * 2016-01-27 2017-08-03 株式会社リコー 情報処理方法、および、情報処理装置
JP6250233B1 (ja) * 2016-11-16 2017-12-20 三菱電機株式会社 情報処理装置、デバイス割り当て方法およびデバイス割り当てプログラム

Similar Documents

Publication Publication Date Title
US10382640B2 (en) Information processing system, information processing apparatus, image forming apparatus, information processing method, and computer program product
US10735614B2 (en) Information processing system, information processing apparatus, image forming apparatus, information processing method, and computer program product
US9417862B2 (en) Information processing apparatus, function extension method for information processing apparatus, and non-transitory computer-readable storage medium
JP6547291B2 (ja) 情報処理システムおよび情報処理方法
US10609509B2 (en) Information processing system, information processing apparatus, and information processing method for providing application information
JP2011141683A (ja) 画像処理装置、表示装置、認証システム、表示制御方法、表示制御プログラム、及びそのプログラムを記録した記録媒体
EP3023898B1 (en) Information processing device and information processing method
JP6927276B2 (ja) 情報処理システム、情報処理装置、情報処理方法およびプログラム
KR20120134913A (ko) 화상 형성 장치의 어플리케이션을 개발하는 방법 및 장치
JP2017005475A (ja) 画像形成装置、画像形成方法およびプログラム
US20140189170A1 (en) Information processing apparatus, setting information management method and recording medium
US20180091682A1 (en) Image forming apparatus, method for controlling image forming apparatus, and storage medium
JP6379699B2 (ja) 情報処理装置、情報処理システム、情報処理プログラム、および情報処理方法
JP5741665B2 (ja) 画像処理装置、表示装置、認証システム、表示制御方法、及び表示制御プログラム。
JP2018156611A (ja) 画像形成装置、情報処理端末及びプログラム
JP2018194910A (ja) 情報処理装置、ドライバのインストール方法およびプログラム
JP2015108939A (ja) 情報処理システム、情報処理装置、情報処理方法及びプログラム
JP6819320B2 (ja) 情報処理システム、および情報処理方法
US10205852B2 (en) System, apparatus, and method for allowing a program to cache user information
JP6885124B2 (ja) 情報処理システム、情報処理装置および情報処理方法
JP2019114025A (ja) 情報処理装置、情報処理方法および情報処理プログラム
US10389901B2 (en) Information processing device, information processing system, and information processing method
JP2008176674A (ja) 電子機器、サービス提供方法及びプログラム
JP6520405B2 (ja) 携帯端末、コンテンツ指定プログラム、及び出力プログラム
JP6424441B2 (ja) 複合機、情報処理方法、情報処理プログラム、および情報処理システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210726

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210817

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211019

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20220412