JP2018106424A - デバイス制御装置、デバイス制御方法およびプログラム - Google Patents

デバイス制御装置、デバイス制御方法およびプログラム Download PDF

Info

Publication number
JP2018106424A
JP2018106424A JP2016252099A JP2016252099A JP2018106424A JP 2018106424 A JP2018106424 A JP 2018106424A JP 2016252099 A JP2016252099 A JP 2016252099A JP 2016252099 A JP2016252099 A JP 2016252099A JP 2018106424 A JP2018106424 A JP 2018106424A
Authority
JP
Japan
Prior art keywords
information processing
information
virtualization
control
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
Application number
JP2016252099A
Other languages
English (en)
Inventor
祥晶 加藤
Yasuaki Kato
祥晶 加藤
智尋 松本
Tomohiro Matsumoto
智尋 松本
貴史 室井
Takashi Muroi
貴史 室井
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 Imaging Systems Inc
Original Assignee
Canon Imaging Systems 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 Imaging Systems Inc filed Critical Canon Imaging Systems Inc
Priority to JP2016252099A priority Critical patent/JP2018106424A/ja
Publication of JP2018106424A publication Critical patent/JP2018106424A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Abstract

【課題】デバイス制御装置が、複数台の情報処置装置の画面を投影し、デバイスを情報処理装置が仮想化制御する場面において、仮想化制御する情報処理装置の切り替えを行う場合、切り替えの度に明示的に切り替え操作を行わなければならず操作が煩雑となるという課題がある。【解決手段】デバイス制御装置で投影している情報処理装置の情報と、仮想化制御しているネットワーク上の情報処理装置の画面指示情報から、仮想化切替制御部が仮想化制御の切り替えの要否と、切り替え先の情報処理装置を判定し、情報処理装置が仮想化制御する外部デバイスの画面指示情報の動きに連動して仮想化制御の切り替えを行う。【選択図】図1

Description

