リモコン制御システム
【課題】複数のリモコン端末から操作対象の制御装置を双方向通信により同時に制御できるリモコン制御システムを提供する。
【解決手段】ゲストコンピュータ13では、携帯電話3から送信された操作要求が受信され、時刻T1において主制御部へ転送される。主制御部は、この操作要求を時刻T2においてIP通信管理部に転送する。IP通信管理部は、この登録要求をIPパケットに変換して時刻T3でホストコンピュータ11へ転送する。ホストコンピュータ11では、時刻T4で受信された操作要求が主制御部へ転送される。主制御部は、転送された操作要求から識別ID、アプリIDおよび操作コード等を抽出し、時刻T5において操作変換部へ転送する。操作変換部は、転送された操作コードを変換テーブル104aに基づいてキーコードに変換し、時刻T6において表示更新部へ転送する。表示更新部は、転送されたキーコードに応じた処理を実行して表示内容を更新する。
【解決手段】ゲストコンピュータ13では、携帯電話3から送信された操作要求が受信され、時刻T1において主制御部へ転送される。主制御部は、この操作要求を時刻T2においてIP通信管理部に転送する。IP通信管理部は、この登録要求をIPパケットに変換して時刻T3でホストコンピュータ11へ転送する。ホストコンピュータ11では、時刻T4で受信された操作要求が主制御部へ転送される。主制御部は、転送された操作要求から識別ID、アプリIDおよび操作コード等を抽出し、時刻T5において操作変換部へ転送する。操作変換部は、転送された操作コードを変換テーブル104aに基づいてキーコードに変換し、時刻T6において表示更新部へ転送する。表示更新部は、転送されたキーコードに応じた処理を実行して表示内容を更新する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の無線式リモコン端末から送信される遠隔操作信号を受信して実質的に同時に処理するリモコン制御システムに関する。
【背景技術】
【0002】
一台のコンピュータを複数の利用者がリモコン端末を用いて同時に遠隔操作できるようにすれば、コンピュータ上で実行中の1ないし複数のアプリケーションを複数の利用者が同時に利用できるようになる。例えば、自動車レースのゲームプログラムを大画面モニタの接続されたコンピュータで実行する際に、複数台の競技車両のそれぞれに無線式リモコン端末を割り当て、各利用者がそれぞれの無線式リモコン端末で競技車両を自由に操作できるようにすれば、多数の利用者が競い合うことで臨場感の溢れるゲーム展開が可能になる。
【0003】
このとき、無線式のリモコン端末を用いれば、各利用者はコンピュータから離れた位置で操作を行えるので多数の利用者による同時操作が容易になる。しかしながら、携帯電話や家電用のリモコンに普及している従来の赤外線リモコンでは、各リモコンから送信されたパルス信号が干渉するので複数の同時利用には適さない。これに対して、電波式のリモコンであれば複数の同時利用が可能になるものの、普及率が低いために別途に専用リモコンを用意しなければならない。
【0004】
一方、近距離無線通信システムとしてBluetoothが普及し、多くの携帯電話にBluetoothが実装されるようになってきた。したがって、無線式リモコンをBluetooth方式とすれば、多くの利用者は使い慣れた自身の携帯電話をリモコン端末として利用できるようになる。
【0005】
特許文献1には、再生装置がレジューム情報をリモコン装置側へBluetoothのシリアルポートプロファイル(SPP)を用いて送信して保持させ、次回の再生時にはリモコン装置がレジューム情報を再生装置に送信してコンテンツをジャンプ再生させることにより、再生装置におけるユーザごとのレジューム情報の管理を不要にする技術が開示されている。
【0006】
特許文献2には、Bluetoothのハンズフリープロファイル(HSF)を用いて、腕時計型端末装置が携帯電話装置にカメラシャッターの押下コマンドを送信すると、携帯電話装置のカメラが撮像を実行し、撮像完了後に腕時計型端末装置が携帯電話装置に撮像画像の取得を要求すると、携帯電話装置がBluetoothの画像プロファイル(BIP)を用いて腕時計型端末に画像データを転送し、腕時計型端末の画面上に表示させる技術が開示されている。
【0007】
特許文献3には、情報端末がBluetoothのシリアルポートプロファイル(SPP)を用いて撮像端末の撮像動作を制御すると共に、撮像端末が情報端末にデータ量の多い画像情報を転送する前に、撮像画像の関連情報を情報端末に自動的に転送し、撮像完了後に情報端末が撮像端末に対し撮像画像の取得を要求すると、撮像端末がBluetoothの画像プロファイル(BIP)あるいはBluetoothのオブジェクト交換プロファイル(OPP)を用いて情報端末に撮像画像のデータを転送し、情報端末の画面上に表示させる技術が開示されている。
【0008】
特許文献4には、映像表示装置が予め複数のリモコンのリモコン送信コードと分割画面領域とを関連付けて記憶しておき、各リモコン装置からリモコン送信コードをキーの操作キーコードと共に受信すると、画面を複数に分割して各ユーザに分割画面領域を割り当てて操作対象とする技術が開示されている。
【0009】
特許文献5には、双方向通信と複数IPリモコン対応とが可能なテレビ受像機システムが開示されている。このシステムでは通信に無線LANが使用され、IPリモコンと操作対象機器との間で制御コマンドや画像データがIPネットワーク経由で双方向通信により送受信される。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】特開2009−43309号公報
【特許文献2】特開2009−118474号公報
【特許文献3】特開2007−19665号公報
【特許文献4】特開2009−27485号公報
【特許文献5】特開2009−55614号公報
【発明の概要】
【発明が解決しようとする課題】
【0011】
特許文献1では、リモコン装置と再生装置との間に一対一のペアリングを実現できるが、複数のリモコン装置から再生装置を同時に制御することができなかった。また、この方式ではBluetoothのSPPを利用し、リモコン装置と再生装置との間でレジューム情報を双方向で送受信できるが、SPPによる1回の送信データ量は1024バイトに制限されるので大容量のデータ転送には不向きであった。
【0012】
特許文献2では、腕時計型端末装置とカメラ付き携帯電話装置との間に一対一のペアリングを実現できるが、複数の腕時計型端末装置からカメラ付き携帯電話装置を同時に制御することができなかった。また、携帯電話装置から画像データをBIPにより腕時計型端末装置に転送する前に、制御のHFPセッションを切断する必要があり、転送時に腕時計型端末装置からの制御コマンドを受け付けられなかった。
【0013】
特許文献3では、情報端末が撮像端末に制御コマンドを送信すると共に、SPPにより撮像端末から撮像画像の関連情報を同時に受信できる。しかしながら、特許文献2の場合と同様に、複数の情報端末から撮像端末を同時に制御することができなかった。また、SPP、BIPおよびOPPを併用できないため、特許文献2の場合と同様に、撮像画像データの転送時に情報端末からの制御コマンドを受け付けられないという技術課題を依然として有した。
【0014】
特許文献4では、複数のリモコンのそれぞれに対して映像表示装置の画面領域を分割して複数のユーザ(視聴者)が同時に映像表示装置を共有できるようにしているが、複数フォーマットのリモコン信号を利用しなければならないので、回路や制御機構が複雑となり、その結果、リモコンおよび受信部が大型かつ高価になるという問題点があった。また、この方式では双方向通信ができなかった。
【0015】
特許文献5では、通信が無線LANにより行われるので双方向通信を簡単に実現できる。しかしながら、無線LAN用の通信モジュールは消費電力が大きいので、バッテリ駆動を前提とするモバイル端末には不向きである。また、無線LANでは複数の無線端末が帯域を共有するため、複数の無線端末が1つのアクセスポイントに集中すると通信速度が落ちてしまう。
【0016】
本発明の目的は、上記した従来技術の課題を解決し、複数のリモコン端末から操作対象の制御装置を双方向通信により実質的に同時に制御できるリモコン制御システムを提供することにある。
【課題を解決するための手段】
【0017】
上記の目的を達成するために、本発明は、複数のリモコン端末でコンピュータを遠隔操作するリモコン制御システムにおいて、以下のような手段を講じた点に特徴がある。
【0018】
(1)コンピュータを仮想的に複数のゲストコンピュータおよびホストコンピュータとして動作させ、各ゲストコンピュータとホストコンピュータとを仮想IPネットワークで接続する手段と、各ゲストコンピュータにBluetoothドングルを実装する手段とを具備し、各リモコン端末が、ゲストコンピュータにおいて空き状態のBluetoothドングルを探索する手段と、探索により得られたBluetoothドングルの識別IDおよびリモコン端末の端末IDを含む登録要求を生成する手段と、遠隔操作に応じた操作コードを発生する手段と、操作コードを含む操作要求を生成する手段と、各要求をBluetooth SPPパケット化する手段と、SPPパケットを前記空き状態のBluetoothドングルへ送信する手段とを具備し、ゲストコンピュータが、リモコン端末から受信したSPPパケットをIPパケットに変換して前記仮想IPネットワーク経由でホストコンピュータへ転送する手段と、ホストコンピュータから前記仮想IPネットワーク経由で受信したIPパケットをSPPパケットに変換してリモコン端末へ転送する手段とを具備し、ホストコンピュータが、リモコン端末から送信された探索要求に応答して、空き状態のBluetoothドングルの識別IDを含む探索応答をIPパケットに変換して返信する手段と、リモコン端末から送信された登録要求に応答して、ゲストコンピュータのBluetoothドングルとリモコン端末とを紐付ける手段と、Bluetoothドングルごとにリモコン端末の操作コードとホストコンピュータのキーコードとの対応付けを管理し、操作要求に記述されている操作コードを、当該操作要求を受信したBluetoothドングルに基づいてキーコードに変換する手段と、キーコードに基づいて所定の制御を実行する手段とを具備したことを特徴とする。
【0019】
(2)登録要求および操作要求が、ホストコンピュータで実行可能なアプリケーションを識別するアプリIDを含み、前記変換手段は、BluetoothドングルおよびアプリIDのペアごとにリモコン端末の操作コードとホストコンピュータのキーコードとの対応付けを管理し、操作要求に記述されている操作コードを、当該操作要求を受信したBluetoothドングルおよびアプリIDに基づいてキーコードに変換することを特徴とする。
【0020】
(3)ホストコンピュータが、前記操作要求に対するフィードバックコマントを生成する手段を具備し、フィードバックコマントが、前記操作要求を受信したBluetoothドングルにおいてBluetooth SPPパケット化されてリモコン端末へ返信されることを特徴とする。
【0021】
(4)各Bluetooth SPPパケットにはパケットの順番が記述されており、ホストコンピュータは受信した各Bluetooth SPPパケットを前記順番に基づいて並べ替えることを特徴とする。
【0022】
(5)リモコン端末が、Bluetoothモジュールを実装してSPPをサポートする携帯電話,スマートフォン,PDA,ポケットコンピュータのいずれかであることを特徴とする。
【0023】
(6)リモコン端末において遠隔操作に応じた操作コードを発生する手段が、方向キー、十字キー、テンキー、タッチパネル、音声認識、カメラ動き検出、トラックボールおよび加速度センサのいずれかであることを特徴とする。
【発明の効果】
【0024】
本発明によれば以下のような効果が達成される。
【0025】
(1)リモコン端末からコンピュータへ送信される遠隔操作の信号がBluetooth SPPパケット化され、コンピュータではBluetoothドングルを実装した複数のゲストコンピュータが仮想的に並列動作するので、一つのコンピュータを複数台のリモコン端末で同時かつ無線で遠隔操作できるようになる。
【0026】
また、一台のコンピュータで同時に動作できるBluetoothスタック数には制限があるが、本発明では一台のコンピュータが複数の仮想的なゲストコンピュータに分割され、ゲストコンピュータのそれぞれが、あたかも1台のコンピュータであるかのように複数のBluetoothスタックを動作させることができる。したがって、1台のコンピュータに、Bluetoothスタック数の制限を超えた多数のリモコン端末を収容できるようになる。
【0027】
(2)遠隔操作の信号がアプリケーションを識別するアプリIDを含むので、コンピュータにおいて複数のアプリケーションを同時に実行する場合でも、各リモコン操作による遠隔操作をアプリケーションごとに識別できるようになる。
【0028】
(3)リモコン端末とコンピュータとが双方向で通信できるので、リモコン端末はコンピュータからフィードバックコマントを受信できるようになる。
【0029】
(4)各Bluetooth SPPパケットにパケットの順番が記述されているので、受信側ではSPPパケットを正確に復元できる。
【0030】
(5)リモコン端末として、Bluetoothモジュールを実装してSPPをサポートする携帯電話,スマートフォン,PDA,ポケットコンピュータを用いることができるので、専用のリモコン端末を別途に用意する必要がない。
【0031】
(6)リモコン端末が標準で備える方向キー、十字キー、テンキー、タッチパネル、音声認識、カメラ動き検出、トラックボールおよび加速度センサをリモコン用の入力操作手段として用いることができるようになる。
【図面の簡単な説明】
【0032】
【図1】本発明が適用されるリモコン制御システムの構成を示したブロック図である。
【図2】リモコン端末の操作をキーボード操作に割り当てる概念を示した図である。
【図3】コンピュータおよび携帯電話の構成を示した機能ブロック図である。
【図4】紐付け情報記憶部の登録内容を示した図である。
【図5】変換テーブルの一例を示した図である。
【図6】登録手順のシーケンスフローである。
【図7】登録要求メッセージのフォーマットを示した図である。
【図8】登録完了後の紐付け情報記憶部の登録内容を示した図である。
【図9】登録応答メッセージのフォーマットを示した図である。
【図10】本発明の一実施形態の動作を示したシーケンスフローである。
【図11】操作要求メッセージのフォーマットを示した図である。
【図12】Bluetooth SPPパケットの送受信手順を示したフローチャートである。
【発明を実施するための形態】
【0033】
以下、図面を参照して本発明の実施の形態について詳細に説明する。図1は、本発明が適用されるリモコン制御システムの構成を示したブロック図であり、遠隔操作に応答して所定の制御を実行し、制御内容を反映したビデオ信号を出力するコンピュータ1と、前記ビデオ信号を再生する大型モニタ装置2と、前記コンピュータ1をBluetoothで遠隔操作するリモコン端末3とを主要な構成としている。
【0034】
前記コンピュータ1は、複数のBluetoothドングルまたはBluetoothモジュールが実装されたゲーム端末、デジタルサイネージ端末あるいは汎用コンピュータであり、前記リモコン端末3は、同様にBluetoothドングルまたはBluetoothモジュールが実装された携帯電話,スマートフォン,PDA,ポケットコンピュータ等の汎用モバイル端末である。本実施形態では、リモコン端末3として携帯電話を想定し、各携帯電話3とコンピュータ1とがBluetooth SPPで双方向のパケット通信を行う。
【0035】
本実施形態では、前記コンピュータ1がVMWare(登録商標)やXen(登録商標)などの仮想化技術を利用することで、仮想的に1台のホストコンピュータおよび複数台のゲストコンピュータとして動作できる。図1は、仮想化技術としてVMWareを採用した場合の構成を示しており、コンピュータ1のハードウェア資源上でWindows(登録商標)、MacOSXあるいはLinuxなどのホストOSが動作し、このホストOS上でユーザアプリケーションと共に仮想化アプリケーションのVMwareが動作する。VMware上では複数のゲストOSが動作し、各ゲストOSがゲストコンピュータとして機能する。各ゲストOS上ではゲストアプリケーションが動作する。
【0036】
図2を併せて参照し、本実施形態では、コンピュータ1に接続されるキーボード4の各キー領域を各携帯電話3に割り当て、端末ユーザが携帯電話3を操作すると、これがキーボード4の操作としてコンピュータ1に認識される。コンピュータ1は複数のアプリケーションを同時に実行でき、携帯電話3の操作をアプリケーションごとに固有のキーボード操作に変換して各アプリケーションを実行する。
【0037】
このような構成において、各携帯電話3がキー操作等の内容を代表する操作コードを各ゲストコンピュータへBluetooth SPPにより送信すると、コンピュータ1は、受信した操作コードをキーボード操作に変換し、そのキーコードに対応した制御を実行する。このとき、コンピュータ1は必要に応じて、各携帯電話3へBluetooth SPPでフィードバックコマンドを返信する。各携帯電話3は、受信したフィードバックコマンドを解釈して端末ディスプレイの表示を切り換えたり、あるいはフォースフィードバックを出力したりする。
【0038】
図3は、前記コンピュータ1および各携帯電話3の主要部の構成を示した機能ブロック図である。
【0039】
Bluetoothでは、相互に通信する機器の一方がマスタ、他方がスレーブとされる。Bluetoothの仕様上は、1台のマスタにスレーブを7台まで接続でき、いずれの機器もマスタおよびスレーブとなれる。ただし、最初に接続を要求する機器がマスタとなり、この接続要求に応答する機器がスレーブとなる。本実施形態では、携帯電話3の操作を契機にコンピュータ1へ各種の要求メッセージが送信されるので、携帯電話3がマスタとなり、コンピュータ1がスレーブとなる。
【0040】
このため、本実施形態ではコンピュータ1に実装される各Bluetoothドングルが受け付けられるリモコン端末数は「1」に制限されるので、コンピュータ1には、リモコン端末として機能させたい携帯電話3の台数に応じた数のBluetoothドングルを実装できるだけのゲストコンピュータ13が仮想的に実装され、ゲストコンピュータ13ごとに1ないし複数のBluetoothスタックがインストールされ、それぞれのBluetoothドングルを動作させる。図3では、ゲストコンピュータ13および携帯電話3に実装されたBluetoothドングルが、SPP送信モジュール116(303)およびSPP受信モジュール117(304)のペアで表現されている。
【0041】
各携帯電話3は、主制御部301により実行されるOSとしてBREW(登録商標:Binary Runtime Environment for Wireless)などの汎用OSを実装し、SPP通信管理部302により制御される通信レイヤでは、Bluetooth(登録商標)のSPP送信モジュール303およびSPP受信モジュール304が動作する。識別ID記憶部305には、コンピュータ1から通知される空きBluetoothドングルの識別IDが記憶される。アプリID記憶部309には、コンピュータ1から通知されるアプリケーションリストに記述されている各アプリケーションに固有のアプリIDが記憶される。
【0042】
入力部306は、方向キー、十字キー、テンキー、タッチパネル、音声認識、カメラ動き検出、トラックボールあるいは加速度センサなどの入力デバイスで検知された操作コード、ならびに選択されたBluetoothドングルの識別IDおよびアプリIDを入力情報に変換する。表示部307は、端末ディスプレイおよびその制御回路を含み、出力情報に応答して端末ディスプレイの表示を制御する。振動部308は、フォースフィードバック要求の出力情報に応答して振動を発生させる。音響部310は、フォースフィードバック要求の出力情報に応答して効果声を出力させる。
【0043】
ホストコンピュータ11は、その主制御部100により実行されるOSとしてWindows(登録商標)あるいはLinux(登録商標)などの汎用OSを実装し、IP通信管理部101により制御される通信レイヤでは、IP送信モジュール102およびIP受信モジュール103が動作する。グローバル紐付け情報記憶部106では、図4に一例を示したように、ゲストコンピュータを識別するゲストID,Bluetoothドングルの識別ID、実装されているBluetoothドングルのMACアドレス、シリアルポート番号およびユーザ端末IDが相互に紐付けられている。操作変換部104は変換テーブル104aを備え、携帯電話3からゲストコンピュータ経由で受信した操作コードを変換テーブル104aに基づいてキーボード操作に変換する。表示更新部105は、キーボード操作に応答した処理を実行してモニタ装置2の表示内容を更新する。
【0044】
図5は、前記変換テーブル104aの一例を示した図であり、Bluetoothドングルの識別IDをインデックスとして、アプリID、操作コードおよび対応するキーボード操作が紐付けられている。
【0045】
例えば、識別ID「1」ではアプリID「APP1」、操作コード「LEFT」およびキーボード操作「KEY_LEFT」が紐付けられているので、識別IDが「1」のBluetoothドングルと紐付けられた携帯電話3において、アプリIDが「APP1」のアプリケーションで「LEFT」キーが操作されると、これがキーボードの「KEY_LEFT」の操作と見なされて処理される。
【0046】
図3へ戻り、ゲストコンピュータ13は、その主制御部114により実行されるOSとしてWindows(登録商標)あるいはLinux(登録商標)などの汎用OSを実装し、IP通信管理部113により制御される通信レイヤでは、IP送信モジュール111およびIP受信モジュール112が動作する。また、SPP通信管理部115により制御される通信レイヤでは、SPP送信モジュール116およびSPP受信モジュール117が動作する。
【0047】
なお、仮想DHCPサーバ12は、ゲストコンピュータ13にIPアドレスを自動的に割り当てる。仮想ハブ14は、ローカル環境でIPアドレスを割り当てられる仮想IPネットワークを構成する。
【0048】
このような構成において、コンピュータ1を遠隔操作しようとする携帯電話3は、始めにコンピュータ1へ探索要求を送信して空き状態のBluetoothドングルを探索する。携帯電話3から探索要求を受信したゲストコンピュータ13は、仮想IPネットワーク経由で当該探索要求をホストコンピュータ11へ転送する。
【0049】
ホストコンピュータ11は、前記紐付け情報記憶部106を参照して空き状態のBluetoothドングルを探索し、そのアドレス情報(本実施形態では、MACアドレス)を仮想IPネットワーク経由でゲストコンピュータ13へ通知する。ゲストコンピュータ13は、前記通知されたMACアドレスを探索応答として携帯電話3へ返信する。ここでは、前記図4に示したように全てのBluetoothドングルが空き状態なので、いずれかのBluetoothドングルが任意に選択され、そのMACアドレスが応答される。
【0050】
図6は、Bluetoothドングルの探索後に各携帯電話3がゲストコンピュータを経由してホストコンピュータ11に自身の登録を要求する手順を示したシーケンスフローである。
【0051】
携帯電話3は、ゲストコンピュータから前記探索応答を受信すると、登録要求メッセージを生成してゲストコンピュータ13へ送信する。図7は、登録要求メッセージのフォーマットを示した図であり、本実施形態では、Bluetooth SPPパケットのDataフィールドに3つのValueフィールド(0),(1),(2)が確保されており、Value(0)フィールドには、当該メッセージが登録要求である旨の情報が記述され、Value(1)フィールドには、BluetoothドングルのMACアドレスが記述され、Value(2)フィールドには、ユーザ端末IDが記述されている。
【0052】
ゲストコンピュータ13では、携帯電話3から受信した登録要求が、時刻T1においてSPP受信モジュール117およびSPP通信管理部115を経由して主制御部114へ転送される。主制御部114は、この登録要求を時刻T2においてIP通信管理部113に転送する。IP通信管理部113は、この登録要求をIPパケットに変換し、時刻T3において、IP送信モジュール111から仮想IPネットワーク経由でホストコンピュータ11へ転送する。
【0053】
ホストコンピュータ11では、前記登録要求がIP受信モジュール103により受信され、時刻T4において、IP通信管理部101を経由して主制御部100へ転送される。主制御部100は、時刻T5において、前記登録要求からBluetoothドングルのMACアドレスおよび携帯電話3のユーザ端末IDを抽出し、これらをグローバル紐付け情報記憶部106の対応レコードに登録する。グローバル紐付け情報記憶部106は、時刻T6において、前記対応レコードに登録されているBluetoothドングルの識別IDを主制御部100へ通知する。図8は、当該登録完了後の紐付け情報記憶部106の登録内容を示した図であり、識別IDが「1」のレコードにおいて、BluetoothドングルのMACアドレス[00:21:4F…]とリモコン端末の端末ID[090-5555…]とが紐付けられている。
【0054】
主制御部100は、時刻T7において、前記識別IDの記述された登録応答メッセージを生成してIP通信管理部101へ転送する。図9は、前記登録応答メッセージのフォーマットを示した図であり、そのValue(0)フィールドには、当該メッセージが登録応答である旨の情報が記述され、Value(1)フィールドには、前記紐付け情報記憶部106においてBluetoothドングルを特定するための識別ID「1」が記述されている。Value(2)フィールドには、ホストコンピュータ11において実行可能なアプリケーションのアプリIDのリストが記述されている。
【0055】
IP通信管理部101は、時刻T8において、前記登録応答をIPパケットに変換して仮想IPネットワーク経由でゲストコンピュータ13へ返信する。ゲストコンピュータ13では、IP受信モジュール112で受信されたIPパケットがIP通信管理部113において登録応答に復元され、時刻T9において主制御部114へ転送される。主制御部114は、時刻T10において前記登録応答をSPPパケット化し、これをSPP通信管理部115からSPP送信モジュール116経由で携帯電話3へ返信する。
【0056】
携帯電話3は、この登録応答メッセージを受信すると、識別IDを抽出して識別ID記憶部305に登録し、さらにアプリIDを抽出してアプリID記憶部309に登録して一連の初期登録手順を完了する。
【0057】
なお、登録解除時には、携帯電話3からゲストコンピュータ13へペアリングの登録解除を要求するメッセージが送信される。この登録解除要求メッセージのフォーマットは、前記図7を参照して説明した登録要求メッセージと同様であるが、Value(0)フィールドには登録解除Flag(0xFE)が記述され、Value(1)フィールドには解除対象となるBluetoothドングルのMACアドレスが記述され、Value(2)フィールドにユーザ端末IDが記述される。
【0058】
ゲストコンピュータ13は、この登録解除要求メッセージを受信すると、これをホストコンピュータ11の紐付け情報記憶部106に通知する。紐付け情報記憶部106は、この通知に応答して、前記Value(1)フィールドおよびValue(2)フィールドの登録内容に該当するBluetoothドングルを選択してユーザ端末IDをクリアする。
【0059】
次いで、端末ユーザが自身の携帯端末3を操作してホストコンピュータ1のアプリケーションを操作する実施形態について、図10のシーケンスフローに沿って詳細に説明する。
【0060】
携帯電話3では、端末ユーザによりBluetoothドングルおよびアプリケーションが選択され、さらにキー操作などの入力イベントが検知されると、これが操作要求として主制御部301へ通知される。主制御部301は、識別ID記憶部305からBluetoothドングルの識別IDを取得し、さらにアプリID記憶部309からアプリIDを取得し、前記識別ID,アプリIDおよびキー操作に対応した操作コードの記述された操作要求メッセージを生成してSPP通信管理部302へ転送する。
【0061】
この操作要求メッセージでは、図11に一例を示したように、Dataフィールドに5つのValueフィールド(0),(1),(2),(3),(4)が確保されており、Value(0)フィールドには識別IDが記述され、Value(1)フィールドにはアプリIDが記述され、Value(2)フィールドには操作コードが記述され、Value(3)フィールドにはパケット番号が記述され、Value(4)フィールドには各種のデータが記述されている。通信管理部302は、転送された操作要求メッセージをBluetooth SPPパケットに変換し、SPP送信モジュール303から対応するゲストコンピュータ13へ送信する。
【0062】
ゲストコンピュータ13では、携帯電話3から送信された操作要求がSPP受信モジュール117で受信され、さらに図10の時刻T1において、SPP通信管理部115を経由して主制御部114へ転送される。主制御部114は、この操作要求を時刻T2においてIP通信管理部113に転送する。IP通信管理部113は、この登録要求をIPパケットに変換し、時刻T3において仮想IPネットワーク経由でホストコンピュータ11へ転送する。
【0063】
ホストコンピュータ11では、時刻T4において前記操作要求が通信管理部101により受信されて主制御部100へ転送される。主制御部100は、転送された操作要求から識別ID、アプリIDおよび操作コード等を抽出し、時刻T5において操作変換部104へ転送する。操作変換部104は、転送された操作コードを変換テーブル104aに基づいてキーコードに変換し、時刻T6において表示更新部105へ転送する。表示更新部105は、転送されたキーコードに応じた処理を実行して表示内容を更新する。
【0064】
このとき、テキスト出力、画像出力、音声出力、フォースフィードバックなどのフィードバックコマンドを携帯電話3へ返信する必要があれば、時刻T7において、そのフィードバックコマンドが主制御部100からIP通信管理部101へ転送される。IP通信管理部101は、転送されたフィードバックコマンドをIPパケットに変換し、時刻T8において、仮想IPネットワーク経由でゲストコンピュータ13へ返信する。
【0065】
ゲストコンピュータ13では、IP通信管理部113においてIPパケットからフィードバックコマンドが復元され、時刻T9において主制御部114へ転送される。主制御部114は、時刻T10において前記フィードバックコマンドをBluetooth SPPパケットに変換し、これをSPP通信管理部115からSPP送信モジュール116経由で携帯電話3へ返信する。
【0066】
携帯電話3では、前記Bluetooth SPPパケットがSPP通信管理部302で受信されて主制御部301へ転送される。主制御部301は、フィードバックコマンドに基づいて表示更新、音声出力あるいは振動動作などの制御を実行する。
【0067】
図12は、Bluetooth SPPによる前記各メッセージパケットの送信手順を示したフローチャートであり、ここでは、携帯電話3[同図(a)]からゲストコンピュータ1[同図(b)]へ操作要求を送信する場合を例にして説明する。
【0068】
携帯電話3では、ゲストコンピュータ131へ送信するデータが1022バイト単位でデータ片に分割され、Bluetooth SPPパケット化されてバッファにエンキューされる。ステップS1において、バッファに送信用のBluetooth SPPパケットがエンキューされたことが検知されると、ステップS2では、送信Callbackルーチンが割込処理で実行され、バッファから前記パケットが1つずつデキューされて送信モジュール301によりゲストコンピュータ13へ送信される。
【0069】
ゲストコンピュータ1では、前記Bluetooth SPPパケットがステップS11で受信モジュール102により受信されると、ステップS12では、受信Callbackルーチンが割込処理で実行され、受信パケットがバッファへエンキューされる。ステップS13では、正常受信されたBluetooth SPPパケットに対してAckパケットが返信される。ステップS14では、受信パケットに送信完了通知が登録されているか否かが判定され、登録されていなければステップS11へ戻って次のパケット受信に備える。
【0070】
携帯電話3では、ステップS3において、ゲストコンピュータ1から返信されたAckパケットが受信されるとステップS1へ戻り、エンキューされている全てのBluetooth SPPパケットに対して上記の送信処理が繰り返され、最後のパケットのValue(3)には「0xFFFF」が記述され、送信完了通知として送信される。
【0071】
ゲストコンピュータ1では、ステップS14において送信完了通知が検知されるとステップS15へ進み、受信されたパケットからデータ片およびパケット順番を抽出し、各データ片をそのパケット順番にしたがって結合することでデータを復元する。ステップS16では、復元されたデータが表示更新部104に転送されて処理される。
【符号の説明】
【0072】
1…コンピュータ,2…モニタ装置,3…携帯電話,11…ホストコンピュータ,12…仮想DHCPサーバ,13…ゲストコンピュータ,14…仮想ハブ,101…IP通信管理部,102…IP送信モジュール,103…IP受信モジュール,104…操作変換部,104a…変換テーブル,105…表示更新部,106…グローバル紐付け情報記憶部,111…IP送信モジュール,112…IP受信モジュール,113…IP通信管理部,114…主制御部,115…SPP通信管理部,116…SPP送信モジュール,117…SPP受信モジュール,301…主制御部,302…SPP通信管理部,303…SPP送信モジュール,304…SPP受信モジュール,305…識別ID記憶部,306…入力部,307…表示部,308…振動部,309…アプリID記憶部,310…音響部
【技術分野】
【0001】
本発明は、複数の無線式リモコン端末から送信される遠隔操作信号を受信して実質的に同時に処理するリモコン制御システムに関する。
【背景技術】
【0002】
一台のコンピュータを複数の利用者がリモコン端末を用いて同時に遠隔操作できるようにすれば、コンピュータ上で実行中の1ないし複数のアプリケーションを複数の利用者が同時に利用できるようになる。例えば、自動車レースのゲームプログラムを大画面モニタの接続されたコンピュータで実行する際に、複数台の競技車両のそれぞれに無線式リモコン端末を割り当て、各利用者がそれぞれの無線式リモコン端末で競技車両を自由に操作できるようにすれば、多数の利用者が競い合うことで臨場感の溢れるゲーム展開が可能になる。
【0003】
このとき、無線式のリモコン端末を用いれば、各利用者はコンピュータから離れた位置で操作を行えるので多数の利用者による同時操作が容易になる。しかしながら、携帯電話や家電用のリモコンに普及している従来の赤外線リモコンでは、各リモコンから送信されたパルス信号が干渉するので複数の同時利用には適さない。これに対して、電波式のリモコンであれば複数の同時利用が可能になるものの、普及率が低いために別途に専用リモコンを用意しなければならない。
【0004】
一方、近距離無線通信システムとしてBluetoothが普及し、多くの携帯電話にBluetoothが実装されるようになってきた。したがって、無線式リモコンをBluetooth方式とすれば、多くの利用者は使い慣れた自身の携帯電話をリモコン端末として利用できるようになる。
【0005】
特許文献1には、再生装置がレジューム情報をリモコン装置側へBluetoothのシリアルポートプロファイル(SPP)を用いて送信して保持させ、次回の再生時にはリモコン装置がレジューム情報を再生装置に送信してコンテンツをジャンプ再生させることにより、再生装置におけるユーザごとのレジューム情報の管理を不要にする技術が開示されている。
【0006】
特許文献2には、Bluetoothのハンズフリープロファイル(HSF)を用いて、腕時計型端末装置が携帯電話装置にカメラシャッターの押下コマンドを送信すると、携帯電話装置のカメラが撮像を実行し、撮像完了後に腕時計型端末装置が携帯電話装置に撮像画像の取得を要求すると、携帯電話装置がBluetoothの画像プロファイル(BIP)を用いて腕時計型端末に画像データを転送し、腕時計型端末の画面上に表示させる技術が開示されている。
【0007】
特許文献3には、情報端末がBluetoothのシリアルポートプロファイル(SPP)を用いて撮像端末の撮像動作を制御すると共に、撮像端末が情報端末にデータ量の多い画像情報を転送する前に、撮像画像の関連情報を情報端末に自動的に転送し、撮像完了後に情報端末が撮像端末に対し撮像画像の取得を要求すると、撮像端末がBluetoothの画像プロファイル(BIP)あるいはBluetoothのオブジェクト交換プロファイル(OPP)を用いて情報端末に撮像画像のデータを転送し、情報端末の画面上に表示させる技術が開示されている。
【0008】
特許文献4には、映像表示装置が予め複数のリモコンのリモコン送信コードと分割画面領域とを関連付けて記憶しておき、各リモコン装置からリモコン送信コードをキーの操作キーコードと共に受信すると、画面を複数に分割して各ユーザに分割画面領域を割り当てて操作対象とする技術が開示されている。
【0009】
特許文献5には、双方向通信と複数IPリモコン対応とが可能なテレビ受像機システムが開示されている。このシステムでは通信に無線LANが使用され、IPリモコンと操作対象機器との間で制御コマンドや画像データがIPネットワーク経由で双方向通信により送受信される。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】特開2009−43309号公報
【特許文献2】特開2009−118474号公報
【特許文献3】特開2007−19665号公報
【特許文献4】特開2009−27485号公報
【特許文献5】特開2009−55614号公報
【発明の概要】
【発明が解決しようとする課題】
【0011】
特許文献1では、リモコン装置と再生装置との間に一対一のペアリングを実現できるが、複数のリモコン装置から再生装置を同時に制御することができなかった。また、この方式ではBluetoothのSPPを利用し、リモコン装置と再生装置との間でレジューム情報を双方向で送受信できるが、SPPによる1回の送信データ量は1024バイトに制限されるので大容量のデータ転送には不向きであった。
【0012】
特許文献2では、腕時計型端末装置とカメラ付き携帯電話装置との間に一対一のペアリングを実現できるが、複数の腕時計型端末装置からカメラ付き携帯電話装置を同時に制御することができなかった。また、携帯電話装置から画像データをBIPにより腕時計型端末装置に転送する前に、制御のHFPセッションを切断する必要があり、転送時に腕時計型端末装置からの制御コマンドを受け付けられなかった。
【0013】
特許文献3では、情報端末が撮像端末に制御コマンドを送信すると共に、SPPにより撮像端末から撮像画像の関連情報を同時に受信できる。しかしながら、特許文献2の場合と同様に、複数の情報端末から撮像端末を同時に制御することができなかった。また、SPP、BIPおよびOPPを併用できないため、特許文献2の場合と同様に、撮像画像データの転送時に情報端末からの制御コマンドを受け付けられないという技術課題を依然として有した。
【0014】
特許文献4では、複数のリモコンのそれぞれに対して映像表示装置の画面領域を分割して複数のユーザ(視聴者)が同時に映像表示装置を共有できるようにしているが、複数フォーマットのリモコン信号を利用しなければならないので、回路や制御機構が複雑となり、その結果、リモコンおよび受信部が大型かつ高価になるという問題点があった。また、この方式では双方向通信ができなかった。
【0015】
特許文献5では、通信が無線LANにより行われるので双方向通信を簡単に実現できる。しかしながら、無線LAN用の通信モジュールは消費電力が大きいので、バッテリ駆動を前提とするモバイル端末には不向きである。また、無線LANでは複数の無線端末が帯域を共有するため、複数の無線端末が1つのアクセスポイントに集中すると通信速度が落ちてしまう。
【0016】
本発明の目的は、上記した従来技術の課題を解決し、複数のリモコン端末から操作対象の制御装置を双方向通信により実質的に同時に制御できるリモコン制御システムを提供することにある。
【課題を解決するための手段】
【0017】
上記の目的を達成するために、本発明は、複数のリモコン端末でコンピュータを遠隔操作するリモコン制御システムにおいて、以下のような手段を講じた点に特徴がある。
【0018】
(1)コンピュータを仮想的に複数のゲストコンピュータおよびホストコンピュータとして動作させ、各ゲストコンピュータとホストコンピュータとを仮想IPネットワークで接続する手段と、各ゲストコンピュータにBluetoothドングルを実装する手段とを具備し、各リモコン端末が、ゲストコンピュータにおいて空き状態のBluetoothドングルを探索する手段と、探索により得られたBluetoothドングルの識別IDおよびリモコン端末の端末IDを含む登録要求を生成する手段と、遠隔操作に応じた操作コードを発生する手段と、操作コードを含む操作要求を生成する手段と、各要求をBluetooth SPPパケット化する手段と、SPPパケットを前記空き状態のBluetoothドングルへ送信する手段とを具備し、ゲストコンピュータが、リモコン端末から受信したSPPパケットをIPパケットに変換して前記仮想IPネットワーク経由でホストコンピュータへ転送する手段と、ホストコンピュータから前記仮想IPネットワーク経由で受信したIPパケットをSPPパケットに変換してリモコン端末へ転送する手段とを具備し、ホストコンピュータが、リモコン端末から送信された探索要求に応答して、空き状態のBluetoothドングルの識別IDを含む探索応答をIPパケットに変換して返信する手段と、リモコン端末から送信された登録要求に応答して、ゲストコンピュータのBluetoothドングルとリモコン端末とを紐付ける手段と、Bluetoothドングルごとにリモコン端末の操作コードとホストコンピュータのキーコードとの対応付けを管理し、操作要求に記述されている操作コードを、当該操作要求を受信したBluetoothドングルに基づいてキーコードに変換する手段と、キーコードに基づいて所定の制御を実行する手段とを具備したことを特徴とする。
【0019】
(2)登録要求および操作要求が、ホストコンピュータで実行可能なアプリケーションを識別するアプリIDを含み、前記変換手段は、BluetoothドングルおよびアプリIDのペアごとにリモコン端末の操作コードとホストコンピュータのキーコードとの対応付けを管理し、操作要求に記述されている操作コードを、当該操作要求を受信したBluetoothドングルおよびアプリIDに基づいてキーコードに変換することを特徴とする。
【0020】
(3)ホストコンピュータが、前記操作要求に対するフィードバックコマントを生成する手段を具備し、フィードバックコマントが、前記操作要求を受信したBluetoothドングルにおいてBluetooth SPPパケット化されてリモコン端末へ返信されることを特徴とする。
【0021】
(4)各Bluetooth SPPパケットにはパケットの順番が記述されており、ホストコンピュータは受信した各Bluetooth SPPパケットを前記順番に基づいて並べ替えることを特徴とする。
【0022】
(5)リモコン端末が、Bluetoothモジュールを実装してSPPをサポートする携帯電話,スマートフォン,PDA,ポケットコンピュータのいずれかであることを特徴とする。
【0023】
(6)リモコン端末において遠隔操作に応じた操作コードを発生する手段が、方向キー、十字キー、テンキー、タッチパネル、音声認識、カメラ動き検出、トラックボールおよび加速度センサのいずれかであることを特徴とする。
【発明の効果】
【0024】
本発明によれば以下のような効果が達成される。
【0025】
(1)リモコン端末からコンピュータへ送信される遠隔操作の信号がBluetooth SPPパケット化され、コンピュータではBluetoothドングルを実装した複数のゲストコンピュータが仮想的に並列動作するので、一つのコンピュータを複数台のリモコン端末で同時かつ無線で遠隔操作できるようになる。
【0026】
また、一台のコンピュータで同時に動作できるBluetoothスタック数には制限があるが、本発明では一台のコンピュータが複数の仮想的なゲストコンピュータに分割され、ゲストコンピュータのそれぞれが、あたかも1台のコンピュータであるかのように複数のBluetoothスタックを動作させることができる。したがって、1台のコンピュータに、Bluetoothスタック数の制限を超えた多数のリモコン端末を収容できるようになる。
【0027】
(2)遠隔操作の信号がアプリケーションを識別するアプリIDを含むので、コンピュータにおいて複数のアプリケーションを同時に実行する場合でも、各リモコン操作による遠隔操作をアプリケーションごとに識別できるようになる。
【0028】
(3)リモコン端末とコンピュータとが双方向で通信できるので、リモコン端末はコンピュータからフィードバックコマントを受信できるようになる。
【0029】
(4)各Bluetooth SPPパケットにパケットの順番が記述されているので、受信側ではSPPパケットを正確に復元できる。
【0030】
(5)リモコン端末として、Bluetoothモジュールを実装してSPPをサポートする携帯電話,スマートフォン,PDA,ポケットコンピュータを用いることができるので、専用のリモコン端末を別途に用意する必要がない。
【0031】
(6)リモコン端末が標準で備える方向キー、十字キー、テンキー、タッチパネル、音声認識、カメラ動き検出、トラックボールおよび加速度センサをリモコン用の入力操作手段として用いることができるようになる。
【図面の簡単な説明】
【0032】
【図1】本発明が適用されるリモコン制御システムの構成を示したブロック図である。
【図2】リモコン端末の操作をキーボード操作に割り当てる概念を示した図である。
【図3】コンピュータおよび携帯電話の構成を示した機能ブロック図である。
【図4】紐付け情報記憶部の登録内容を示した図である。
【図5】変換テーブルの一例を示した図である。
【図6】登録手順のシーケンスフローである。
【図7】登録要求メッセージのフォーマットを示した図である。
【図8】登録完了後の紐付け情報記憶部の登録内容を示した図である。
【図9】登録応答メッセージのフォーマットを示した図である。
【図10】本発明の一実施形態の動作を示したシーケンスフローである。
【図11】操作要求メッセージのフォーマットを示した図である。
【図12】Bluetooth SPPパケットの送受信手順を示したフローチャートである。
【発明を実施するための形態】
【0033】
以下、図面を参照して本発明の実施の形態について詳細に説明する。図1は、本発明が適用されるリモコン制御システムの構成を示したブロック図であり、遠隔操作に応答して所定の制御を実行し、制御内容を反映したビデオ信号を出力するコンピュータ1と、前記ビデオ信号を再生する大型モニタ装置2と、前記コンピュータ1をBluetoothで遠隔操作するリモコン端末3とを主要な構成としている。
【0034】
前記コンピュータ1は、複数のBluetoothドングルまたはBluetoothモジュールが実装されたゲーム端末、デジタルサイネージ端末あるいは汎用コンピュータであり、前記リモコン端末3は、同様にBluetoothドングルまたはBluetoothモジュールが実装された携帯電話,スマートフォン,PDA,ポケットコンピュータ等の汎用モバイル端末である。本実施形態では、リモコン端末3として携帯電話を想定し、各携帯電話3とコンピュータ1とがBluetooth SPPで双方向のパケット通信を行う。
【0035】
本実施形態では、前記コンピュータ1がVMWare(登録商標)やXen(登録商標)などの仮想化技術を利用することで、仮想的に1台のホストコンピュータおよび複数台のゲストコンピュータとして動作できる。図1は、仮想化技術としてVMWareを採用した場合の構成を示しており、コンピュータ1のハードウェア資源上でWindows(登録商標)、MacOSXあるいはLinuxなどのホストOSが動作し、このホストOS上でユーザアプリケーションと共に仮想化アプリケーションのVMwareが動作する。VMware上では複数のゲストOSが動作し、各ゲストOSがゲストコンピュータとして機能する。各ゲストOS上ではゲストアプリケーションが動作する。
【0036】
図2を併せて参照し、本実施形態では、コンピュータ1に接続されるキーボード4の各キー領域を各携帯電話3に割り当て、端末ユーザが携帯電話3を操作すると、これがキーボード4の操作としてコンピュータ1に認識される。コンピュータ1は複数のアプリケーションを同時に実行でき、携帯電話3の操作をアプリケーションごとに固有のキーボード操作に変換して各アプリケーションを実行する。
【0037】
このような構成において、各携帯電話3がキー操作等の内容を代表する操作コードを各ゲストコンピュータへBluetooth SPPにより送信すると、コンピュータ1は、受信した操作コードをキーボード操作に変換し、そのキーコードに対応した制御を実行する。このとき、コンピュータ1は必要に応じて、各携帯電話3へBluetooth SPPでフィードバックコマンドを返信する。各携帯電話3は、受信したフィードバックコマンドを解釈して端末ディスプレイの表示を切り換えたり、あるいはフォースフィードバックを出力したりする。
【0038】
図3は、前記コンピュータ1および各携帯電話3の主要部の構成を示した機能ブロック図である。
【0039】
Bluetoothでは、相互に通信する機器の一方がマスタ、他方がスレーブとされる。Bluetoothの仕様上は、1台のマスタにスレーブを7台まで接続でき、いずれの機器もマスタおよびスレーブとなれる。ただし、最初に接続を要求する機器がマスタとなり、この接続要求に応答する機器がスレーブとなる。本実施形態では、携帯電話3の操作を契機にコンピュータ1へ各種の要求メッセージが送信されるので、携帯電話3がマスタとなり、コンピュータ1がスレーブとなる。
【0040】
このため、本実施形態ではコンピュータ1に実装される各Bluetoothドングルが受け付けられるリモコン端末数は「1」に制限されるので、コンピュータ1には、リモコン端末として機能させたい携帯電話3の台数に応じた数のBluetoothドングルを実装できるだけのゲストコンピュータ13が仮想的に実装され、ゲストコンピュータ13ごとに1ないし複数のBluetoothスタックがインストールされ、それぞれのBluetoothドングルを動作させる。図3では、ゲストコンピュータ13および携帯電話3に実装されたBluetoothドングルが、SPP送信モジュール116(303)およびSPP受信モジュール117(304)のペアで表現されている。
【0041】
各携帯電話3は、主制御部301により実行されるOSとしてBREW(登録商標:Binary Runtime Environment for Wireless)などの汎用OSを実装し、SPP通信管理部302により制御される通信レイヤでは、Bluetooth(登録商標)のSPP送信モジュール303およびSPP受信モジュール304が動作する。識別ID記憶部305には、コンピュータ1から通知される空きBluetoothドングルの識別IDが記憶される。アプリID記憶部309には、コンピュータ1から通知されるアプリケーションリストに記述されている各アプリケーションに固有のアプリIDが記憶される。
【0042】
入力部306は、方向キー、十字キー、テンキー、タッチパネル、音声認識、カメラ動き検出、トラックボールあるいは加速度センサなどの入力デバイスで検知された操作コード、ならびに選択されたBluetoothドングルの識別IDおよびアプリIDを入力情報に変換する。表示部307は、端末ディスプレイおよびその制御回路を含み、出力情報に応答して端末ディスプレイの表示を制御する。振動部308は、フォースフィードバック要求の出力情報に応答して振動を発生させる。音響部310は、フォースフィードバック要求の出力情報に応答して効果声を出力させる。
【0043】
ホストコンピュータ11は、その主制御部100により実行されるOSとしてWindows(登録商標)あるいはLinux(登録商標)などの汎用OSを実装し、IP通信管理部101により制御される通信レイヤでは、IP送信モジュール102およびIP受信モジュール103が動作する。グローバル紐付け情報記憶部106では、図4に一例を示したように、ゲストコンピュータを識別するゲストID,Bluetoothドングルの識別ID、実装されているBluetoothドングルのMACアドレス、シリアルポート番号およびユーザ端末IDが相互に紐付けられている。操作変換部104は変換テーブル104aを備え、携帯電話3からゲストコンピュータ経由で受信した操作コードを変換テーブル104aに基づいてキーボード操作に変換する。表示更新部105は、キーボード操作に応答した処理を実行してモニタ装置2の表示内容を更新する。
【0044】
図5は、前記変換テーブル104aの一例を示した図であり、Bluetoothドングルの識別IDをインデックスとして、アプリID、操作コードおよび対応するキーボード操作が紐付けられている。
【0045】
例えば、識別ID「1」ではアプリID「APP1」、操作コード「LEFT」およびキーボード操作「KEY_LEFT」が紐付けられているので、識別IDが「1」のBluetoothドングルと紐付けられた携帯電話3において、アプリIDが「APP1」のアプリケーションで「LEFT」キーが操作されると、これがキーボードの「KEY_LEFT」の操作と見なされて処理される。
【0046】
図3へ戻り、ゲストコンピュータ13は、その主制御部114により実行されるOSとしてWindows(登録商標)あるいはLinux(登録商標)などの汎用OSを実装し、IP通信管理部113により制御される通信レイヤでは、IP送信モジュール111およびIP受信モジュール112が動作する。また、SPP通信管理部115により制御される通信レイヤでは、SPP送信モジュール116およびSPP受信モジュール117が動作する。
【0047】
なお、仮想DHCPサーバ12は、ゲストコンピュータ13にIPアドレスを自動的に割り当てる。仮想ハブ14は、ローカル環境でIPアドレスを割り当てられる仮想IPネットワークを構成する。
【0048】
このような構成において、コンピュータ1を遠隔操作しようとする携帯電話3は、始めにコンピュータ1へ探索要求を送信して空き状態のBluetoothドングルを探索する。携帯電話3から探索要求を受信したゲストコンピュータ13は、仮想IPネットワーク経由で当該探索要求をホストコンピュータ11へ転送する。
【0049】
ホストコンピュータ11は、前記紐付け情報記憶部106を参照して空き状態のBluetoothドングルを探索し、そのアドレス情報(本実施形態では、MACアドレス)を仮想IPネットワーク経由でゲストコンピュータ13へ通知する。ゲストコンピュータ13は、前記通知されたMACアドレスを探索応答として携帯電話3へ返信する。ここでは、前記図4に示したように全てのBluetoothドングルが空き状態なので、いずれかのBluetoothドングルが任意に選択され、そのMACアドレスが応答される。
【0050】
図6は、Bluetoothドングルの探索後に各携帯電話3がゲストコンピュータを経由してホストコンピュータ11に自身の登録を要求する手順を示したシーケンスフローである。
【0051】
携帯電話3は、ゲストコンピュータから前記探索応答を受信すると、登録要求メッセージを生成してゲストコンピュータ13へ送信する。図7は、登録要求メッセージのフォーマットを示した図であり、本実施形態では、Bluetooth SPPパケットのDataフィールドに3つのValueフィールド(0),(1),(2)が確保されており、Value(0)フィールドには、当該メッセージが登録要求である旨の情報が記述され、Value(1)フィールドには、BluetoothドングルのMACアドレスが記述され、Value(2)フィールドには、ユーザ端末IDが記述されている。
【0052】
ゲストコンピュータ13では、携帯電話3から受信した登録要求が、時刻T1においてSPP受信モジュール117およびSPP通信管理部115を経由して主制御部114へ転送される。主制御部114は、この登録要求を時刻T2においてIP通信管理部113に転送する。IP通信管理部113は、この登録要求をIPパケットに変換し、時刻T3において、IP送信モジュール111から仮想IPネットワーク経由でホストコンピュータ11へ転送する。
【0053】
ホストコンピュータ11では、前記登録要求がIP受信モジュール103により受信され、時刻T4において、IP通信管理部101を経由して主制御部100へ転送される。主制御部100は、時刻T5において、前記登録要求からBluetoothドングルのMACアドレスおよび携帯電話3のユーザ端末IDを抽出し、これらをグローバル紐付け情報記憶部106の対応レコードに登録する。グローバル紐付け情報記憶部106は、時刻T6において、前記対応レコードに登録されているBluetoothドングルの識別IDを主制御部100へ通知する。図8は、当該登録完了後の紐付け情報記憶部106の登録内容を示した図であり、識別IDが「1」のレコードにおいて、BluetoothドングルのMACアドレス[00:21:4F…]とリモコン端末の端末ID[090-5555…]とが紐付けられている。
【0054】
主制御部100は、時刻T7において、前記識別IDの記述された登録応答メッセージを生成してIP通信管理部101へ転送する。図9は、前記登録応答メッセージのフォーマットを示した図であり、そのValue(0)フィールドには、当該メッセージが登録応答である旨の情報が記述され、Value(1)フィールドには、前記紐付け情報記憶部106においてBluetoothドングルを特定するための識別ID「1」が記述されている。Value(2)フィールドには、ホストコンピュータ11において実行可能なアプリケーションのアプリIDのリストが記述されている。
【0055】
IP通信管理部101は、時刻T8において、前記登録応答をIPパケットに変換して仮想IPネットワーク経由でゲストコンピュータ13へ返信する。ゲストコンピュータ13では、IP受信モジュール112で受信されたIPパケットがIP通信管理部113において登録応答に復元され、時刻T9において主制御部114へ転送される。主制御部114は、時刻T10において前記登録応答をSPPパケット化し、これをSPP通信管理部115からSPP送信モジュール116経由で携帯電話3へ返信する。
【0056】
携帯電話3は、この登録応答メッセージを受信すると、識別IDを抽出して識別ID記憶部305に登録し、さらにアプリIDを抽出してアプリID記憶部309に登録して一連の初期登録手順を完了する。
【0057】
なお、登録解除時には、携帯電話3からゲストコンピュータ13へペアリングの登録解除を要求するメッセージが送信される。この登録解除要求メッセージのフォーマットは、前記図7を参照して説明した登録要求メッセージと同様であるが、Value(0)フィールドには登録解除Flag(0xFE)が記述され、Value(1)フィールドには解除対象となるBluetoothドングルのMACアドレスが記述され、Value(2)フィールドにユーザ端末IDが記述される。
【0058】
ゲストコンピュータ13は、この登録解除要求メッセージを受信すると、これをホストコンピュータ11の紐付け情報記憶部106に通知する。紐付け情報記憶部106は、この通知に応答して、前記Value(1)フィールドおよびValue(2)フィールドの登録内容に該当するBluetoothドングルを選択してユーザ端末IDをクリアする。
【0059】
次いで、端末ユーザが自身の携帯端末3を操作してホストコンピュータ1のアプリケーションを操作する実施形態について、図10のシーケンスフローに沿って詳細に説明する。
【0060】
携帯電話3では、端末ユーザによりBluetoothドングルおよびアプリケーションが選択され、さらにキー操作などの入力イベントが検知されると、これが操作要求として主制御部301へ通知される。主制御部301は、識別ID記憶部305からBluetoothドングルの識別IDを取得し、さらにアプリID記憶部309からアプリIDを取得し、前記識別ID,アプリIDおよびキー操作に対応した操作コードの記述された操作要求メッセージを生成してSPP通信管理部302へ転送する。
【0061】
この操作要求メッセージでは、図11に一例を示したように、Dataフィールドに5つのValueフィールド(0),(1),(2),(3),(4)が確保されており、Value(0)フィールドには識別IDが記述され、Value(1)フィールドにはアプリIDが記述され、Value(2)フィールドには操作コードが記述され、Value(3)フィールドにはパケット番号が記述され、Value(4)フィールドには各種のデータが記述されている。通信管理部302は、転送された操作要求メッセージをBluetooth SPPパケットに変換し、SPP送信モジュール303から対応するゲストコンピュータ13へ送信する。
【0062】
ゲストコンピュータ13では、携帯電話3から送信された操作要求がSPP受信モジュール117で受信され、さらに図10の時刻T1において、SPP通信管理部115を経由して主制御部114へ転送される。主制御部114は、この操作要求を時刻T2においてIP通信管理部113に転送する。IP通信管理部113は、この登録要求をIPパケットに変換し、時刻T3において仮想IPネットワーク経由でホストコンピュータ11へ転送する。
【0063】
ホストコンピュータ11では、時刻T4において前記操作要求が通信管理部101により受信されて主制御部100へ転送される。主制御部100は、転送された操作要求から識別ID、アプリIDおよび操作コード等を抽出し、時刻T5において操作変換部104へ転送する。操作変換部104は、転送された操作コードを変換テーブル104aに基づいてキーコードに変換し、時刻T6において表示更新部105へ転送する。表示更新部105は、転送されたキーコードに応じた処理を実行して表示内容を更新する。
【0064】
このとき、テキスト出力、画像出力、音声出力、フォースフィードバックなどのフィードバックコマンドを携帯電話3へ返信する必要があれば、時刻T7において、そのフィードバックコマンドが主制御部100からIP通信管理部101へ転送される。IP通信管理部101は、転送されたフィードバックコマンドをIPパケットに変換し、時刻T8において、仮想IPネットワーク経由でゲストコンピュータ13へ返信する。
【0065】
ゲストコンピュータ13では、IP通信管理部113においてIPパケットからフィードバックコマンドが復元され、時刻T9において主制御部114へ転送される。主制御部114は、時刻T10において前記フィードバックコマンドをBluetooth SPPパケットに変換し、これをSPP通信管理部115からSPP送信モジュール116経由で携帯電話3へ返信する。
【0066】
携帯電話3では、前記Bluetooth SPPパケットがSPP通信管理部302で受信されて主制御部301へ転送される。主制御部301は、フィードバックコマンドに基づいて表示更新、音声出力あるいは振動動作などの制御を実行する。
【0067】
図12は、Bluetooth SPPによる前記各メッセージパケットの送信手順を示したフローチャートであり、ここでは、携帯電話3[同図(a)]からゲストコンピュータ1[同図(b)]へ操作要求を送信する場合を例にして説明する。
【0068】
携帯電話3では、ゲストコンピュータ131へ送信するデータが1022バイト単位でデータ片に分割され、Bluetooth SPPパケット化されてバッファにエンキューされる。ステップS1において、バッファに送信用のBluetooth SPPパケットがエンキューされたことが検知されると、ステップS2では、送信Callbackルーチンが割込処理で実行され、バッファから前記パケットが1つずつデキューされて送信モジュール301によりゲストコンピュータ13へ送信される。
【0069】
ゲストコンピュータ1では、前記Bluetooth SPPパケットがステップS11で受信モジュール102により受信されると、ステップS12では、受信Callbackルーチンが割込処理で実行され、受信パケットがバッファへエンキューされる。ステップS13では、正常受信されたBluetooth SPPパケットに対してAckパケットが返信される。ステップS14では、受信パケットに送信完了通知が登録されているか否かが判定され、登録されていなければステップS11へ戻って次のパケット受信に備える。
【0070】
携帯電話3では、ステップS3において、ゲストコンピュータ1から返信されたAckパケットが受信されるとステップS1へ戻り、エンキューされている全てのBluetooth SPPパケットに対して上記の送信処理が繰り返され、最後のパケットのValue(3)には「0xFFFF」が記述され、送信完了通知として送信される。
【0071】
ゲストコンピュータ1では、ステップS14において送信完了通知が検知されるとステップS15へ進み、受信されたパケットからデータ片およびパケット順番を抽出し、各データ片をそのパケット順番にしたがって結合することでデータを復元する。ステップS16では、復元されたデータが表示更新部104に転送されて処理される。
【符号の説明】
【0072】
1…コンピュータ,2…モニタ装置,3…携帯電話,11…ホストコンピュータ,12…仮想DHCPサーバ,13…ゲストコンピュータ,14…仮想ハブ,101…IP通信管理部,102…IP送信モジュール,103…IP受信モジュール,104…操作変換部,104a…変換テーブル,105…表示更新部,106…グローバル紐付け情報記憶部,111…IP送信モジュール,112…IP受信モジュール,113…IP通信管理部,114…主制御部,115…SPP通信管理部,116…SPP送信モジュール,117…SPP受信モジュール,301…主制御部,302…SPP通信管理部,303…SPP送信モジュール,304…SPP受信モジュール,305…識別ID記憶部,306…入力部,307…表示部,308…振動部,309…アプリID記憶部,310…音響部
【特許請求の範囲】
【請求項1】
複数のリモコン端末でコンピュータを遠隔操作するリモコン制御システムにおいて、
コンピュータを仮想的に複数のゲストコンピュータおよびホストコンピュータとして動作させ、各ゲストコンピュータとホストコンピュータとを仮想IPネットワークで接続する手段と、
各ゲストコンピュータに複数のBluetoothドングルを実装する手段とを具備し、
前記各リモコン端末が
ゲストコンピュータにおいて空き状態のBluetoothドングルを探索する手段と、
探索により得られたBluetoothドングルの識別IDおよびリモコン端末の端末IDを含む登録要求を生成する手段と、
遠隔操作に応じた操作コードを発生する手段と、
前記操作コードを含む操作要求を生成する手段と、
前記各要求をBluetooth SPPパケット化する手段と、
前記SPPパケットを前記空き状態のBluetoothドングルへ送信する手段とを具備し、
前記ゲストコンピュータが、
リモコン端末から受信したSPPパケットをIPパケットに変換して前記仮想IPネットワーク経由でホストコンピュータへ転送する手段と、
ホストコンピュータから前記仮想IPネットワーク経由で受信したIPパケットをSPPパケットに変換してリモコン端末へ転送する手段とを具備し、
前記ホストコンピュータが、
リモコン端末から送信された探索要求に応答して、空き状態のBluetoothドングルの識別IDを含む探索応答をIPパケットに変換して返信する手段と、
リモコン端末から送信された登録要求に応答して、ゲストコンピュータのBluetoothドングルとリモコン端末とを紐付ける手段と、
Bluetoothドングルごとにリモコン端末の操作コードとホストコンピュータのキーコードとの対応付けを管理し、操作要求に記述されている操作コードを、当該操作要求を受信したBluetoothドングルに基づいてキーコードに変換する手段と、
前記キーコードに基づいて所定の制御を実行する手段とを具備したことを特徴とするリモコン制御システム。
【請求項2】
前記登録要求および操作要求が、ホストコンピュータで実行可能なアプリケーションを識別するアプリIDを含み、
前記変換手段は、BluetoothドングルおよびアプリIDのペアごとにリモコン端末の操作コードとホストコンピュータのキーコードとの対応付けを管理し、操作要求に記述されている操作コードを、当該操作要求を受信したBluetoothドングルおよびアプリIDに基づいてキーコードに変換することを特徴とする請求項1に記載のリモコン制御システム。
【請求項3】
前記ホストコンピュータが、前記操作要求に対するフィードバックコマントを生成する手段を具備し、
前記フィードバックコマントが、前記操作要求を受信したBluetoothドングルにおいてBluetooth SPPパケット化されてリモコン端末へ返信されることを特徴とする請求項1または2に記載のリモコン制御システム。
【請求項4】
前記各Bluetooth SPPパケットにはパケットの順番が記述されており、ホストコンピュータは受信した各Bluetooth SPPパケットを前記順番に基づいて並べ替えることを特徴とする請求項1ないし3のいずれかに記載のリモコン制御システム。
【請求項5】
前記リモコン端末が、Bluetoothモジュールを実装してSPPをサポートする携帯電話,スマートフォン,PDA,ポケットコンピュータのいずれかであることを特徴とする請求項1ないし4のいずれかに記載のリモコン制御システム。
【請求項6】
前記リモコン端末において遠隔操作に応じた操作コードを発生する手段が、方向キー、十字キー、テンキー、タッチパネル、音声認識、カメラ動き検出、トラックボールおよび加速度センサのいずれかであることを特徴とする請求項1ないし5のいずれかに記載のリモコン制御システム。
【請求項1】
複数のリモコン端末でコンピュータを遠隔操作するリモコン制御システムにおいて、
コンピュータを仮想的に複数のゲストコンピュータおよびホストコンピュータとして動作させ、各ゲストコンピュータとホストコンピュータとを仮想IPネットワークで接続する手段と、
各ゲストコンピュータに複数のBluetoothドングルを実装する手段とを具備し、
前記各リモコン端末が
ゲストコンピュータにおいて空き状態のBluetoothドングルを探索する手段と、
探索により得られたBluetoothドングルの識別IDおよびリモコン端末の端末IDを含む登録要求を生成する手段と、
遠隔操作に応じた操作コードを発生する手段と、
前記操作コードを含む操作要求を生成する手段と、
前記各要求をBluetooth SPPパケット化する手段と、
前記SPPパケットを前記空き状態のBluetoothドングルへ送信する手段とを具備し、
前記ゲストコンピュータが、
リモコン端末から受信したSPPパケットをIPパケットに変換して前記仮想IPネットワーク経由でホストコンピュータへ転送する手段と、
ホストコンピュータから前記仮想IPネットワーク経由で受信したIPパケットをSPPパケットに変換してリモコン端末へ転送する手段とを具備し、
前記ホストコンピュータが、
リモコン端末から送信された探索要求に応答して、空き状態のBluetoothドングルの識別IDを含む探索応答をIPパケットに変換して返信する手段と、
リモコン端末から送信された登録要求に応答して、ゲストコンピュータのBluetoothドングルとリモコン端末とを紐付ける手段と、
Bluetoothドングルごとにリモコン端末の操作コードとホストコンピュータのキーコードとの対応付けを管理し、操作要求に記述されている操作コードを、当該操作要求を受信したBluetoothドングルに基づいてキーコードに変換する手段と、
前記キーコードに基づいて所定の制御を実行する手段とを具備したことを特徴とするリモコン制御システム。
【請求項2】
前記登録要求および操作要求が、ホストコンピュータで実行可能なアプリケーションを識別するアプリIDを含み、
前記変換手段は、BluetoothドングルおよびアプリIDのペアごとにリモコン端末の操作コードとホストコンピュータのキーコードとの対応付けを管理し、操作要求に記述されている操作コードを、当該操作要求を受信したBluetoothドングルおよびアプリIDに基づいてキーコードに変換することを特徴とする請求項1に記載のリモコン制御システム。
【請求項3】
前記ホストコンピュータが、前記操作要求に対するフィードバックコマントを生成する手段を具備し、
前記フィードバックコマントが、前記操作要求を受信したBluetoothドングルにおいてBluetooth SPPパケット化されてリモコン端末へ返信されることを特徴とする請求項1または2に記載のリモコン制御システム。
【請求項4】
前記各Bluetooth SPPパケットにはパケットの順番が記述されており、ホストコンピュータは受信した各Bluetooth SPPパケットを前記順番に基づいて並べ替えることを特徴とする請求項1ないし3のいずれかに記載のリモコン制御システム。
【請求項5】
前記リモコン端末が、Bluetoothモジュールを実装してSPPをサポートする携帯電話,スマートフォン,PDA,ポケットコンピュータのいずれかであることを特徴とする請求項1ないし4のいずれかに記載のリモコン制御システム。
【請求項6】
前記リモコン端末において遠隔操作に応じた操作コードを発生する手段が、方向キー、十字キー、テンキー、タッチパネル、音声認識、カメラ動き検出、トラックボールおよび加速度センサのいずれかであることを特徴とする請求項1ないし5のいずれかに記載のリモコン制御システム。
【図1】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【公開番号】特開2011−10223(P2011−10223A)
【公開日】平成23年1月13日(2011.1.13)
【国際特許分類】
【出願番号】特願2009−154046(P2009−154046)
【出願日】平成21年6月29日(2009.6.29)
【出願人】(000208891)KDDI株式会社 (2,700)
【Fターム(参考)】
【公開日】平成23年1月13日(2011.1.13)
【国際特許分類】
【出願日】平成21年6月29日(2009.6.29)
【出願人】(000208891)KDDI株式会社 (2,700)
【Fターム(参考)】
[ Back to top ]