(57)【特許請求の範囲】
【請求項１】
リモートデスクトップ環境で、ローカルコンピュータにビデオデバイスを接続してリモートコンピュータ上で動作させるときに、前記ビデオデバイスから取得したビデオデータを格納するためのローカルキャッシュ記憶装置と、
前記ローカルコンピュータに接続された前記ビデオデバイスから取得したビデオデータを前記リモートコンピュータへ送信するとともに、当該ビデオデータの所定のフレーム毎に、時間に関するインデックスを付して前記ローカルキャッシュ記憶装置に格納するローカルデバイス制御部と、を備え、
前記ローカルデバイス制御部は、前記リモートコンピュータから受信したデータに含まれる、どのフレームを再生すべきかを指定するためのインデックスに基づいて、前記ローカルキャッシュ記憶装置から当該インデックスに対応付けられたフレームを前記ローカルキャッシュ記憶装置から読み出し、当該読み出したフレームを前記ローカルコンピュータ上で再生して動画を出力することを特徴とするローカルコンピュータ。
【請求項２】
リモートデスクトップ環境で、ローカルコンピュータにビデオデバイスを接続してリモートコンピュータ上で動作させるときに、前記ビデオデバイスが接続された前記ローカルコンピュータとの間でデータの送受信を行うリモートデバイス制御部と、
前記ローカルコンピュータに接続された前記ビデオデバイスによって取得され、前記ローカルコンピュータから送信されたビデオデータを、前記リモートデバイス制御部を介して受信し、受信したビデオデータの描画情報としてどのフレームを再生すべきかを指定するためのインデックスを含むデータを前記リモートデバイス制御部を介して前記ローカルコンピュータに送信するリモートアプリケーションと、
を備えるリモートコンピュータ。
【請求項３】
ビデオデバイスが接続されたローカルコンピュータと、リモートコンピュータとを備え、
前記ローカルコンピュータは、
リモートデスクトップ環境で、前記ローカルコンピュータに前記ビデオデバイスを接続して前記リモートコンピュータ上で動作させるときに、前記ビデオデバイスから取得したビデオデータを格納するためのローカルキャッシュ記憶装置と、
前記ビデオデバイスから取得したビデオデータを前記リモートコンピュータへ送信するとともに、当該ビデオデータの所定のフレーム毎に、時間に関するインデックスを付して前記ローカルキャッシュ記憶装置に格納するローカルデバイス制御部と、を備え、
前記リモートコンピュータは、
リモートデスクトップ環境で、前記ローカルコンピュータに前記ビデオデバイスを接続して前記リモートコンピュータ上で動作させるときに、前記ローカルコンピュータから送信された前記ビデオデータを受信し、受信したビデオデータの描画情報としてどのフレームを再生すべきかを指定するためのインデックスを含むデータを前記ローカルコンピュータに送信するリモートアプリケーションを備え、
前記ローカルコンピュータの前記ローカルデバイス制御部は、さらに、前記リモートコンピュータから受信した前記データに含まれるインデックスに基づいて、前記ローカルキャッシュ記憶装置から当該インデックスに対応付けられたフレームを前記ローカルキャッシュ記憶装置から読み出し、当該読み出したフレームを前記ローカルコンピュータ上で再生して動画を出力することを特徴とするビデオデータのデータ転送システム。
【請求項４】
リモートデスクトップ環境で、ローカルコンピュータにビデオデバイスを接続してリモートコンピュータ上で動作させるときにおける、前記ビデオデバイスが接続された前記ローカルコンピュータと、前記リモートコンピュータとの間のビデオデータのデータ転送方法であって、
前記ローカルコンピュータが、前記ビデオデバイスから取得したビデオデータを前記リモートコンピュータへ送信するとともに、当該ビデオデータの所定のフレーム毎に、時間に関するインデックスを付して前記ローカルキャッシュ記憶装置に格納するステップと、
前記リモートコンピュータが、前記ローカルコンピュータから前記ビデオデータを受信するステップと、
前記リモートコンピュータが、前記受信したビデオデータの描画情報としてどのフレームを再生すべきかを指定するためのインデックスを含むデータを前記ローカルコンピュータに送信するステップと、
前記ローカルコンピュータが、前記リモートコンピュータから受信した前記データに含まれるインデックスに基づいて、前記ローカルキャッシュ記憶装置から当該インデックスに対応付けられたフレームを前記ローカルキャッシュ記憶装置から読み出し、当該読み出したフレームを前記ローカルコンピュータ上で再生して動画を出力するステップと、
を備えるデータ転送方法。
【請求項５】
コンピュータを、
リモートデスクトップ環境で、ローカルコンピュータにビデオデバイスを接続してリモートコンピュータ上で動作させるときに、前記ビデオデバイスから取得したビデオデータを格納するためのローカルキャッシュ記憶手段、
前記コンピュータに接続されたビデオデバイスから取得したビデオデータを前記リモートコンピュータへ送信するとともに、当該ビデオデータの所定のフレーム毎に、時間に関するインデックスを付して前記ローカルキャッシュ記憶手段に格納するローカルデバイス制御手段であって、前記リモートコンピュータから受信したデータに含まれる、どのフレームを再生すべきかを指定するためのインデックスに基づいて、前記ローカルキャッシュ記憶手段から当該インデックスに対応付けられたフレームを前記ローカルキャッシュ記憶装置から読み出し、当該読み出したフレームを前記ローカルコンピュータ上で再生して動画を出力する前記ローカルデバイス制御手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ローカルコンピュータに繋いだデバイスを、リモートコンピュータ上で動作させる際のデータ転送技術に関する。
【背景技術】
【０００２】
従来、ＵＳＢ接続により動画像をコンピュータ（ＰＣ)上に取り込むことのできるＵＳＢビデオ（ＵＳＢカメラを含む）というものが知られている。また、ネットワークの発達により手元のローカルコンピュータから遠方にあるリモートコンピュータへネットワーク経由でログインしてリモートコンピュータ上で作業することができるようになっている。
【０００３】
このとき、ＵＳＢビデオを遠くにあるリモートコンピュータに直接接続しにいくというのは難しいので、手元のローカルコンピュータにＵＳＢビデオを接続し、それをリモートコンピュータに認識させてリモートコンピュータ上のアプリケーションでビデオデータを再生し、それをローカルコンピュータへ画面転送して表示して使いたいという要望が存在する。
【０００４】
このような要望に対して、別のコンピュータに繋いだＵＳＢ機器をリモートコンピュータ上で認識させるＵＳＢリダイレクトと呼ばれる技術が存在している（特許文献２参照）。また、リモートデスクトップ環境における画面転送技術として、画面イメージをローカルコンピュータに送る、または、文字列等の描画のコマンドを送信して描画はローカルコンピュータ側で実行するという技術が存在している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−２１０１１５号公報
【特許文献２】特表２００９−５０８２１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、リモートデスクトップ環境においてＵＳＢビデオを利用しようとすると、ローカルコンピュータ上で動作するＵＳＢビデオで撮影したビデオデータをリモートコンピュータへ転送し、リモートコンピュータ上で映像や音声がデコードされて画面と音が再生され、その情報をリモートコンピュータがローカルコンピュータへ画面と音を再生するように指示するようになっている。そのため、もともとのＵＳＢビデオのビデオデータを再生するために、ビデオデータはローカルコンピュータからリモートコンピュータへ渡された後、再度ビデオデータがローカルコンピュータに渡されるという経路を通って、最終的にローカルコンピュータで再生されることになる。このデータのやりとりは経路上の通信帯域を食いつぶす原因になる。つまり、リモートデスクトップ環境における動画再生では、ローカルコンピュータで表示する画面を、リモートコンピュータから画面転送で送信するので、リモートコンピュータ側からローカルコンピュータ側へのデータ転送帯域が大きくなる。
【０００７】
本発明は、かかる実情に鑑みてなされたものであり、リモートコンピュータからローカルコンピュータへ送られるデータ量を減らし、経路上の通信帯域の消費を抑えることのできるデータ転送技術を提供しようとするものである。
【課題を解決するための手段】
【０００８】
本発明の一実施形態に係るデータ転送システムは、デバイスが接続されたローカルコンピュータと、リモートコンピュータとを備える。ローカルコンピュータは、データを格納するためのローカルキャッシュ記憶装置と、デバイスから取得した第１のデータをリモートコンピュータへ送信するとともに、当該第１のデータにインデックスを付してローカルキャッシュ記憶装置に格納するローカルデバイス制御部と、を備える。ローカルデバイス制御部は、リモートコンピュータから受信した第２のデータに含まれるインデックスに基づいて、ローカルキャッシュ記憶装置から当該インデックスに対応付けられた第１のデータを読み出して出力する。リモートコンピュータは、ローカルデバイス制御部から第１のデータを受信し、受信した第１のデータの描画情報として描画用のインデックスを含む第２のデータをローカルコンピュータに送信するリモートアプリケーションと、を備える。
【０００９】
また、本発明の一実施形態に係るデータ転送方法は、デバイスが接続されたローカルコンピュータと、リモートコンピュータとの間のデータ転送方法であり、ローカルコンピュータが、デバイスから取得した第１のデータをリモートコンピュータへ送信するとともに、当該第１のデータにインデックスを付してローカルキャッシュ記憶装置に格納するステップと、リモートコンピュータが、ローカルコンピュータから第１のデータを受信するステップと、リモートコンピュータが、受信した第１のデータの描画情報として描画用のインデックスを含む第２のデータをローカルコンピュータに送信するステップと、ローカルコンピュータが、リモートコンピュータから受信した第２のデータに含まれるインデックスに基づいて、ローカルキャッシュ記憶装置から当該インデックスに対応付けられた第１のデータを読み出して出力するステップと、を備える。
【００１０】
好適には、第１のデータはビデオデータであり、ローカルデバイス制御部は、第１のデータを所定のフレーム毎にインデックスを付して格納し、第２のデータに含まれるインデックスに基づいて、ローカルキャッシュ記憶装置から再生するフレームを読み出して、ビデオデータを再生し、出力する。また、デバイスは、ＵＳＢによりローカルコンピュータに接続されるＵＳＢビデオデバイスであることが好ましい。
【００１１】
本発明の一実施形態に係るリモートコンピュータは、ローカルコンピュータとの間でデータの送受信を行うリモートデバイス制御部と、ローカルコンピュータに接続されたデバイスから取得された第１のデータをリモートデバイス制御部を介して受信し、受信した第１のデータの描画情報として描画用のインデックスを含む第２のデータをリモートデバイス制御部を介してローカルコンピュータに送信するリモートアプリケーションと、を備える。
【００１２】
本発明の一実施形態においては、リモートコンピュータからローカルコンピュータへのデータ転送を少なくするための通信方式を導入することにより、データ転送量の削減を図る。再生すべきデータはローカルコンピュータ上で取り込まれるのであるから、ローカルコンピュータ上でキャッシュしておいて必要時にそこから参照できるようにしておいて、リモートコンピュータからはどのフレームを再生すべきかのみを渡すことにする。どのフレームを再生すべきかを受け取ったら、ローカルコンピュータのキャッシュに記録したＵＳＢビデオのデータから該当フレームを取得し、ローカルコンピュータ上で再生する。
【００１３】
このように、リモートデスクトップ環境でローカルコンピュータにＵＳＢビデオデバイスを繋いでリモートコンピュータ上で動作させるときに、ローカルコンピュータ上で動作するＵＳＢビデオデバイスのデータをローカルコンピュータ上にキャッシュしておいて、ＵＳＢビデオデバイスのデータを参照する必要がでたときはリモートコンピュータからローカルコンピュータにはキャッシュのインデックスのみを指定してキャッシュデータを参照させることで、リモートコンピュータからローカルコンピュータに送るデータ量を減らすことができる。
【発明の効果】
【００１４】
本発明によれば、ＵＳＢビデオ等で表示される画面イメージをローカルキャッシュで保存しておき、動画再生時はインデックスだけを指定して画面そのものの転送は行わないので、リモートコンピュータからローカルコンピュータへ送られるデータ転送帯域を小さくし、経路上の通信帯域の消費を抑えることができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態に係るデータ転送システムの概略構成を示すブロック図である。
【図２】本発明の一実施形態に係るデータ転送システムの処理の流れを示すタイミングチャートである。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態について図面を参照しつつ詳細に説明する。なお、同一の要素には同一の符号を付し、重複する説明を省略する。
【００１７】
図１は、本発明の一実施形態に係るデータ転送システムの概略構成を示すブロック図である。同図に示すように、本実施形態においては、リモートコンピュータ１とローカルコンピュータ２とを備え、これらがネットワークＮを介して相互に接続されることにより構成される。
【００１８】
リモートコンピュータ１は、リモートコンピュータ１の主記憶となるリモート記憶装置１０と、リモートコンピュータ１上で動作するリモートアプリケーション１１と、リモートコンピュータ１上でデバイス情報を取り扱うリモートデバイス制御部１２とを備える。リモートアプリケーション１１は、ＵＳＢビデオデバイス３０から取得されたビデオデータを受け取り、ビデオデータの描画情報として、どのフレームを再生すべきかを指定する描画用インデックスを含むデータをローカルコンピュータに送信する。リモートデバイス制御部１２は、ローカルコンピュータ２との間でデータの送受信を行う。
【００１９】
ローカルコンピュータ２は、ローカルコンピュータ２の主記憶となるローカル記憶装置２０と、メモリや主記憶装置で構成され、ＵＳＢビデオデバイス３０のデータを一時的に保存しておくことのできるローカルキャッシュ記憶装置２１と、ローカルコンピュータ２に繋がれたＵＳＢビデオデバイス３０のデバイス情報を取り扱うローカルデバイス制御部２２とを備える。ローカルコンピュータ２はさらに、ディスプレイ４０を備え、再生されたＵＳＢビデオデバイス３０の映像や音声が出力される。
【００２０】
ローカルデバイス制御部２２は、ローカルコンピュータ２に接続されたＵＳＢビデオデバイス３０から取得したビデオデータをリモートコンピュータ１へ送信するとともに、このビデオデータにインデックスを付してローカルキャッシュ記憶装置２１に格納する。このとき、ビデオデータは、所定のフレーム毎に分けてインデックスが付与される。また、ローカルデバイス制御部２２は、リモートコンピュータ１からデータを受信すると、そのデータに含まれるインデックスに対応付けられたビデオデータをローカルキャッシュ記憶装置２１から読み出し、読み出したフレームをローカルコンピュータ２上で再生し、ディスプレイ４０に動画を出力する。
【００２１】
ＵＳＢビデオデバイス３０は、ＵＳＢによってローカルコンピュータ２に接続されるビデオカメラ装置である。なお、本実施形態においては、ＵＳＢビデオデバイス３０がローカルコンピュータ２に接続されるものとしたが、本発明はこれに限定されるものではない。ＵＳＢビデオデバイス３０は、直接ローカルコンピュータ２に接続せずに、ＵＳＢハブなどを経由して接続することも可能である。ＵＳＢビデオデバイス３０は、複数接続することも可能である。また、ＵＳＢデバイスとして、ビデオカメラ装置以外にも種々のデバイスを適用可能であるし、接続方式もＵＳＢ接続に限らず、他の接続方式を適用可能である。
【００２２】
リモートコンピュータ１とローカルコンピュータ２はそれぞれ、各部の動作や処理を制御するための制御装置としてのプロセッサ、処理プログラムや各種データの記録及び作業領域として用いられる記憶装置としての外部記録装置やメモリ、キーやタッチパッド等からの入力を受け取る入力インターフェース、液晶ディスプレイ等の出力装置へ出力する出力インターフェース、ネットワークＮを介して通信を行うための通信インターフェース、及びこれらを結ぶバスを備えるコンピュータを適用することができる。当該応答装置２０を構成する各ハードウェア資源がメモリに格納されたソフトウェアと協働して動作することにより、応答部２０１、ロケーション照合部２０２及び配信制御部（アクセス転送部２０５）の機能を実現する。他の実施例についても同様である。
【００２３】
ネットワークＮは、リモートコンピュータ１とローカルコンピュータ２との間でデータ転送が可能な経路として機能する通信回線である。例えば、インターネット、ＬＡＮ、専用線、無線通信網、一般電話回線網、その他の通信回線、それらの組み合わせ等のいずれであってもよく、有線であるか無線であるかを問わない。
【００２４】
図２は、本発明の一実施形態に係るデータ転送システムの処理の流れを示すタイミングチャートである。
【００２５】
まず、ローカルコンピュータ２にＵＳＢビデオデバイス３０が接続されると（Ｓ１００）、ローカルデバイス制御部２２が接続を認識し、リモートデバイス制御部１２に対してＵＳＢビデオデバイス３０が接続されたことをネットワークＮを介して通知し（Ｓ１０１）、ローカルデバイス制御部２２とリモートデバイス制御部１２間でＵＳＢビデオデバイス３０のデータの送受信を行うための設定を確立する。この部分の動作については、特許文献１と同様である。
【００２６】
次に、リモートコンピュータ１上のリモートアプリケーション１１がＵＳＢビデオデバイス３０のデータを要求すると（Ｓ１０２）、リモートデバイス制御部１２、ローカルデバイス制御部２２と経由してＵＳＢビデオデバイス３０まで要求が送られる。
【００２７】
要求に応じてＵＳＢビデオデバイス３０からデータが送信され始めたら（Ｓ１０３）、ローカルデバイス制御部２２ではＵＳＢビデオデバイス３０から送られてきたデータをリモートデバイス制御部１２に送信しつつ、並行して同じデータをローカルキャッシュ記憶装置２１に保存しておく。保存の際には、どの時間のデータなのかについてのインデックスを保持しておく。
【００２８】
リモートアプリケーション１１は受信したデータの描画情報として描画用のインデックスを送信し（Ｓ１０４）、リモートデバイス制御部１２を経て、ローカルデバイス制御部２２が受信する。
【００２９】
ローカルデバイス制御部２２はローカルキャッシュ記憶装置２１に対してインデックスを指定して、インデックスに対応する保存してあるキャッシュ情報を取得する（Ｓ１０５）。
【００３０】
ローカルデバイス制御部２２は取得したキャッシュ情報から、リモートアプリケーション１１の画面が表示されている領域に画面が描画されるように、ディスプレイ４０に対して画面イメージの描画命令を発行し、ディスプレイ４０上にＵＳＢビデオデバイス３０で取得した画面が表示される。
【００３１】
なお、本発明は、上記した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において、他の様々な形で実施することができる。このため、上記実施形態はあらゆる点で単なる例示にすぎず、限定的に解釈されるものではない。例えば、上述の各処理ステップは処理内容に矛盾を生じない範囲で任意に順番を変更して又は並列に実行することができる。また、本発明は、種々の分野で活用可能であるが、特にシンクライアント環境は、有効な分野の一例である。
【００３２】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限
られない。
【００３３】
（付記１）データを格納するためのローカルキャッシュ記憶装置と、ローカルコンピュータに接続されたデバイスから取得した第１のデータをリモートコンピュータへ送信するとともに、当該第１のデータにインデックスを付して前記ローカルキャッシュ記憶装置に格納するローカルデバイス制御部と、を備え、前記ローカルデバイス制御部は、前記リモートコンピュータから受信した第２のデータに含まれるインデックスに基づいて、前記ローカルキャッシュ記憶装置から当該インデックスに対応付けられた第１のデータを読み出して出力することを特徴とするローカルコンピュータ。
【００３４】
（付記２）前記第１のデータはビデオデータであり、前記ローカルデバイス制御部は、第１のデータを所定のフレーム毎にインデックスを付して格納し、前記第２のデータに含まれるインデックスに基づいて、前記ローカルキャッシュ記憶装置から再生するフレームを読み出して、ビデオデータを再生し、出力することを特徴とする付記１に記載のローカルコンピュータ。
【００３５】
（付記３）前記デバイスは、ＵＳＢにより前記ローカルコンピュータに接続されるＵＳＢビデオデバイスであることを特徴とする付記１又は２のいずれかに記載のローカルコンピュータ。
【００３６】
（付記４）ローカルコンピュータとの間でデータの送受信を行うリモートデバイス制御部と、前記ローカルコンピュータに接続されたデバイスから取得された第１のデータを前記リモートデバイス制御部を介して受信し、受信した第１のデータの描画情報として描画用のインデックスを含む第２のデータを前記リモートデバイス制御部を介して前記ローカルコンピュータに送信するリモートアプリケーションと、を備えるリモートコンピュータ。
【００３７】
（付記５）デバイスが接続されたローカルコンピュータと、リモートコンピュータとを備え、前記ローカルコンピュータは、データを格納するためのローカルキャッシュ記憶装置と、前記デバイスから取得した第１のデータを前記リモートコンピュータへ送信するとともに、当該第１のデータにインデックスを付して前記ローカルキャッシュ記憶装置に格納するローカルデバイス制御部と、を備え、前記リモートコンピュータは、前記ローカルデバイス制御部から前記第１のデータを受信し、受信した第１のデータの描画情報として描画用のインデックスを含む第２のデータを前記ローカルコンピュータに送信するリモートアプリケーションと、を備え、前記ローカルデバイス制御部は、前記リモートコンピュータから受信した前記第２のデータに含まれるインデックスに基づいて、前記ローカルキャッシュ記憶装置から当該インデックスに対応付けられた第１のデータを読み出して出力することを特徴とするデータ転送システム。
【００３８】
（付記６）デバイスが接続されたローカルコンピュータと、リモートコンピュータとの間のデータ転送方法であって、前記ローカルコンピュータが、前記デバイスから取得した第１のデータを前記リモートコンピュータへ送信するとともに、当該第１のデータにインデックスを付して前記ローカルキャッシュ記憶装置に格納するステップと、前記リモートコンピュータが、前記ローカルコンピュータから前記第１のデータを受信するステップと、前記リモートコンピュータが、前記受信した第１のデータの描画情報として描画用のインデックスを含む第２のデータを前記ローカルコンピュータに送信するステップと、前記ローカルコンピュータが、前記リモートコンピュータから受信した前記第２のデータに含まれるインデックスに基づいて、前記ローカルキャッシュ記憶装置から当該インデックスに対応付けられた第１のデータを読み出して出力するステップと、を備えるデータ転送方法。
【００３９】
（付記７）コンピュータを、データを格納するためのローカルキャッシュ記憶手段、前記コンピュータに接続されたデバイスから取得した第１のデータをリモートコンピュータへ送信するとともに、当該第１のデータにインデックスを付して前記ローカルキャッシュ記憶手段に格納するローカルデバイス制御手段であって、前記リモートコンピュータから受信した第２のデータに含まれるインデックスに基づいて、前記ローカルキャッシュ記憶手段から当該インデックスに対応付けられた第１のデータを読み出して出力する前記ローカルデバイス制御手段、として機能させるためのプログラム。
【符号の説明】
【００４０】
１…リモートコンピュータ、２…ローカルコンピュータ、１０…リモート記憶装置、１１…リモートアプリケーション、１２…リモートデバイス制御部、２０…ローカル記憶装置、２１…ローカルキャッシュ記憶装置、２２…ローカルデバイス制御部、３０…ＵＳＢビデオデバイス、４０…ディスプレイ
【図１】
0005787129.tif 000002
【図２】
0005787129.tif 000003