本発明は、デバイス制御装置、デバイス制御方法、およびプログラムに関し、特に、ネットワークを介してデバイスを制御する機能を備えたデバイス制御装置、デバイス制御方法、およびプログラムに関する。
ネットワークを介して情報処理装置(PC)とプロジェクタを接続する画面転送システムが注目されており、複数台の情報処理装置の画面を同時に投影することが可能である(特許文献1参照)。
さらに、情報処理装置の画面とマウスカーソルを重畳させた画面をプロジェクタに転送し投影すると、マウスカーソルの移動速度が速く、プロジェクタが投影遅延する問題があり、その回避として、情報処理装置の画面とマウスのカーソル座標を個別にプロジェクタに転送し、プロジェクタ内でカーソル座標上へ合成させ、投影する方法が使用されている。
また、近年、ネットワークの普及により、プリンタ、ストレージ、およびスキャナ等のデバイスを、ネットワーク上の情報処理装置であるホストコンピュータから共有デバイスとして利用することが行われている。その実現方法がいくつか提案されている。
例えば、本出願人は、クライアントPCが、デバイスサーバにローカル接続されたデバイスをローカル接続されたように認識し、デバイスの制御(以下「仮想化制御」と呼ぶ。)を行うデバイス制御システムを提案している(特許文献2参照)。
特開2014−127915号公報 国際公開第2011/055831号公報
特許文献1に記載のプロジェクタをデバイス制御装置とすると、デバイス制御装置はネットワークに接続した情報処理装置の画面を投影しているのみであり、デバイス制御装置側から情報処理装置を制御ができない問題がある。この解決のために特許文献2に記載の技術を適用し、デバイス制御装置に接続されたデバイスを情報処理装置が仮想化制御を行うことにより、情報処理装置がデバイス制御装置と離れているような場合でもデバイスを制御することが可能となる。
しかし、特許文献2を適用したのみでは、デバイス制御装置が、複数台の情報処理装置の画面を投影し、デバイスを情報処理装置が仮想化制御する場面において、仮想化制御する情報処理装置の切り替えを行う場合、仮想化制御中の情報処理装置との仮想化制御を終了(切断)し、次に仮想化制御する情報処理装置を選択する必要がある。ユーザは仮想化制御している情報処理装置と次に仮想化制御する情報処理装置を認識したうえで、仮想化制御の切り替えを行わなければならない。
そこで、本発明は、デバイス制御装置で投影している情報処理装置に関する情報と、仮想化制御しているネットワーク上の情報処理装置のカーソル座標情報から、次に仮想化制御する情報処理装置を判定し、仮想化制御の切り替えを行うデバイス制御装置、デバイス制御方法およびプログラムを提供することを目的とする。
上記の課題を解決するために、請求項1に記載のデバイス制御装置は、ネットワークを介して複数の情報処理装置に接続され、デバイスとローカル接続されたデバイス制御装置であって、前記情報処理装置から送信される画面情報を受信する画面情報受信手段と、画面を前記デバイス制御装置で表示するための配置を記憶する記憶手段と、前記画面情報を前記記憶手段が記憶した前記配置に基づき合成する合成手段と、前記合成手段によって合成された前記画面を表示する表示手段と、前記デバイスがあたかも前記情報処理装置にローカル接続されているかのように前記情報処理装置のうち一つへ認識させて制御できるようにするために、前記情報処理装置からの制御要求に従って前記デバイスを仮想化制御する仮想化制御手段と、前記デバイスを前記仮想化制御している情報処理装置から送信される座標情報を受信する座標情報受信手段と、前記配置から各々の前記情報処理装置が前記仮想化制御を行う領域を判定情報として作成し、前記座標情報および前記判定情報に基づき仮想化制御する前記情報処理装置を切り替える仮想化切替制御手段と、を備えることを特徴とする。
本発明によれば、デバイス制御装置で投影している情報処理装置の情報と、仮想化制御しているネットワーク上の情報処理装置のカーソル座標情報から、仮想化制御の切り替えの要否と、切り替え先の情報処理装置を判定し、カーソルの移動に連動した仮想化制御の切り替えを行うことにより、ユーザは明示的な仮想化制御の切り替え操作を行う必要がなくなり、投影している複数の情報処理装置を一つの情報処理装置と見なした操作が可能となる。
本発明のデバイス制御システムの一例の構成を概略的に示すブロック図である。 デバイス制御装置が複数台の情報処理装置の画面の配置情報から仮想化接続先切替判定情報を作成し、仮想化制御を開始し、仮想化接続先切替判定をするまでの処理を説明するシーケンス図である。 図2のシーケンス後、デバイス制御装置と情報処理装置で仮想化制御を切り替え、複数台の情報処理装置の画面を投影する処理を説明するシーケンス図である。 情報処理装置の画面をデバイス制御装置で投影し、外部デバイスを情報処理装置が仮想化制御する処理を説明するためのフローチャートである。 デバイス制御装置が外部デバイスと仮想化制御をする情報処理装置の切り替えを行う際の処理を説明するためのフローチャートである。 図1に示すデバイス制御装置で6台の情報処理装置を投影する画面の一例である。 図6のように6台の情報処理装置を投影する場面における仮想化接続先切替判定情報の一例である。
以下、本発明の実施形態について、詳細に説明する。
図1は、本発明の第1の実施形態に係るデバイス制御システムの構成の一例を概略的に示すブロック図である。
図示のデバイス制御システムにおいては、情報処理装置100Aがローカルエリアネットワーク(LAN)やワイドエリアネットワーク(WAN)などのネットワークを介してデバイス制御装置200に接続されている。LANは有線回線または無線回線で構成される。そして、デバイス制御装置200には、例えば、通信インターフェース(例えば、USBまたはHDMI(登録商標))によって外部デバイス300がローカル接続されている。外部デバイス300が備える通信インターフェースは、USBまたはHDMI(登録商標)に限定されるものではない。
また、LANに接続されている情報処理装置は複数台あり、構成は情報処理装置100Aと同様である。情報処理装置100の台数は図示の例に限定されたものではない。以降、複数台の情報処理装置を総称する場合は情報処理装置100と記載し、1台の情報処理装置を示す場合は情報処理装置100Aや情報処理装置100Bと記載する。
<情報処理装置100の構成>
情報処理装置100Aおよび情報処理装置100Bは、パーソナルコンピュータ(PC)等の装置である。情報処理装置100Aおよび情報処理装置100Bは、デバイス制御装置200とネットワークを介して接続されており、デバイス制御装置200は、外部デバイス300がローカル接続されている。デバイス制御装置200は、複数の情報処理装置100の画面(画像)を同時に投影しており、そのうち1台の情報処理装置100が外部デバイス300を仮想化制御している。
情報処理装置100は、ハードウェア構成として、CPU151、入力部152、表示部153、メモリ154、通信部155、および記憶部110等を備え、これらハードウェアは内部バスで相互に接続されている。
CPU151は情報処理装置100全体の制御を司る。入力部152は、例えば、キーボードおよびマウスを備えている。表示部153として、例えば、液晶モニタが用いられる。メモリ154はRAMおよびROM等である。
通信部155はLANに接続するためのインターフェースであって、デバイス制御装置200とデータ送受信を行う。これにより、情報処理装置100はデバイス制御装置200にローカル接続された外部デバイス300とデータ送受信することが可能となる。
記憶部110には、ソフトウェアであるオペレーティングシステム(以下「OS」と呼ぶ:不図示)、情報処理装置100は、アプリケーション101、デバイスドライバ102、仮想化制御部103、画面転送部104、画面指示情報転送部105、映像情報通信制御部106が記憶されるとともに、他の機能に係るソフトウェアが記憶されている。なお、これらソフトウェアはメモリ154に読み出されて、CPU151の制御に従い動作する。
アプリケーション101は、デバイスドライバ102に対してデータ入出力要求を指示することにより、デバイス制御装置200に接続された外部デバイス300を制御するためのソフトウェアである。
デバイスドライバ102は、デバイス制御装置200に接続された外部デバイス300を制御するためのドライバである。デバイスドライバ102は、OSまたはアプリケーション101からのデータ入出力要求を、外部デバイス300に応じたデータ形式のデータ(以下「制御コマンド」と呼ぶ)に変換して、当該制御コマンドを仮想化制御部103に送る。さらに、デバイスドライバ102は制御コマンドに対する応答をアプリケーション101に通知する。このデバイスドライバ102は、一般に製造会社によって提供されるソフトウェアであって、情報処理装置100は各デバイスに対応したデバイスドライバ102によって外部デバイス300を制御することができる。
仮想化制御部103は、デバイスドライバ102から送られた制御コマンド(つまり、データ入出力要求)をUSBデータ形式に準拠したパケットデータ(以下「USBデータ」と呼ぶ)に変換する。また、仮想化制御部103は通信部155から送られてくるUSBデータを制御コマンドと同様のデータ形式に変換してデバイスドライバ102に送る。
さらに、仮想化制御部103は、外部デバイス300に対するデータ送受信要求に対して、外部デバイス300が情報処理装置100に直接的に接続(ローカル接続)されている際と同様の振る舞いをシミュレートする機能(以下「仮想化制御機能」と呼ぶ)を備えている。この仮想化制御機能により、情報処理装置100は外部デバイス300の接続状態が、これらの外部デバイス300をローカル接続した場合と同一の状態であると認識してデータの送受信を行うことができる。
画面転送部104は、映像情報通信制御部106を介して、情報処理装置100の画面情報および配置情報をデバイス制御装置200に転送する。画面情報とは、一例として情報処理装置100でキャプチャした画面である。なお、画面情報はキャプチャした画面に限定したものではない。配置情報とは、複数の情報処理装置100の画面をデバイス制御装置200で表示するときの画面中での並びのことである。なお、配置情報についてデバイス制御装置200との間で予め決められているような場合は、配置情報は送信せず、画面転送部104は、画面情報を予め決められた座標上へ送信する。
画面指示情報転送部105は、映像情報通信制御部106を介して、情報処理装置100の画面指示情報をデバイス制御装置200に転送する。画面指示情報とは、情報処理装置100で使用される外部デバイス300を制御する際のカーソルの座標である。また、画面指示情報はカーソル画像を含んでもよい。
映像情報通信制御部106は、画面転送部104の画像情報と画面指示情報転送部105の画面指示情報、および配置情報を後述するデバイス制御装置200の映像情報通信制御部203へ転送する。
<デバイス制御装置200の構成>
デバイス制御装置200は、例えば、プロジェクタやディスプレイなどの周辺機器であって、ハードウェア構成として、CPU251、入力部252、表示部253、メモリ254、通信部255、映像出力部256、および記憶部210等を備える。
CPU251はデバイス制御装置200全体の制御を司る。入力部252は、例えば、操作ボタン、テンキーを備えている。表示部253として、例えば、液晶パネルが用いられる。メモリ254はRAMおよびROM等である。
通信部255はLANに接続するためのインターフェースであって、情報処理装置100とデータ送受信を行う。
映像出力部256は、後述する画像合成部208で合成した画面を投影する。
記憶部210には、ソフトウェアであるOS(不図示)、外部デバイス制御部201、仮想化制御部202、映像情報通信制御部203、仮想化切替制御部204、映像処理部205が記憶されるとともに、他の機能に係るソフトウェアが記憶されている。なお、これらソフトウェアはメモリ254に読み出されて、CPU251の制御に従い動作する。
外部デバイス制御部201は、外部デバイス300がローカル接続され、外部デバイス300を認識するとデバイス制御装置200で使用するための制御を行う。
仮想化制御部202は、デバイス制御装置200に接続された外部デバイス300があたかも情報処理装置100にローカル接続されているかのように情報処理装置100へ認識させて制御できるようにするため、情報処理装置100の仮想化制御部103からの制御要求に従って(連動して)外部デバイス300の制御を行う。また、LANに接続された情報処理装置100への仮想化制御の開始(接続)、仮想化制御の終了(切断)を行う。仮想化制御の要求は、仮想化切替制御部204が行い、仮想化切替制御部204は、仮想化制御中の情報処理装置100との仮想化制御を終了(切断)し、次に仮想化制御する情報処理装置100と仮想化制御を開始(接続)する。
映像情報通信制御部203は、情報処理装置100から転送された情報処理装置100の画面情報、画面指示情報および配置情報を受信し、画面受信部206へ画面を送信し、画面指示情報受信部207へ画面指示情報を送信する。加えて、配置情報を映像処理部205へ送信する。
仮想化切替制御部204は、映像処理部205が管理する配置情報から、仮想化接続先判定情報(後述)を作成する。作成した仮想化接続先判定情報と、画面指示情報受信部207が受信した画面指示情報から仮想化制御の切替要否を判断し、仮想化制御の切り替えが必要と判断した場合に、次に仮想化制御する情報処理装置100を決定し、仮想化制御部202へ仮想化制御の切り替えを要求する。
映像処理部205は、画面受信部206、画面指示情報受信部207、画像合成部208を備えており、情報処理装置100から受信した配置情報を管理している。
画面受信部206は、1台もしくは複数台の情報処理装置100の画面(画面情報)を受信する。
画面指示情報受信部207は、1台もしくは複数台の情報処理装置100から画面指示情報を受信する。画面指示情報は、情報処理装置100上での座標情報である。また、画面指示情報受信部207は、情報処理装置100から受信した画面指示情報を投影画面上の画面指示情報へ変換し、画像合成部208へ送信する。ただし、変換が不要な場合は、情報処理装置100から受信した画面指示情報をそのまま使用してもよい。なお、変換が不要な場合とは、情報処理装置100上での座標と投影画面上での座標が一致する場合などである。
画像合成部208は、画面受信部206で受信した画面情報と画面指示情報受信部207で受信した画面指示情報から、映像出力部256で投影する画面を配置情報に基づき合成する。合成した画面は複数の情報処理装置100の画面を並べて投影する画面であり、また、仮想化制御している画面指示情報を重畳した画面となる。
<外部デバイス300の構成>
外部デバイス300は、デバイス制御装置200にUSBインターフェースによって外付けでローカル接続されている。情報処理装置100によって仮想化制御された外部デバイス300を操作し、デバイス制御装置200を介し情報処理装置100へ画面指示情報を送信することで、情報処理装置100の操作が可能となる。
情報処理装置100の操作を行うデバイスには外部デバイス300の例としてマウスやジョイスティックなどがある。
個体識別情報301は、外部デバイス300を識別するための情報であって、メーカーを識別するために機器を製造したメーカー毎に割り当てられたベンダーID(VID)、機種を識別するために機種毎に割り当てられた製品ID(PID)、機器の個体を識別するために機器毎に割り当てられたシリアル番号などである。外部デバイス300がデバイス制御装置200に接続された際などに、デバイス制御装置200が外部デバイス300から取得する情報である。
<外部デバイス300の仮想化制御のシーケンス>
図2は、図1に示すデバイス制御システムにおいて、情報処理装置100Aと情報処理装置100Bの画面をデバイス制御装置200で並べて配置し投影する場面において、デバイス制御装置200が仮想化接続先判定情報を作成し、外部デバイス300を情報処理装置100Aが仮想化制御をする際の動作を説明するためのシーケンス図である。
ここでは、例えば、情報処理装置100A、情報処理装置100BをPC、デバイス制御装置200をプロジェクタ、外部デバイス300をUSBマウスとして説明する。なお、情報処理装置100Aが、デバイス制御装置200で複数の情報処理装置100の画面を投影する際のマスタの情報処理装置であるとする。ここで、マスタとは、複数の情報処理装置100がデバイス制御装置200と連携して動作する際に、情報処理装置100側の代表となり、デバイス制御装置200に配置情報を送信する装置である。
図示の例では、外部デバイス300をデバイス制御装置200にローカル接続しており、情報処理装置100A、情報処理装置100B、およびデバイス制御装置200が相互にLANで接続されている状態から説明を開始する。
情報処理装置100Aおよび情報処理装置100Bが備える画面転送部104は、デバイス制御装置200が備える映像情報通信制御部203へ画面情報の転送を開始する。加えて、マスタである情報処理装置100Aは、ステップS201でデバイス制御装置200へ配置情報を送信する。(ステップS201AおよびステップS201B)。なお、マスタである情報処理装置100Aが配置情報を送信すると例示したが、これに限定したものではない。情報処理装置100とデバイス制御装置200の間で予め配置が決まっているような場合は送信しなくてもよい。また、情報処理装置100Bがマスタとなってもよい。
映像情報通信制御部203は、情報処理装置100Aから画面情報、配置情報を受信する(ステップS202A)。また、映像情報通信制御部203は、情報処理装置100Bから画面情報を受信する(ステップS202B)。
映像情報通信制御部203は、画面情報を画面受信部206へ送信する(ステップS203AおよびステップS203B)。
仮想化切替制御部204が仮想化接続先判定情報を作成する(ステップS210)。仮想化接続先判定情報の作成についての詳細をステップS211〜ステップS212で説明する。
映像情報通信制御部203は、映像処理部205を介して受信した配置情報を仮想化切替制御部204に送る(ステップS211)。
仮想化切替制御部204は、仮想化接続先判定情報を作成する(ステップS212)。仮想化接続先判定情報は各情報処理装置100がデバイス制御装置200での投影時にどのように配置されるかを記憶する。また、仮想化接続先判定情報の各情報処理装置100と配置情報の紐付けには、各情報処理装置100のIPアドレスなど情報処理装置100を一意に識別する情報を使用する。詳細は図7にて後述する。
情報処理装置100が外部デバイス300を仮想化制御する(仮想化接続処理:ステップS220)。仮想化接続処理についての詳細をステップS221〜ステップS222で説明する。
仮想化制御部202は、情報処理装置100Aへ仮想化開始要求を送信する(ステップS221)。ここで、最初に仮想化制御部202が仮想化開始要求を送信する情報処理装置100は、マスタである情報処理装置100Aである。なお、これに限定したものではなく、デバイス制御装置200が備える仮想化切替制御部204が、配置情報の中央となる情報処理装置100や、配置情報の左上の情報処理装置100などと設定してもよい。
情報処理装置100Aが備える仮想化制御部103は、デバイス制御装置200から仮想化開始要求を受信すると、デバイス制御装置200が備える仮想化制御部202と連動し、外部デバイス300と仮想化制御しセッションを開始する(ステップS222)。
情報処理装置100Aと外部デバイス300との間で仮想化制御が開始(接続)されると、情報処理装置100Aが外部デバイス300を仮想化制御することにより、デバイス制御装置200に接続された外部デバイス300から情報処理装置100Aを操作することが可能となる(仮想化制御:ステップS230)。詳細をステップS231〜ステップS237で説明する。
外部デバイス300の操作(ステップS231)に応じて、外部デバイス制御部201は、画面指示情報を情報処理装置100Aに転送する(ステップS232)。
情報処理装置100Aは、映像情報通信制御部203へ画面指示情報を送信する(ステップS233)。映像情報通信制御部203は、画面指示情報受信部207へ画面指示情報を送信する(ステップS234)。
画面指示情報受信部207は、情報処理装置100Aから受信した画面指示情報をデバイス制御装置200で投影する画面指示情報に変換する(ステップS235)。
画面指示情報受信部207は、デバイス制御装置200で投影する画面指示情報を仮想化切替制御部204に送信する(ステップS236)。
仮想化切替制御部204は、ステップS236で変換した画面指示情報の座標が投影画面中のどの情報処理装置100の領域内にあるかを判定する(ステップS237)。ステップS237の仮想化制御の切り替えの判断は、ステップS212で作成した仮想化接続先判定情報に基づき判定する。
仮想化接続先判定情報には、各情報処理装置100の配置情報(X座標範囲、Y座標範囲)、IPアドレスなどを所持している。配置情報とは、複数の情報処理装置100の画面をデバイス制御装置200で表示するときの画面中での並びのことである。仮想化切替制御部204は、仮想化接続先判定情報(のX座標範囲、Y座標範囲)を基に、画面指示情報の示す座標が、複数の情報処理装置100間の境界値を超える場合に、外部デバイス300を仮想化制御する情報処理装置100を切り替える。境界値とは、各情報処理装置100のX座標範囲、Y座標範囲の境界を示す値である。なお、仮想化制御の切り替えは、必ずしも各情報処理装置100の境界値を超える場合でなくてもよい。画面指示情報が境界値の前後で所定の座標まで来た場合に切り替えるようにしてもよいし、画面指示情報が境界値を越えて、移動先の情報処理装置100の領域内に一定時間以上連続して止まった場合に切り替えるようにしてもよい。
仮想化制御の切り替え判定の際、画面指示情報の座標が情報処理装置100Aの領域外であれば、仮想化制御の切り替えが必要と判定し、仮想化切替制御部204が後述する図3の仮想化制御の切り替え(ステップS300)を実施する。
一方、仮想化制御の切り替え判定の際、画面指示情報の座標が情報処理装置100Aの領域内であれば、仮想化制御の切り替えが不要と判断し、後述する図3の複数台投影処理(ステップS310)を実施する。
図3は、図1に示すデバイス制御システムにおいて、図2のシーケンス後、デバイス制御装置200と情報処理装置100で仮想化制御の切り替えを行い、複数の情報処理装置100の画面を合成し投影するまでを説明するシーケンス図である。また、情報処理装置100Aから情報処理装置100Bに仮想化制御する情報処理装置100を切り替える場合について説明する。
仮想化切替処理(ステップS300)は、仮想化切替制御部204が仮想化接続切替判定(ステップS237)で切り替えが必要と判定した場合に行う。詳細をステップS301〜ステップS304で説明する。
現在、外部デバイス300を仮想化制御している情報処理装置100Aの情報と、次に外部デバイス300を仮想化制御する情報処理装置100Bの情報を仮想化切替制御部204が仮想化制御部202へ送信し、仮想化制御の切り替えを要求する(ステップS301)。
仮想化制御部202は、仮想化制御の切り替え要求に応じ、接続中の情報処理装置100Aに仮想化終了要求を送信し、情報処理装置100Aと外部デバイス300との間の仮想化制御を終了させる(ステップS302)。
また、仮想化制御部202は、仮想化制御の切り替え要求に応じ、次に外部デバイス300を仮想化制御する情報処理装置100Bに仮想化開始要求を送信する(ステップS303)。
情報処理装置100Aの仮想化制御の終了(切断)、情報処理装置100Bの仮想化制御の開始(接続)は、仮想化接続処理(ステップS304)で行われる。仮想化制御部202から情報処理装置100Aが備える仮想化制御部103に対して仮想化制御の終了(切断)を行い、仮想化制御部202は情報処理装置100Bが備える仮想化制御部103と仮想化制御を開始する。
仮想化接続処理(ステップS220)、もしくは仮想化切替処理(ステップS300)の後、デバイス制御装置200が備える画像合成部208は画面を合成し、合成した画面を映像出力部256が投影する(複数台投影処理:ステップS310)。詳細をステップS311〜ステップS314で説明する。
画面指示情報受信部207は、各情報処理装置100から受信した画面指示情報を画像合成部208へ送信する(ステップS311)。
画面受信部206は、各情報処理装置100から受信した画面情報を画像合成部208へ送信する(ステップS312)。
画像合成部208は、図2のステップS204AおよびステップS204Bで受信した画面情報を配置情報に基づき配置し、画面指示情報受信部207で受信した仮想化制御している情報処理装置100の画面指示情報を重畳し合成する(ステップS313)。
画像合成部208で合成された画面を映像出力部256が投影する(ステップS314)。
<情報処理装置100のフローチャートについて>
図4は、図1に示す情報処理装置100の画面をデバイス制御装置200で投影し、外部デバイス300を情報処理装置100が仮想化制御する際のフローチャートである。
情報処理装置100は、画面情報、画面指示情報、および配置情報をデバイス制御装置200へ送信する(ステップS401)。なお、画面指示情報と配置情報を送信するのはマスタとなる情報処理装置100である。
情報処理装置100が備える仮想化制御部103は、デバイス制御装置200から外部デバイス300との仮想化開始要求があるか否かを判定する(ステップS402)。
仮想化制御部103が仮想化開始要求を受信した場合(ステップS402でYes)、仮想化制御部103は外部デバイス300との仮想化制御を開始する(ステップS403)。一方、仮想化開始要求を受信しない場合(ステップS402でNo)、仮想化制御部103は、デバイス制御装置200から仮想化終了要求があるか否かを判定する(ステップS404)。
仮想化終了要求を受信した場合(ステップS404でYes)、仮想化制御部103は、外部デバイス300との仮想化制御を終了(切断)する(ステップS405)。
仮想化制御の開始(接続)、仮想化制御の終了(切断)に関わらず、情報処理装置100は、デバイス制御装置200での投影は継続するため、ステップS401に戻り画面情報、画面指示情報および配置情報をデバイス制御装置200へ送信する。
<デバイス制御装置200のフローチャートについて>
図5は、図1に示すデバイス制御装置200が、外部デバイス300と仮想化制御をする情報処理装置100の切り替えを説明するフローチャートである。
デバイス制御装置200は、情報処理装置100から画面情報、画面指示情報および配置情報を受信する(ステップS501)。
次に、仮想化切替制御部204は、画面の配置に変更があるかを判断する(ステップS502)。ここで、画面の配置に変更がある場合とは、情報処理装置100が新たに追加もしくは削除されてデバイス制御装置200が画面を投影する情報処理装置100の台数が変動した場合や、情報処理装置100の画面の配置を入れ替えた場合などである。
投影画面上の情報処理装置100の画面配置に変更がある場合(ステップS502でYes(初回の投影の場合を含む))、仮想化接続先判定情報を投影する画面の配置情報に基づき作成・更新する(ステップS503)。仮想化接続先判定情報は、デバイス制御装置200で情報処理装置100の画面を投影する際、各情報処理装置100から受信した画面が投影画面中のどの座標に投影しているかの情報を持っており、仮想化制御の切り替え判定に使用される情報である。仮想化接続先判定情報については図7の説明にて後述する。
仮想化接続先判定情報の更新後、もしくは投影画面上の情報処理装置100の画面配置に変更がない場合(ステップS502でNo)、ステップS504に進む。
ステップS503で作成・更新した仮想化接続先判定情報と、受信した画面指示情報から、仮想化切替制御部204は仮想化制御の切り替え要否を判定する(ステップS504)。
画面指示情報が投影範囲外の情報処理装置100を指し示し、別の情報処理装置100へ仮想化制御の切り替えが必要と判定された場合(ステップS504でYes)、仮想化切替制御部204は、仮想化制御中の情報処理装置100との仮想化制御を終了(切断)し、次に仮想化制御する情報処理装置100との仮想化制御を開始(接続)する(ステップS505)。
ステップS505の仮想化制御の切り替え後、もしくは仮想化制御の切り替えが不要と判断された場合(ステップS504でNo)、情報処理装置100から受信した画面情報、画面指示情報および配置情報から投影画面を画像合成部208が合成し(ステップS506)、合成した画面を映像出力部256が投影する(ステップS507)。
デバイス制御装置200は投影が終了したか判定し(ステップS508)、投影が終了した場合(ステップS508でYes)、本制御フローを終了する。投影を継続する場合は(ステップS508でNo)、ステップS501に戻る。
<投影画面の制御について>
図6は、6台の情報処理装置100の画面をデバイス制御装置200で投影する画面を説明するための図である。
例えば、6台の情報処理装置100の画面は、デバイス制御装置200の投影画面上で縦2列×横3列に合成され、投影画面の横幅をW、高さをHとする。
1台目の情報処理装置100Aは左上に配置し、座標(0、0)〜座標(W/3〜H/2)の範囲で投影される。情報処理装置100Aが外部デバイス300を仮想化制御している場合、この座標の範囲内で画面指示情報が重畳して表示される。
2台目の情報処理装置100Bは情報処理装置100Aの右隣に配置し、座標(W/3、0)〜座標(2W/3、H/2)の範囲で投影される。情報処理装置100Bが外部デバイス300を仮想化制御している場合、この座標の範囲内で画面指示情報が重畳して表示される。
3台目の情報処理装置100Cは、情報処理装置100Bの右隣に配置する。4台目の情報処理装置100Dは、情報処理装置100Aの下に配置し、5台目の情報処理装置100Eは、情報処理装置100Dの右隣に配置する。そして、6台目の情報処理装置100Fは、情報処理装置100Eの右隣である右下に配置される。3台目〜6台目の情報処理装置100も情報処理装置100Aや情報処理装置100Bと同様に、投影する座標の範囲が決められ、外部デバイス300の仮想化制御を行っている場合、画面指示情報が重畳して投影される。
図のような配置上でデバイス制御装置200が画面情報、画面指示情報および配置情報に基づき、投影する画面を合成し投影する。
各情報処理装置100がデバイス制御装置200のどの座標範囲に該当するかを、配置情報として仮想化接続先切替判定情報に反映される。なお、この例示のように6台に限定したものではなく、情報処理装置100の台数に応じた配置でよく、配置もこれに限定したものではない。
<仮想化接続先判定情報ついて>
図7は、図6と同様に6台の情報処理装置100で仮想化制御の切り替えを判定する仮想化接続先判定情報の一例である。
例えば、配置情報として6台の座標範囲情報と、各情報処理装置と各範囲を紐付けるIPアドレスなどの情報を持っている。情報処理装置100Aは、X座標範囲が0〜W/3、Y座標範囲が0〜H/2の範囲で画面指示情報から外部デバイス300を仮想化制御し、そのIPアドレスは192.168.1.1であることを示している。なお、各情報処理装置を一意に識別する情報はIPアドレスに限定したものではなく、情報処理装置100を一意に識別できればよい。
デバイス制御装置200は、情報処理装置100から受信した画面指示情報が、仮想化接続先判定情報でX座標範囲、Y座標範囲に該当する領域の情報処理装置100と仮想化制御を行う。また、仮想化制御の切り替えは、画面指示情報が必ずしも各情報処理装置100の境界値と一致した時でなくてもよく、境界値の前後など、切り替える値を変えてもよい。さらに、一定時間以上連続して境界を越えたら切り替えるようにしてもよい。
以上、上記実施形態によって、デバイス制御装置で表示している情報処理装置100の配置情報と、仮想化制御しているネットワーク上の情報処理装置のカーソル座標情報から、次に仮想化制御する情報処理装置100を判定し、仮想化制御の切り替えが可能となる。
これにより、デバイス制御装置200で投影している情報処理装置100の画面指示情報と、仮想化制御しているネットワーク上の情報処理装置100のカーソルの座標情報から、仮想化制御の切り替えの要否と、切り替え先の情報処理装置100を判定し、仮想化制御の切り替えを行うことにより、ユーザは明示的な仮想化制御の切り替え操作を行う必要がなくなり、投影している複数の情報処理装置100を一つの情報処理装置と見なしたような操作が可能となる。
また、ユーザが切り替え操作を明示的に行う必要がなくなり、情報処理装置100の操作の応答性を早くすることが可能となる。さらに、ユーザは誤操作をすることがなくなり、意図しない情報処理装置100への仮想化制御を回避することが可能となる。
なお、外部デバイス300を操作することによるカーソルの移動から、外部デバイス300の仮想化制御を行う情報処理装置100を切り替えると説明したが、情報処理装置100の配置の境界付近を交互に移動するような場合や、複数の情報処理装置をまたいだ移動の場合に無駄な切り替えが発生する場合がある。このような場合には、仮想化接続先情報を参照し、所定時間以上、所定の情報処理装置100の範囲内にカーソルがある場合に、仮想化制御を切り替えることも可能である。
また、複数台投影処理において、情報処理装置100が備える画面転送部104が画面転送を行わず非表示とした場合、デバイス制御装置200では配置情報に基づき非表示とした情報処理装置100の画面を表示しない。そうした場合、非表示であっても仮想化制御が可能であるため誤操作する可能性がある。このとき、非表示とした情報処理装置100をデバイス制御装置200が検知すると、仮想化切替制御部204は、非表示として情報処理装置100が仮想化制御をできないようにし、誤操作を防ぐことも可能である。非表示する情報処理装置100が外部デバイス300の仮想化制御を行っていた場合には、仮想化制御を終了(切断)する。
加えて、投影している途中で配置情報が変更された際、変更された配置情報に基づき、画面指示情報受信部207がデバイス制御装置200に対応した画面指示情報に変換することで、仮想化切替制御部204が仮想化制御を行う情報処理装置100を切り替えることなく、情報処理装置100と外部デバイス300の仮想化制御を継続することも可能である。あるいは、配置情報の変更に合わせて、仮想化切替制御部204は仮想化制御を行う情報処理装置100を切り替えてもよい。配置情報が変更された場合は、仮想化制御を終了し、デバイス制御装置200のポインタとして画面指示情報を使用することもできる。
あるいは、仮想化制御している情報処理装置100が仮想化制御中に別の情報処理装置に置き換えられたような場合、画面情報を送信している別の情報処理装置100に仮想化制御を行う情報処理装置を切り替えることも可能である。
以上、本発明について上記の実施形態に基づいて説明したが、本発明は、これらの実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。
例えば、上記の実施形態の機能の制御方法として、この制御方法をデバイス制御装置に実行させるようにすればよい。また、上述の実施形態の機能を有するプログラムを制御プログラムとして、当該制御プログラムをデバイス制御装置が備えるコンピュータに実行させるようにしてもよい。なお、制御プログラムは、例えば、コンピュータに読み取り可能な記録媒体に記録される。
また、本発明は、以下の処理を実行することによっても実現される。つまり、上述した実施形態の機能を実現するソフトウェア(プログラムコード)を、ネットワークまたは各種の記録媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムコードを読み出して実行する処理である。
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶したコンピュータで読み取り可能な記憶媒体は本発明を構成することになる。
また、プログラムコードの指示に基づき、コンピュータ上で稼働しているOS等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現されるように構成してもよい。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれたあと、このプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を実行し、その処理に応じて上述した実施形態が実現される場合も含んでいる。
なお、プログラムコードを供給するため、例えば、フロッピー(登録商標)ディスク、ハードディスク、光磁気ディスク、CDやDVDに代表される光ディスク、磁気テープ、不揮発性のメモリカード、ROM等の記憶媒体を用いることができる。または、プログラムコードは、ネットワークを介してダウンロードしてもよい。
100:情報処理装置
101:アプリケーション
102:デバイスドライバ
103:仮想化制御部
104:画面転送部
105:画面指示情報転送部
106:映像情報通信制御部
200:デバイス制御装置
201:外部デバイス制御部
202:仮想化制御部
203:映像情報通信制御部
204:仮想化切替制御部
205:映像処理部
206:画面受信部
207:画面指示情報受信部
208:画像合成部
300:外部デバイス

