JP2018195209A - デバイス制御装置、デバイス制御方法およびプログラム - Google Patents
デバイス制御装置、デバイス制御方法およびプログラム Download PDFInfo
- Publication number
- JP2018195209A JP2018195209A JP2017100303A JP2017100303A JP2018195209A JP 2018195209 A JP2018195209 A JP 2018195209A JP 2017100303 A JP2017100303 A JP 2017100303A JP 2017100303 A JP2017100303 A JP 2017100303A JP 2018195209 A JP2018195209 A JP 2018195209A
- Authority
- JP
- Japan
- Prior art keywords
- notification
- control
- information processing
- unit
- 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.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
【課題】ユーザがデバイスを操作した際に、情報処理装置とデバイス制御装置との間のレイテンシの影響によるデバイスの操作に対する応答遅延からユーザの誤操作を低減させ、ユーザビリティを向上させることを目的とする。
【解決手段】デバイス制御装置は、ネットワークを介して情報処理装置に接続され、デバイスをローカル接続されている。仮想化制御部は情報処理装置にデバイスがあたかもローカル接続されているかのように仮想化制御させ、前記デバイスに対する所定の操作を検出して、報知部に報知手段に報知を行わせるための報知制御通知を通知する。報知部は仮想化制御部からの通知に応じて、報知を行う。
【選択図】図4
【解決手段】デバイス制御装置は、ネットワークを介して情報処理装置に接続され、デバイスをローカル接続されている。仮想化制御部は情報処理装置にデバイスがあたかもローカル接続されているかのように仮想化制御させ、前記デバイスに対する所定の操作を検出して、報知部に報知手段に報知を行わせるための報知制御通知を通知する。報知部は仮想化制御部からの通知に応じて、報知を行う。
【選択図】図4
Description
本発明は、ネットワークを介して接続された情報処理装置に対して各種要求を行うためのデバイス制御装置、デバイス制御方法およびプログラムに関するものである。
近年、ネットワークの普及によって、プリンタ、ストレージ、およびスキャナなどのデバイスを、ネットワーク上の情報処理装置が共有デバイスとして遠隔利用する技術が提案されている。
例えば、第1のコンピュータと移動端末(デバイス)がUSBインターフェースを介して接続され、第1のコンピュータ(デバイス制御装置)と第2のコンピュータ(情報処理装置)がネットワークを介して接続されたシステムにおいて、第2のコンピュータは移動端末に応じた機能ドライバ(デバイスドライバ)を用いて、移動端末を制御できるものがある(特許文献1参照)。
しかしながら、特許文献1のシステムにおいて、ユーザはデバイスを操作(例えば、タッチパネルのタップなど)した際に、情報処理装置とデバイス制御装置との間(特にインターネット接続環境のとき)の通信遅延(以下「レイテンシ」と呼ぶ)の影響により、当該操作に対する応答の遅延が発生し、当該操作が行われたどうかをユーザは認識できない。そのため、ユーザは操作をしていない(操作を受け付けられてない)と認識してデバイスを連続して操作してしまい、その連続した操作によって、情報処理装置を誤操作する恐れがある。
そこで、本発明は、ユーザがデバイスを操作した際に、情報処理装置とデバイス制御装置との間のレイテンシの影響によるデバイスの操作に対する応答遅延からユーザの誤操作を低減させ、ユーザビリティを向上させるデバイス制御装置、デバイス制御方法、およびプログラムを提供することを目的とする。
上記の課題を解決するために、請求項1に記載のデバイス制御装置は、ネットワークを介して情報処理装置に接続されると共に、デバイスが内蔵されている、または、デバイスがローカル接続されているデバイス制御装置であって、前記情報処理装置に前記デバイスがあたかもローカル接続されているかのように仮想化制御させ、前記デバイスに対する所定の操作を検出し、報知手段に報知を行わせるための通知を送信する仮想化制御手段と、前記仮想化制御手段から前記通知を受信した場合、報知を行う報知手段と、を備えることを特徴とする。
本発明によれば、ユーザがデバイスを操作した際に、情報処理装置とデバイス制御装置との間のレイテンシの影響によるデバイスの操作に対する応答の遅延からユーザの誤操作を低減させ、ユーザビリティを向上させることができる。
以下、本発明の実施形態によるデバイス制御システムの一例について図面を参照して説明する。
[第1の実施形態]
図1は、本発明の実施形態によるデバイス制御システムの一例を概略的に示すブロック図である。
図1は、本発明の実施形態によるデバイス制御システムの一例を概略的に示すブロック図である。
<システム構成>
図示のデバイス制御システムにおいては、情報処理装置100、デバイス制御装置200、デバイス300から構成されている。
図示のデバイス制御システムにおいては、情報処理装置100、デバイス制御装置200、デバイス300から構成されている。
情報処理装置100とデバイス制御装置200との間は、インターネット回線やモバイル回線などの無線回線、又は有線回線などの通信回線を介して接続されている。
デバイス300は、USB(Universal Serial Bus)インターフェースに準拠した接続ケーブルでデバイス制御装置200に接続(ローカル接続)されている。ただし、USBに限定されるものではなく、HDMI(登録商標)やIEEE1394など別のインターフェースに準拠したものであってもよい。以降の説明ではデバイス300の通信インターフェースをUSBとして説明する。
なお、図1に示すデバイス制御システムにおいては情報処理装置100、デバイス制御装置200、デバイス300がそれぞれ1つのみ示されているが、情報処理装置100、デバイス制御装置200、デバイス300の台数は図示の例に限定されるものではない。
<情報処理装置100の構成>
情報処理装置100は、例えば、ユーザによって利用されるパーソナルコンピュータ(PC)などの装置であって、ハードウェア構成として、CPU151、入力部152、表示部153、メモリ154、および通信部155、記憶部110を備えており、これらハードウェアは内部バスで相互に接続されている。
情報処理装置100は、例えば、ユーザによって利用されるパーソナルコンピュータ(PC)などの装置であって、ハードウェア構成として、CPU151、入力部152、表示部153、メモリ154、および通信部155、記憶部110を備えており、これらハードウェアは内部バスで相互に接続されている。
CPU151は、情報処理装置100全体の制御を司る。入力部152は、例えば、キーボードおよびマウスを備えている。表示部153として、例えば、液晶モニタが用いられる。メモリ154はRAMおよびROMなどである。
通信部155は、通信回線に接続するためのインターフェースであって、デバイス制御装置200とデータ送受信を行う。
記憶部110には、ソフトウェアであるオペレーティングシステム(以下「OS」と呼ぶ:不図示)、アプリケーション101、デバイスドライバ102、仮想化制御部103、通信制御部104が記憶されるとともに、他の機能に係るソフトウェアが記憶されている。なお、これらソフトウェアはメモリ154に読み出されて、CPU151の制御に従い動作する。
アプリケーション101は、デバイスドライバ102に対してデータ入出力要求を指示することによって、デバイス制御装置200を介してデバイス300を制御するソフトウェアプログラムである。
デバイスドライバ102は、OSまたはアプリケーション101からのデータ入出力要求を、デバイス制御装置200を介してデバイス300に応じたデータ形式のデータ(以下「制御コマンド」と呼ぶ)に変換して、当該制御コマンドを仮想化制御部103に送る。さらに、デバイスドライバ102は制御コマンドに対する応答をアプリケーション101に送信する。デバイスドライバ102は、一般に製造会社によって提供されるソフトウェア部品であって、情報処理装置100は各デバイスに対応したデバイスドライバ102によってデバイス制御装置200を介してデバイス300を制御することができる。
仮想化制御部103は、デバイスドライバ102から送られた制御コマンド(つまり、データ入出力要求)をUSBデータ形式に準拠したパケットデータ(以下「USBデータ」と呼ぶ)に変換する。また、仮想化制御部103は通信制御部104から送られてくるUSBデータを制御コマンドと同様のデータ形式に変換してデバイスドライバ102に送る。
さらに、仮想化制御部103は、デバイス300に対するデータ送受信要求に対して、デバイス300が情報処理装置100に直接的に接続(ローカル接続)されている際と同様の振る舞いをシミュレートする機能(以下「仮想化制御機能」と呼ぶ)を備えている。この仮想化制御機能によって、情報処理装置100はデバイス300をローカル接続した場合と同一の状態であると認識してデータの送受信を行うことができる。
通信制御部104は、仮想化制御部103から送られるUSBデータとデバイス制御装置200と通信する際のネットワークパケットとの変換処理を行って、デバイス制御装置200との間でデータ送受信の制御を行うソフトウェアである。また、通信制御部104は仮想化制御部103を介してアプリケーション101またはデバイスドライバ102から送られるデータ送受信要求に応じて、デバイス制御装置200との間のセッションの開始および切断の制御を行う。
<デバイス制御装置200の構成>
デバイス制御装置200は、例えば、プリンタまたは複合機などの周辺機器であって、ハードウェア構成として、CPU251、入力部252、表示部253、メモリ254、通信部255、報知部256、および記憶部210等を備える。
デバイス制御装置200は、例えば、プリンタまたは複合機などの周辺機器であって、ハードウェア構成として、CPU251、入力部252、表示部253、メモリ254、通信部255、報知部256、および記憶部210等を備える。
CPU251はデバイス制御装置200全体の制御を司る。入力部252は、例えば、タッチパネルやボタン等を備えている。表示部253として、例えば、液晶パネルが用いられる。メモリ254はRAMおよびROM等である。
通信部255はLANに接続するためのインターフェースであって、情報処理装置100とデータ送受信を行う。
報知部256は、デバイス制御装置200が有するスピーカー、LED等である。例えば、スピーカーやブザーは、音によりユーザに音声情報を提供する。LEDは、明滅によりユーザに視覚情報を提供する。なお、視覚情報と音声情報を両方提供しても良い。なお、報知部256による報知だけでなく、表示部253によってユーザに視覚情報を提供してもよい。
記憶部210には、ソフトウェアであるOS(不図示)、通信制御部201、仮想化制御部202、デバイス制御部203が記憶されるとともに、他の機能に係るソフトウェアが記憶されている。なお、これらソフトウェアはメモリ254に読み出されて、CPU251の制御に従い動作する。
通信制御部201は、情報処理装置100との間で行われる入出力データ等の送受信を制御する。
仮想化制御部202は、デバイス制御装置200に接続されたデバイス300があたかも情報処理装置100にローカル接続されているかのように情報処理装置100へ認識させて制御できるようにするため、情報処理装置100の仮想化制御部103からの制御要求に従って(連動して)デバイス300の制御を行う。
また、仮想化制御部202は、デバイス300の操作状況を監視し、デバイスが操作されたことを検出した場合、報知部256に報知を行わせるための通知(以下、報知制御通知)を送信する。なお、仮想化制御部202は、後述するデバイス管理情報を参照して、1つの報知部256に報知制御通知を送信してもよいし、複数の報知部256に報知制御通知を送信してもよい。
デバイス制御部203は、デバイス300の制御を行い、デバイス300とデバイス制御装置200との間のデータ送受信の制御を行う。
また、デバイス制御部203は、デバイス制御装置200に接続されたデバイス300に関する情報(後述するデバイス管理情報204)を認識・管理する。
<デバイス300の構成>
デバイス300は、個体識別情報301および通信I/F302を備えており、デバイス制御装置200にUSBインターフェース等の通信I/F302によって接続されている。なお、本実施形態において、デバイス300は、例えば、タッチパネル、マウス、キーボード、およびテンキー等の入力装置等(HIDクラス)として説明する。
デバイス300は、個体識別情報301および通信I/F302を備えており、デバイス制御装置200にUSBインターフェース等の通信I/F302によって接続されている。なお、本実施形態において、デバイス300は、例えば、タッチパネル、マウス、キーボード、およびテンキー等の入力装置等(HIDクラス)として説明する。
前述のように、デバイス300はデバイス制御装置200にUSBインターフェースによって外付けで接続されている。なお、デバイス300が備える通信インターフェースは、USBやHDMI(登録商標)、IEEE1394に限定されるものではない。
個体識別情報301は、デバイス300を識別するための情報であって、メーカーを識別するために機器を製造したメーカー毎に割り当てられたベンダーID(VID)、機種を識別するために機種毎に割り当てられた製品ID(PID)、機器の個体を識別するために機器毎に割り当てられたシリアル番号などである。デバイス300がデバイス制御装置200に接続された場合、デバイス制御装置200はデバイス300から個体識別情報を取得する。
<デバイス管理情報204について>
次に、デバイス制御装置200が有するデバイス管理情報204について説明する。デバイス管理情報204は、デバイス制御装置200に接続されたデバイス300の情報(個体識別情報)および報知部256の制御に関する情報(以下「報知関連情報」と呼ぶ)を含む情報である。
次に、デバイス制御装置200が有するデバイス管理情報204について説明する。デバイス管理情報204は、デバイス制御装置200に接続されたデバイス300の情報(個体識別情報)および報知部256の制御に関する情報(以下「報知関連情報」と呼ぶ)を含む情報である。
図2は、図1に示すデバイス管理情報204の一例を示す図である。デバイス管理情報204は、デバイス名、ベンダーID、製品ID、クラス、インターフェース、報知設定、対応報知部から構成される。図2の例示では、デバイス300A、デバイス300B、デバイス300Cの3台のデバイスに関する情報を管理している。
デバイス名は、デバイス制御装置200に接続されたデバイス300の名称を示し、主にUSBディスクリプタ情報から取得されるデバイス名称である。なお、デバイス名はUSBディスクリプタ情報から取得するだけでなく、デバイス300を識別できるような情報であればよい。
ベンダーID、製品IDは、前述のとおりである。
クラスは、デバイスの種類を表す情報である。
インターフェースは、デバイス300の転送タイプを示す情報である。例えば、USBにおける転送のタイプとして「インタラプト転送」、「バルク転送」、「アイソクロナス転送」、「コントロール転送」がある。
報知設定は、各デバイス300の操作に応じて、報知部256で報知を行うか否かを示す情報である。図2の例示では、デバイスAとデバイスCは報知を行う「ON」に設定され、デバイスBは報知を行わない「OFF」に設定されている。
対応報知部は、デバイス300の操作を検知した場合に、当該デバイス300に対応づけられた報知部256を示す情報である。図2の例示では、デバイスAは報知部1(例:スピーカー)に設定され、デバイスBは、報知部2(LED)に設定され、デバイスCは報知部1(例:スピーカー)と報知部2(LED)に設定されている。
なお、ユーザは情報処理装置100、デバイス制御装置200、デバイス300のいずれか1つから各デバイスの報知設定や対応報知部の設定・変更(更新)を行うことができる。また、デバイス制御装置200に複数のデバイス300が接続されている場合、報知設定や対応報知部の設定をデバイス300毎に行っても良いし、複数のデバイス300をまとめて(一括して)行ってもよい。
<情報処理装置100におけるデバイス300の仮想化制御>
図3は、図1に示す情報処理装置100におけるデバイス300の仮想化制御に係る処理を説明するためのフローチャートである。
図3は、図1に示す情報処理装置100におけるデバイス300の仮想化制御に係る処理を説明するためのフローチャートである。
情報処理装置100内のOS起動中に常に待機および動作しているソフトウェア(以後常駐モジュールと呼ぶ:不図示)は、デバイス制御装置200を介して通信回線に接続されたデバイス300を知るために、通信制御部104を介して、デバイス制御装置200に対して検索パケットをブロードキャストする。具体的には、UDP(User Datagram Protocol)などのプロトコルを用いて、デバイス制御装置200の検索(問い合わせ)を行なう。
情報処理装置100は、デバイス制御装置200からデバイス300の個体識別情報を受信したか判断する(ステップS301)。
情報処理装置100は、デバイス制御装置200から応答がなく、個体識別情報を受信しない場合は(ステップS301でNo)、仮想化制御に関す処理は行わずに、本制御フローを終了する。
情報処理装置100は、デバイス制御装置200から個体識別情報301の受信を待ち(ステップS301)、デバイス制御装置200から受信がない場合には(ステップS301でNo)、仮想化制御に関する処理は行わず、本制御フローを終了する。
一方、情報処理装置100は、デバイス制御装置200から個体識別情報301を受信すると(ステップS301でYes)、メモリなどに個体識別情報301の登録を行う(ステップS302)。
情報処理装置100は、取得した個体識別情報301のうち、デバイスディスクリプタに記述されたベンダーID(VID)と製品ID(PID)、ストリングディスクリプタに記述されたシリアル番号とデバイス名称によってデバイス300の個体を識別する。また、インターフェースディスクリプタに記述されたインターフェース番号を識別する。このようにして識別されたデバイス300の個体に関する情報に基づいて、仮想化制御部103の生成(ステップS303)、デバイスドライバの生成(ステップS304)を動的に行う。
その後、情報処理装置100は、アプリケーション101を起動し、アプリケーション101からドライバソフトウェア部品を制御するためのインターフェース(アプリケーション/ドライバインターフェース)を起動する(ステップS305)。このようにして、情報処理装置100はデバイス300の仮想化制御を実行する。
情報処理装置100は、デバイス300の仮想化制御を実行後、デバイス制御装置200に接続要求を送信して、デバイス制御装置200とセッションを接続し、データ送受信を行う(ステップS306)。
<仮想化制御時のデバイス制御装置200の処理について>
図4は、図1に示すデバイス制御装置200における仮想化制御に関する処理および報知処理を説明するためのフローチャートである。
図4は、図1に示すデバイス制御装置200における仮想化制御に関する処理および報知処理を説明するためのフローチャートである。
初めにデバイス制御装置200が、デバイス制御装置200自身に接続されたデバイス300を情報処理装置100に仮想化制御させる処理について説明する。
デバイス制御部203は、デバイス300の接続検知の有無(接続検知・接続未検知)を判断する(ステップS401)。デバイス300の接続を検知しなかった場合(ステップS401でNo)、ステップS401に戻り、デバイス300の接続検知の有無に関する処理を継続する。
デバイス制御部203は、デバイス300の接続検知の有無(接続検知・接続未検知)を判断する(ステップS401)。デバイス300の接続を検知しなかった場合(ステップS401でNo)、ステップS401に戻り、デバイス300の接続検知の有無に関する処理を継続する。
デバイス制御部203は、デバイス300が接続されたことを検知した場合(ステップS401でYes)、デバイス300から個体識別情報を取得し、個体識別情報をデバイス管理情報に記憶する。その後、デバイス制御部203は、個体識別情報301を参照し、予め設定した所定の条件(例:デバイス300のクラス情報を参照して、HIDクラスならば、報知部1を設定する)に応じて、または、入力部252を介して入力された報知関連情報(報知設定および報知デバイス)を設定する(ステップS402)。
なお、デバイス制御装置200がデバイスから個体識別情報を取得する毎にユーザによって情報処理装置100、デバイス制御装置200、および、デバイス300から報知関連情報を設定・更新してもよい。また、個体識別情報301に含まれるクラスに関する情報、インターフェースに関する情報、ベンダーID、製品IDなどを参照し、ユーザによって予め設定された条件(例:デバイス300のクラス情報を参照して、HIDクラスならば、報知部1を設定する)に基づいて、報知関連情報を設定・更新するようにしてもよい。
デバイス制御装置200は、デバイス300の個体識別情報301を情報処理装置100に送信し、情報処理装置100にデバイス300の仮想化制御を開始させる。その後、デバイス制御装置200は、情報処理装置100からの接続要求の受信に応じて、情報処理装置100とセッションを接続して、データ送受信を開始する(ステップS403)。ここまでは、デバイス制御装置200においてデバイス300を情報処理装置100に仮想化制御させる処理について説明した。
次に、デバイス制御装置200がデバイス300の操作を検出した後に報知部256に報知を行わせるための通知を行う処理について説明する。
仮想化制御部202は、情報処理装置100からデバイス300を制御するためのデータ(以下、デバイス制御データ)を受信したかを判定する(ステップS404)。仮想化制御部202は、情報処理装置100からデバイス制御データを受信しない場合(ステップS404でNo)、情報処理装置100からデバイス制御データを受信するまで待機する。
仮想化制御部202は、情報処理装置100からデバイス300を制御するためのデータ(以下、デバイス制御データ)を受信したかを判定する(ステップS404)。仮想化制御部202は、情報処理装置100からデバイス制御データを受信しない場合(ステップS404でNo)、情報処理装置100からデバイス制御データを受信するまで待機する。
デバイス制御装置200において、情報処理装置100からデバイス制御データを受信した場合(ステップS404でYes)、仮想化制御部202は、デバイス制御部203を介してデバイス300へデバイス制御データを転送する(ステップS405)。
仮想化制御部202は、デバイス制御部203を介してデバイス300からデバイス制御データに対する応答を受信したかを判定する(ステップS406)。
仮想化制御部202は、デバイス300から応答を受信しない場合(ステップS406でNo)、デバイス300から応答を受信するまで待機する。
仮想化制御部202は、デバイス300から応答を受信しない場合(ステップS406でNo)、デバイス300から応答を受信するまで待機する。
仮想化制御部202は、デバイス制御部203を介してデバイス300から応答を受信したと判断した場合(ステップS406でYes)、デバイス300で操作が行われたと認識して、デバイス管理情報204を参照し、応答を受信したデバイス300の報知設定を確認し、報知を行うデバイス300であるかを判定する(ステップS407)。
仮想化制御部202は、応答を受信したデバイス300が報知を行う設定のデバイス(報知設定がONである)と判断した場合(ステップS407でYes)、デバイス管理情報204を参照し、報知部256に報知制御通知を送信する。このとき、仮想化制御部202は、デバイス300の操作に応じた情報処理装置100へのデータ送信またはこのデータ送信に対する応答を待たずに、報知部256に報知制御通知を送信する。その後、報知部256は、仮想化制御部202からの報知制御通知の受信に応じて、報知を行う(ステップS408)。
一方、仮想化制御部202は、応答を受信したデバイス300が報知を行わない設定のデバイス(報知設定がOFFである)と判断した場合(ステップS407でNo)、ステップS409に進む。
デバイス制御装置200は、デバイス300から受信した応答に基づいて、情報処理装置100へデータを送信する(ステップS409)。その後、本制御フローを終了する。
上述した各ステップは、以下のように適用することも可能である。
ステップS402において、デバイス制御装置200は、情報処理装置100とデバイス制御装置200との間で予めレイテンシを計測して記憶し、情報処理装置100とデバイス制御装置200のレイテンシに応じて、デバイス管理情報204における報知設定のON/OFFを切り替える。例えば、レイテンシが所定の範囲内(例:20m秒未満)であれば、デバイス300の報知設定をOFFにし、レイテンシが所定の範囲を超える(例:20m秒以上)であれば、デバイス300の報知設定をONにする。
ステップS406において、デバイス制御装置200はデバイス300における所定の操作が行われた場合に、ステップS408において、報知部256の報知を行う。例えば、デバイス300がタッチパネルの場合、シングルタップは、報知部256の報知を行わず、ダブルタップは、報知部256の報知を行う。
ステップS406において、仮想化制御部202は、デバイス300に対して連続した所定回数の操作(例:タップ)が所定時間内に行われたことを検出した場合(例えば、ユーザがデバイスの操作に対して応答がないと判断し、連続して操作した場合)、ステップS408において、初回の操作に対して、報知制御通知を報知部256に送信し、2回目以降の操作に対して、報知制御通知を報知部256に送信しないようにする。または、2回目以降の操作に対して、情報処理装置100にデータを送信しないようにする。
ステップS407において、デバイス制御装置200は、情報処理装置100とデバイス制御装置200との間のレイテンシが所定の範囲内(例:ユーザが設定した許容範囲内)の場合、所定のデバイス300から応答を受信しても報知部256の報知を行わないようにする。これは、ユーザがデバイス300を操作してから、レイテンシが所定の範囲以内であれば、ユーザが許容できる範囲内と判断し、報知を行わないことで、デバイス300の操作に応じて、むやみに報知することを防止するためである。
ステップS408において、仮想化制御部202はデバイス300の操作を検出してから所定時間経過後に報知部256に報知制御通知を送信し、報知部256による報知を行わせるように制御する。これは、ユーザがデバイス300を操作した後に(直後に)報知部256による報知を行っても、ユーザはデバイス300の操作に集中していて、報知部256による報知にユーザが気づかない(見逃しや聞き逃しの)可能性があり、ユーザによる報知の見逃しや聞き逃しを防止するためである。
上述のように、本発明の第1の実施形態では、デバイス制御装置200が備える仮想化制御部202は、情報処理装置100に仮想化制御されたデバイス300の所定の操作を検出した場合、報知部256に報知制御通知を送信して報知させることにより、情報処理装置100とデバイス制御装置200との間におけるレイテンシの影響による応答遅延から誤操作を防止し、ユーザビリティを向上させることができる。
[第2の実施形態]
次に本発明の第2の実施形態について説明する。第1の実施形態では、デバイス制御装置200にデバイス300が外部接続(USB接続)されている場合に、デバイス300の操作に応じて、報知部256の報知を行う例示を説明した。第2の実施形態ではデバイス制御装置200内のタッチパネルの入力機能および表示機能を内部デバイスとして情報処理装置100に仮想化制御させ、この内部デバイスの操作に応じて、報知部256の報知を行う場合について説明する。
次に本発明の第2の実施形態について説明する。第1の実施形態では、デバイス制御装置200にデバイス300が外部接続(USB接続)されている場合に、デバイス300の操作に応じて、報知部256の報知を行う例示を説明した。第2の実施形態ではデバイス制御装置200内のタッチパネルの入力機能および表示機能を内部デバイスとして情報処理装置100に仮想化制御させ、この内部デバイスの操作に応じて、報知部256の報知を行う場合について説明する。
図5は、本発明の第2の実施形態に係るデバイス制御システムの一例の構成を概略的に示すブロック図である。なお、第1の実施形態と同様の構成については同じ参照番号を付し説明を省略する。
デバイス制御装置200は、第1の実施形態の構成に加え、仮想デバイス制御部213、仮想デバイス管理情報214、およびデータ形式変換処理部215、入力I/F216、ディスプレイI/F217および内部デバイス218を備えている。
内部デバイス218は、入力機能および表示機能を備えた入出力装置(例:タッチパネル)であって、内部バスを介してそれぞれ入力I/F216およびディスプレイI/F217に接続される。入力機能はタッチパネルからの入力を処理し、表示機能はタッチパネルへの表示を処理し、情報処理装置100の操作の際に用いられる。
仮想デバイス制御部213は、第1の実施形態で説明したデバイス300と同様に内部デバイス218を識別するために後述する仮想デバイス識別情報(不図示)を生成し、内部デバイス218に割り当てる。この仮想デバイス制御部の機能により、内部デバイス218は、情報処理装置100に直接的に接続(ローカル接続)されているように認識させて、制御することができる。
仮想デバイス識別情報は、情報処理装置100に内部デバイス218をデバイス300と同様に認識させるために用いられる。通常、内部デバイス218は、デバイス300の個体識別情報に相当する情報を有していないので、情報処理装置100は内部デバイス218を認識することができない。
そこで、本実施形態では、第1の実施形態で説明した個体識別情報に相当する仮想デバイス識別情報を入力機能及び表示機能の各々に割り当てて、情報処理装置100に内部デバイス218の入力機能及び表示機能をデバイス300と同様のUSBデバイスとして認識させる。ここでは、USBデバイスのデータ構造を定義する構成情報(以下「USBディスクリプタ」と呼ぶ)を疑似的に作成したものを仮想デバイス識別情報とする。なお、仮想デバイス識別情報は、仮想デバイス制御部213に予め記憶されたものであるが、仮想デバイス制御部213によって生成するようにしてもよい。
仮想デバイス管理情報214は、上述した仮想デバイス識別情報および報知関連情報から構成される。なお、仮想デバイス管理情報214は、第1の実施形態で説明した図2のデバイス管理情報204と同等の情報を有するので、説明および図示を省略する。
情報処理装置100は、デバイス制御装置200を介して内部デバイス218を仮想化制御し、ユーザがデバイス制御装置200の内部デバイス218(タッチパネル)を操作することで、第1の実施形態と同様に内部デバイス218の操作による報知部256の報知を行うことができる。また、内部デバイス218が表示機能を備えていれば、内部デバイス自身も報知部256の一部として機能させることができる。例えば、内部デバイス218がタッチパネルならば、タッチパネルの入力操作に応じて、タッチパネルに入力操作があった旨を報知(表示)させることが可能になる。
上述のように、本発明の第2の実施形態では、ユーザによってデバイス制御装置200の内部デバイス218が操作された場合でも、レイテンシの影響による応答遅延から誤操作を防止し、ユーザビリティを向上させることができる。
以上、本発明について実施形態に基づいて説明したが、本発明は、これらの実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。
上述した第1の実施形態および第2の実施形態では、報知部256によって報知を行うと説明したが、表示部253によって報知(デバイス300または内部デバイス218が操作されたことの表示)を行ってもよい。また、報知部256と表示部253を一緒に報知させるように制御してもよい。例えば、報知部256(例:スピーカー)がスピーカーの役割を担って音声を出して音声情報による報知を行い、表示部253(例:表示パネル)が表示を行って視覚情報による報知を行うようにしてもよい。
仮想化制御部202は、情報処理装置100からの応答データの受信前後で報知部256に対する報知を異ならせるように報知制御通知を送信し、報知部256による報知の種類を異ならせるように制御してもよい。例えば、デバイス制御装置200が情報処理装置100からの応答データの受信前は、報知部256(例:ブザー)による聴覚情報を提供して報知を行い、情報処理装置100からの応答データの受信後は、報知部256(例:LED)や表示部253(例:表示パネル)により情報処理装置からの応答受信を完了した旨を視覚情報によって提供して報知を行ってもよい。
報知部256は連続して報知を行う場合、同じ報知内容を継続してもよいし、異なる報知内容を報知してもよい。例えば、報知部256(例:スピーカー)がブザーの場合、同一のブザー音を継続して発してもよいし、1回毎に異なるブザー音を発するようにしてもよい。
例えば、上記の実施形態の機能の制御方法として、この制御方法をデバイス制御装置に実行させるようにすればよい。また、上述の実施形態の機能を有するプログラムを制御プログラムとして、当該制御プログラムをデバイス制御装置が備えるコンピュータに実行させるようにしてもよい。なお、制御プログラムは、例えば、コンピュータに読み取り可能な記録媒体に記録される。
また、本発明は、以下の処理を実行することによっても実現される。つまり、上述した実施形態の機能を実現するソフトウェア(プログラムコード)を、ネットワークまたは各種の記録媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムコードを読み出して実行する処理である。
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶したコンピュータで読み取り可能な記憶媒体は本発明を構成することになる。
また、プログラムコードの指示に基づき、コンピュータ上で稼働しているOS等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現されるように構成してもよい。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれたあと、このプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を実行し、その処理に応じて上述した実施形態が実現される場合も含んでいる。
なお、プログラムコードを供給するため、例えば、フロッピー(登録商標)ディスク、ハードディスク、光磁気ディスク、CDやDVDに代表される光ディスク、磁気テープ、不揮発性のメモリカード、ROM等の記憶媒体を用いることができる。または、プログラムコードは、ネットワークを介してダウンロードしてもよい。
100:情報処理装置
101:アプリケーション
102:デバイスドライバ
103:仮想化制御部
104:通信制御部
110:記憶部
151:CPU
152:入力部
153:表示部
154:メモリ
155:通信部
200:デバイス制御装置
201:通信制御部
202:仮想化制御部
203:デバイス制御部
204:デバイス管理情報
210:記憶部
213:仮想デバイス制御部
216:入力I/F
217:ディスプレイI/F
218:内部デバイス
251:CPU
252:入力部
253:表示部
254:メモリ
255:通信部
256:報知部
300:デバイス
301:個体識別情報
302:通信I/F
101:アプリケーション
102:デバイスドライバ
103:仮想化制御部
104:通信制御部
110:記憶部
151:CPU
152:入力部
153:表示部
154:メモリ
155:通信部
200:デバイス制御装置
201:通信制御部
202:仮想化制御部
203:デバイス制御部
204:デバイス管理情報
210:記憶部
213:仮想デバイス制御部
216:入力I/F
217:ディスプレイI/F
218:内部デバイス
251:CPU
252:入力部
253:表示部
254:メモリ
255:通信部
256:報知部
300:デバイス
301:個体識別情報
302:通信I/F
Claims (8)
- ネットワークを介して情報処理装置に接続されると共に、デバイスが内蔵されている、または、デバイスがローカル接続されているデバイス制御装置であって、
前記情報処理装置に前記デバイスがあたかもローカル接続されているかのように仮想化制御させ、前記デバイスに対する所定の操作を検出し、報知手段に報知を行わせるための通知を送信する仮想化制御手段と、
前記仮想化制御手段から前記通知を受信した場合、報知を行う報知手段と、
を備えることを特徴とするデバイス制御装置。 - 前記仮想化制御手段は、前記デバイスに対する所定の操作を検出してから所定時間経過後に前記報知手段に対して前記通知を送信することを特徴とする請求項1に記載のデバイス制御装置。
- 前記仮想化制御手段によって前記デバイスの操作を検出した後、前記情報処理装置に対して前記デバイスの操作に応じたデータの送信を行い、前記情報処理装置からデバイスの操作に応じた応答を受信するデータ送受信手段をさらに備え、
前記仮想化制御手段は、前記データ送受信手段によって前記デバイスの操作に応じた前記情報処理装置からの応答を待たずに前記報知手段に前記通知を送信すること特徴とする請求項1に記載のデバイス制御装置。 - 前記情報処理装置と前記デバイス制御装置との間の通信遅延を計測する通信遅延計測手段をさらに備え、
前記仮想化制御手段は、前記通信遅延計測手段によって計測された通信遅延の計測値に応じて、前記報知手段に前記通知を送信するか否かを制御する
ことを特徴とする請求項1に記載のデバイス制御装置。 - 前記仮想化制御手段は、前記デバイスに対する所定の操作を所定時間内に複数回検出した場合、前記デバイスに対する初回の操作と前記デバイスに対する2回目以降の操作に応じて、前記報知手段に対する前記通知の制御を異ならせる
ことを特徴とする請求項1に記載のデバイス制御装置。 - 前記デバイス制御装置は、複数の報知手段を備え、
前記仮想化制御手段は、前記複数の報知手段に対して個別に前記通知を送信する否か、または、前記複数の報知手段に対して一括で前記通知を送信するか否かを設定する
ことを特徴とする請求項1乃至請求項5のいずれか1項に記載のデバイス制御装置。 - ネットワークを介して情報処理装置に接続されると共にデバイスが内蔵されている、または、ローカル接続されているデバイス制御装置のデバイス制御方法であって、
前記情報処理装置に前記デバイスがあたかも直接接続されているかのように仮想化制御させる仮想化制御ステップと、
前記デバイスに対する所定の操作を検出し、報知手段に報知を行わせるための通知を送信する通知ステップと、
前記通知ステップによって送信された前記通知を受信した場合、
報知を行う報知ステップと、
を備えることを特徴とするデバイス制御装置のデバイス制御方法。 - 請求項1乃至請求項6の何れか1項に記載のデバイス制御装置の各手段をコンピュータに機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017100303A JP2018195209A (ja) | 2017-05-19 | 2017-05-19 | デバイス制御装置、デバイス制御方法およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017100303A JP2018195209A (ja) | 2017-05-19 | 2017-05-19 | デバイス制御装置、デバイス制御方法およびプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018195209A true JP2018195209A (ja) | 2018-12-06 |
Family
ID=64571682
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017100303A Pending JP2018195209A (ja) | 2017-05-19 | 2017-05-19 | デバイス制御装置、デバイス制御方法およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2018195209A (ja) |
-
2017
- 2017-05-19 JP JP2017100303A patent/JP2018195209A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5461621B2 (ja) | 遠隔デバイスドライバを利用した遠隔制御システム及び遠隔デバイスドライバを利用した遠隔制御方法 | |
US9129064B2 (en) | USB 3.0 link layer timer adjustment to extend distance | |
JP5307276B2 (ja) | Usb装置の遠隔制御方法及びこれを実行するシステム | |
JP2010283721A (ja) | 無線lan装置および無線lanアダプタ | |
CA2865725A1 (en) | Information processing system, information processing method, mobile phone, server, and control method and control program thereof | |
US10405282B2 (en) | Information processing apparatus and information processing method | |
WO2014108086A1 (zh) | 打印系统及其打印方法和打印机 | |
US20130117347A1 (en) | Communication apparatus, communication method, and computer product | |
JP2015212052A (ja) | 画像形成装置とその制御方法、及びプログラム | |
CN111508439A (zh) | 信息处理装置、信息处理装置的控制方法和存储介质 | |
JP2018195209A (ja) | デバイス制御装置、デバイス制御方法およびプログラム | |
WO2019227836A1 (zh) | 一种基于bmc的文件传输方法、装置、设备及介质 | |
JP5603675B2 (ja) | 表示装置、表示装置の制御方法、及び、プログラム | |
JP2013089204A (ja) | 情報処理装置、その制御方法、およびデバイス制御システム | |
JP3750467B2 (ja) | Usbシミュレーション装置、及び、記憶媒体 | |
JP2017010174A (ja) | デバイス安全性検知装置、デバイス安全性検知方法、及びプログラム | |
TW202002579A (zh) | 物聯網的區域資料採集與設備控制系統與方法 | |
JP2001067157A (ja) | コンピュータ・システム、その周辺機器及びコンピュータ、制御方法並びに記憶媒体 | |
US8799996B2 (en) | Logical unit number management device, logical unit number management method, and program therefor | |
JP7368713B2 (ja) | サービス提供システム、サーバ、サービス提供方法、及びサービス提供プログラム | |
US20170010983A1 (en) | Input device identifying computer system and identification method thereof | |
JP5223428B2 (ja) | 情報処理システム | |
JP4192644B2 (ja) | 表示装置 | |
JP2017010192A (ja) | デバイス制御装置、その制御方法、およびデバイス制御システム | |
JP2017142631A (ja) | デバイス制御装置、その制御方法、およびデバイス制御システム |