Claims (8)

  1. ネットワークを介して複数の情報処理装置に接続され、デバイスとローカル接続されたデバイス制御装置であって、
    前記情報処理装置から送信される画面情報を受信する画面情報受信手段と、
    画面を前記デバイス制御装置で表示するための配置を記憶する記憶手段と、
    前記画面情報を前記記憶手段が記憶した前記配置に基づき合成する合成手段と、
    前記合成手段によって合成された前記画面を表示する表示手段と、
    前記デバイスがあたかも前記情報処理装置にローカル接続されているかのように前記情報処理装置のうち一つへ認識させて制御できるようにするために、前記情報処理装置からの制御要求に従って前記デバイスを仮想化制御する仮想化制御手段と、
    前記デバイスを前記仮想化制御している情報処理装置から送信される座標情報を受信する座標情報受信手段と、
    前記配置から各々の前記情報処理装置が前記仮想化制御を行う領域を判定情報として作成し、前記座標情報および前記判定情報に基づき仮想化制御する前記情報処理装置を切り替える仮想化切替制御手段と、
    を備えることを特徴とするデバイス制御装置。
  2. 前記仮想化切替制御手段は、前記判定情報と前記座標情報に基づき、前記座標情報が所定の情報処理装置で前記仮想化制御することが可能な領域外に変化した場合に、前記仮想化制御を行う情報処理装置を前記座標情報が属する領域の別の情報処理装置へ切り替えることを特徴とする請求項1に記載のデバイス制御装置。
  3. 前記仮想化切替制御手段は、前記座標情報が属する領域に所定時間以上とどまらない場合、前記仮想化制御を行う前記情報処理装置を切り替えないことを特徴とする請求項2に記載のデバイス制御装置。
  4. 前記仮想化切替制御手段は、前記画面情報受信手段で受信した前記画面情報が非表示であって、前記座標情報が当該非表示の領域に変化した場合、前記仮想化制御する前記情報処理装置を切り替えないことを特徴とする請求項2に記載のデバイス制御装置。
  5. 前記仮想化切替制御手段は、前記配置が変更された場合、当該変更前に前記デバイスを仮想化制御していた情報処理装置を特定し、当該特定した情報処理装置と前記デバイスとの間の前記仮想化制御を継続することを特徴とする請求項2に記載のデバイス制御装置。
  6. 前記仮想化切替制御手段は、前記仮想化制御を行っている情報処理装置が当該仮想化制御中に別の情報処理装置に置き換えられ、前記画面情報受信手段が当該情報処理装置からの前記画面情報を受信できない場合、前記画面情報を送信している情報処理装置へ前記仮想化制御を切り替えることを特徴とする請求項2に記載のデバイス制御装置。
  7. ネットワークを介して複数の情報処理装置に接続され、デバイスとローカル接続されたデバイス制御装置のデバイス制御方法であって、
    前記情報処理装置から送信される画面情報を受信する画面情報受信ステップと、
    画面を前記デバイス制御装置で表示するための配置を記憶する記憶ステップと、
    前記画面情報を前記記憶ステップで記憶した前記配置に基づき合成する合成ステップと、
    前記合成ステップで合成した前記画面を表示する表示ステップと、
    前記デバイスがあたかも前記情報処理装置にローカル接続されているかのように前記情報処理装置のうち一つへ認識させて制御できるようにするために、前記情報処理装置からの制御要求に従って前記デバイスを仮想化制御する仮想化制御ステップと、
    前記デバイスを前記仮想化制御している情報処理装置から送信される座標情報を受信する座標情報受信ステップと、
    前記配置から各々の前記情報処理装置が前記仮想化制御を行う領域を判定情報として作成し、前記座標情報および前記判定情報に基づき仮想化制御する前記情報処理装置を切り替える仮想化切替制御ステップと、
    を備えることを特徴とするデバイス制御方法。
  8. 請求項1乃至請求項6の何れか1項に記載のデバイス制御装置の各手段をコンピュータに機能させるためのプログラム。
JP2016252099A 2016-12-26 2016-12-26 デバイス制御装置、デバイス制御方法およびプログラム Pending JP2018106424A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016252099A JP2018106424A (ja) 2016-12-26 2016-12-26 デバイス制御装置、デバイス制御方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016252099A JP2018106424A (ja) 2016-12-26 2016-12-26 デバイス制御装置、デバイス制御方法およびプログラム

Publications (1)

Publication Number Publication Date
JP2018106424A true JP2018106424A (ja) 2018-07-05

Family

ID=62787919

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016252099A Pending JP2018106424A (ja) 2016-12-26 2016-12-26 デバイス制御装置、デバイス制御方法およびプログラム

Country Status (1)

Country Link
JP (1) JP2018106424A (ja)

Similar Documents

Publication Publication Date Title
CN102782747B (zh) 用于将显示面分割成多个虚拟显示区域的装置和方法
CN103339600A (zh) 立即远程呈现
JP2013008279A (ja) 端末装置、プログラムおよびリモート操作システム
JP2009157802A (ja) 携帯端末および情報処理装置
US20120287042A1 (en) Portable terminal and display output method thereof
WO2013111272A1 (ja) 設備管理装置、設備管理方法、プログラム、及び、設備管理システム
JP6286836B2 (ja) 投影システム、投影装置、投影方法、及び投影プログラム
JP5345998B2 (ja) コンピュータ・システムの制御方法およびコンピュータ
JP5116496B2 (ja) 情報処理装置および携帯端末
JP2018106424A (ja) デバイス制御装置、デバイス制御方法およびプログラム
JP2014153776A (ja) 情報処理システム、情報処理装置、その制御方法とプログラム
US20130139066A1 (en) Information processing apparatus, information processing method, and storage medium
US20160127504A1 (en) Information processing device, information processing system, program, and computer readable recording medium
US9910698B2 (en) Information processing apparatus, information processing method, and program
JP2019121047A (ja) デバイス制御装置、情報処理装置、デバイス制御方法、情報処理方法およびプログラム
CN115777094A (zh) 信息处理设备和图像显示方法
JP5472569B2 (ja) 投写システム
JP2015075572A (ja) 表示装置、情報端末、表示システム、及びプログラム
JP2018097757A (ja) デバイス制御装置、デバイス制御方法およびデバイス制御システム
WO2016204100A1 (ja) デバイス制御装置、その制御方法、およびデバイス制御システム
US20240045638A1 (en) Screen Combination Method and Apparatus
JP2007004712A (ja) ポインティングデバイスおよび電子機器のカーソル表示制御方法
KR20040013641A (ko) 운영체제 이미지파일 업데이트를 위한 휴대용 기기
JP2019068251A (ja) 情報処理装置、その制御方法、プログラム
JP2006155306A (ja) デバイスドライバの管理方法