(57)【特許請求の範囲】
【請求項１】
ＵＳＢを介して移動端末が接続された第１の装置に設置されて前記移動端末とＵＳＢ通信を実行する第１のドライバと、
前記第１の装置とネットワークを介して接続される第２の装置に設置されて前記第１のドライバとネットワークを介して通信する第２のドライバとを含み、
前記第１及び第２のドライバは、前記移動端末を駆動するための遠隔デバイスドライバを形成し、前記第２の装置は、前記遠隔デバイスドライバを介して前記移動端末の遠隔制御のための遠隔制御モジュールを前記移動端末に提供した後、前記遠隔制御モジュールの実行を指示するコマンドを、前記遠隔デバイスドライバを介して前記移動端末に提供し、かつ、前記遠隔デバイスドライバを介して前記移動端末を制御するためのコマンドを伝送して、前記移動端末から前記遠隔デバイスドライバを介して提供された前記移動端末のディスプレイイメージを表示することを特徴とする遠隔制御システム。
【請求項２】
前記第１のドライバは、前記移動端末の接続有無を監視して、前記移動端末が接続されると、前記移動端末と通信チャンネルを形成した後、前記移動端末に前記デバイス情報を要請して前記移動端末からデバイス情報を受信することを特徴とする請求項１に記載の遠隔制御システム。
【請求項３】
前記第２のドライバは、前記第１のドライバとネットワークを介して論理的な通信チャンネルが形成されて前記第１のドライバとデータを送受信する仮想ハブドライバと、
前記移動端末に限定された通信を実行し、前記仮想ハブドライバの通信を管理する機能ドライバと、を含むことを特徴とする請求項２に記載の遠隔制御システム。
【請求項４】
前記第２の装置は、前記遠隔デバイスドライバを介して前記移動端末で実行される前記遠隔制御モジュールの実行終了を指示するコマンドまたは前記遠隔制御モジュールの削除を指示するコマンドを前記移動端末に提供することを特徴とする請求項１に記載の遠隔制御システム。
【請求項５】
ＵＳＢを介して移動端末が接続された第１の装置及び前記第１の装置とネットワークを介して接続された第２の装置を含む遠隔制御システムの遠隔制御方法であって、
前記移動端末に相応する遠隔デバイスドライバを前記第１の装置及び前記第２の装置に分散構築するステップと、
前記第２の装置が前記移動端末を制御するための遠隔制御モジュールを、前記遠隔デバイスドライバを介して前記移動端末に提供するステップと、
前記第２の装置が前記移動端末に提供された遠隔制御モジュールの実行を指示するコマンドを、前記遠隔デバイスドライバを介して前記移動端末に提供するステップと、
前記第２の装置が前記移動端末から前記遠隔デバイスドライバを介して提供された前記移動端末のディスプレイイメージを表示するステップと、を含むことを特徴とする遠隔制御方法。
【請求項６】
前記遠隔デバイスドライバを前記第１の装置及び前記第２の装置に分散構築するステップは、
前記第１の装置が前記移動端末にデバイス情報を要請するステップと、
前記第１の装置が前記移動端末から受信したデバイス情報を前記第２の装置に伝送するステップと、
前記第２の装置が前記第１の装置から受信したデバイス情報に基づいて前記移動端末の機能ドライバを搭載するステップと、を含むことを特徴とする請求項５に記載の遠隔制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、遠隔制御に関するもので、より詳細には、遠隔デバイスドライバを利用してＵＳＢを介して接続された装置を遠隔制御できる遠隔デバイスドライバを利用した遠隔制御システム及び遠隔デバイスドライバを利用した遠隔制御方法に関する。
【背景技術】
【０００２】
ＵＳＢ(Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ)インターフェースは、コンピュータと周辺器機とを接続する入出力インターフェースの標準として、使用の容易性、高速通信、高い安全性、汎用性、低い実現費用、低い電力消耗、多様なオペレイティングシステム(Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ；ＯＳ)のサポートなどの長所を有する。
【０００３】
ＵＳＢインターフェースは、前記のような長所から、キーボード、マウス、プリンター、スキャナなどのようなコンピュータ入出力装置はもちろん、デジタルカメラ、外装型記憶装置及び移動通信端末などの接続手段として幅広く使われている。
【０００４】
ＵＳＢインターフェースを介して接続されたコンピュータと周辺器機は、それぞれホスト(ｈｏｓｔ)とデバイス(ｄｅｖｉｃｅ)として動作し、一つのホストに多数のデバイスを接続することができる。
【０００５】
一方、最近では、プロセッサ、メモリ技術及び通信技術の発展に従って音声や映像通話はもちろん、写真、動画撮影、インターネット接続などの多様な機能を備えた移動通信端末が常用化されることによって、通信速度、利便性、汎用性及び拡張性にすぐれたＵＳＢインターフェースが個人用コンピュータと移動通信端末の通信手段として使われている。
【０００６】
例えば、ユーザが移動通信端末を使いながら移動通信端末に設置されたオペレイティングシステム（ＯＳ）やファームウエア(ｆｉｒｍｗａｒｅ)をアップグレード(ｕｐｇｒａｄｅ)する場合や、移動通信端末にアプリケーションを設置、削除または更新しようとする場合、ユーザはまずＵＳＢインターフェースを介して移動通信端末をコンピュータに接続した後、コンピュータを通じて所望の作業を実行しなければならない。
【０００７】
また、ＵＳＢインターフェースを介してコンピュータと移動通信端末が物理的に接続された後、コンピュータが移動通信端末をＵＳＢデバイスで認識して正常な通信を実行するためには、移動通信端末のデバイスドライバがコンピュータに必ず設置されている必要がある。
【０００８】
現在販売中のすべての移動通信端末のデバイスドライバをコンピュータのオペレイティングシステムに含ませることは事実上不可能であるので、移動通信端末のユーザが該当器機の製造社または販売者が提供するデバイスドライバを手に入れてコンピュータに直接設置する必要があり、移動通信端末機能の高度化に従ってコンピュータにデバイスドライバを設置する過程も複雑になっている。
【０００９】
しかし、大部分のユーザは、ＵＳＢを介して移動通信端末をコンピュータに物理的に接続してデバイスドライバを設置する。大部分のユーザは、コンピュータを通じて移動通信端末を制御する過程を正確に理解できない場合が多いので、使用上の不便さを感じるようになり、前記のような過程を間違って実行する場合、移動通信端末に保存されたデータが削除されるか深刻なエラーが発生する可能性が高い。
【００１０】
また、携帯電話、スマートフォンまたはパッド型端末などのような最近の移動通信端末は、その機能が非常に複雑で且つ高度化されているので、使用時にエラーや障害が発生する確率が高い。また、上述のような移動通信端末にエラーや障害が発生する場合、専門的な知識のない一般ユーザはエラーや障害に対する原因を把握しにくく、これを修正することは一層難しいので、結局、ユーザは専門家またはサービスセンターに故障診断及び解決を直接依頼しなければならなく、これによって、使用上の不便さが発生する短所がある。
【発明の概要】
【発明が解決しようとする課題】
【００１１】
本発明は、上述のような従来技術の問題点を解決するためになされたもので、その目的は、ネットワークを介して接続された第１の装置と第２の装置との間に設置された遠隔デバイスドライバを利用して、第１の装置にＵＳＢを介して接続された移動端末を第２の装置が遠隔で制御することができる遠隔デバイスドライバを利用した遠隔制御システムを提供すことにある。
【００１２】
本発明の他の目的は、前記遠隔制御システムで実行される遠隔デバイスドライバを利用した遠隔制御方法を提供することにある。
【００１３】
本発明の技術的課題は、以上で言及した技術的課題に制限されるのもではないので、言及していないまた他の技術的課題は、下記の記載から当業者が明確に理解できることである。
【課題を解決するための手段】
【００１４】
上記目的を達成するための本発明の一側面による遠隔制御システムは、ＵＳＢを介して移動端末が接続された第１の装置に設置され前記移動端末とＵＳＢ通信を実行する第１のドライバと、前記第１の装置とネットワークを介して接続される第２の装置に設置され前記第１のドライバとネットワークを介して通信する第２のドライバとを含み、前記第１及び第２のドライバは、前記移動端末を駆動するための遠隔デバイスドライバを形成し、前記第２の装置は、前記遠隔デバイスドライバを介して前記移動端末を制御するためのコマンドを伝送して、前記移動端末から前記遠隔デバイスドライバを介して提供された前記移動端末のディスプレイイメージを表示する。
【００１５】
ここで、前記第１のドライバは、前記移動端末の接続有無を監視し、前記移動端末が接続されると、前記移動端末と通信チャンネルを形成した後、前記移動端末に前記デバイス情報を要請して前記移動端末からデバイス情報を受信することができる。
【００１６】
ここで、前記第２のドライバは、前記第１のドライバとネットワークを介して論理的な通信チャンネルが形成され前記第１のドライバとデータを送受信する仮想ハブドライバと、前記移動端末に限定された通信を実行して前記仮想ハブドライバの通信を管理する機能ドライバと、を含むことができる。
【００１７】
前記第２の装置は、前記遠隔デバイスドライバを介して前記移動端末の遠隔制御のための遠隔制御モジュールを前記移動端末に提供した後、前記遠隔制御モジュールの実行を指示するコマンドを、前記遠隔デバイスドライバを介して前記移動端末に提供することができる。
【００１８】
前記第２の装置は、前記遠隔デバイスドライバを介して前記移動端末で実行される前記遠隔制御モジュールの実行終了を指示するコマンドまたは前記遠隔制御モジュールの削除を指示するコマンドを前記移動端末に提供することができる。
【００１９】
また、本発明の他の目的を達成するための本発明の一側面による遠隔制御方法は、ＵＳＢを介して移動端末が接続された第１の装置と、前記第１の装置とネットワークを介して接続された第２の装置とを含む遠隔制御システムの遠隔制御方法であって、前記移動端末に相応する遠隔デバイスドライバを前記第１の装置及び前記第２の装置に分散構築するステップと、前記第２の装置が前記移動端末を制御するためのコマンドを前記遠隔デバイスドライバを利用して前記移動端末に提供するステップと、前記第２の装置が前記移動端末から前記遠隔デバイスドライバを介して提供された前記移動端末のディスプレイイメージを表示するステップとを含む。
【００２０】
ここで、前記遠隔デバイスドライバを前記第１の装置及び前記第２の装置に分散構築するステップは、前記第１の装置が前記移動端末にデバイス情報を要請するステップと、前記第１の装置が前記移動端末から受信したデバイス情報を前記第２の装置に伝送するステップと、前記第２の装置が前記第１の装置から受信したデバイス情報に基づいて前記移動端末の機能ドライバを搭載するステップとを含む。
【００２１】
ここで、前記第２の装置が前記移動端末を制御するためのコマンドを、前記遠隔デバイスドライバを利用して前記移動端末に提供するステップは、前記第２の装置が前記移動端末を制御するための遠隔制御モジュールを、前記遠隔デバイスドライバを介して前記移動端末に提供するステップと、前記第２の装置が前記移動端末に提供された遠隔制御モジュールの実行を指示するコマンドを、前記遠隔デバイスドライバを介して前記移動端末に提供するステップとを含むことができる。
【発明の効果】
【００２２】
上述のような遠隔デバイスドライバを利用した遠隔制御システム及び遠隔デバイスドライバを利用した遠隔制御方法によれば、ネットワークを介して接続された第１の装置と第２の装置との間に遠隔デバイスドライバを階層的に構築し、構築された遠隔デバイスドライバを利用して第２の装置が第１の装置にＵＳＢを介して接続された移動端末の制御のための命令及び/またはデータを伝送し、移動端末から遠隔デバイスドライバを介して受信した移動端末の実行結果画面であるディスプレイイメージを表示する。
【００２３】
したがって、ＵＳＢを介して接続された移動端末を駆動するための遠隔デバイスドライバをユーザの介入なく設置することができ、設置された遠隔デバイスドライバを介して移動端末を遠隔で制御することにより、移動端末の使用利便性を向上させることができる。
【図面の簡単な説明】
【００２４】
【図１】図１は、本発明の一実施形態による遠隔制御システムを示す概念図である。
【図２】図２は、本発明の一実施形態による遠隔制御システムの遠隔デバイスドライバ構築を行う機能ブロックを示す図である。
【図３】図３は、本発明の一実施形態による遠隔制御システムの遠隔デバイスドライバの構築方法を示すフローチャートである。
【図４】図４は、本発明の一実施形態による遠隔制御システムの遠隔制御を行う機能ブロックを示す図である。
【図５】図５は、本発明の一実施形態による遠隔制御システムの遠隔制御方法を示すフローチャートである。
【発明を実施するための形態】
【００２５】
本発明は、多様に変更可能であり、さまざまな実施形態を有することができる。ここでは、特定の実施形態を図面に例示して詳細に説明する。
【００２６】
しかし、これは本発明の好ましい実施態様に過ぎず、本発明の実施の範囲を限定するものではなく、本発明の明細書及び図面内容に基づいてなされた均等な変更および付加は、いずれも本発明の特許請求の範囲内に含まれるものとする。
【００２７】
本明細書で使用した用語は、単に特定の実施形態を説明するために使用されたもので、本発明はこれに限定されるものではない。単数の表現は、文脈上明示しない限り複数の表現を含む。本出願において、「含む」または「有する」などの用語は、明細書上に記載された特徴、数字、ステップ、動作、構成要素、部品またはこれらを組み合わせたものが存在することを指定するもので、一つまたはそれ以上の他の特徴や数字、ステップ、動作、構成要素、部品またはこれらを組み合わせたものなどの存在または付加可能性をあらかじめ排除しないことは理解されるべきである。
【００２８】
特定しない限り、技術的または科学的な用語を含んでここで使用されるすべての用語は、本発明が属する技術分野で通常の知識を有する者が一般に理解できるものと同等の意味を有している。一般的に使用される辞典に定義されている用語は、関連技術の文脈上の意味と一致する意味を有するものと解釈し、本出願において明白に定義しない限り、理想的または過度に形式的な意味として解釈されない。
【００２９】
以下、添付の図面を参照して本発明の好ましい実施形態について詳細に説明する。図面上の同一構成要素に対しては同一参照符号を付与し、その重複説明は省略する。
【００３０】
図１は、本発明の一実施形態による遠隔制御システムを示した概念図である。
【００３１】
図１を参照すると、本発明の一実施形態による遠隔制御システムは、移動端末１００と、前記移動端末１００とＵＳＢインターフェースを介して接続された第１の装置２００と、遠隔地に位置して有線または無線ネットワークを介して前記第１の装置２００と接続された第２の装置３００とを含む。ここで、第１の装置２００及び第２の装置３００は、コンピュータなどのように有線または無線ネットワークを介してお互いに通信及びデジタル情報処理が可能であるすべての装置を含む。
【００３２】
移動端末１００は、ＵＳＢデバイス(ｄｅｖｉｃｅ)の機能を実行する装置として、例えば、スマートフォン、携帯電話、ＰＤＡ(Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ)などのような移動通信端末からなってもよい、ＰＭＰ(Ｐｏｒｔａｂｌｅ  Ｍｕｌｔｉｍｅｄｉａ  Ｐｌａｙｅｒ)、スマートプレーヤー、パッド型端末などのような多様なデジタル情報処理端末からなることができる。
【００３３】
移動端末１００は、ユーザによりＵＳＢケーブルまたは無線ＵＳＢを介して第１の装置２００と物理的に接続され、第１の装置２００の直接的な要請やコマンドに応じて該当動作を実行してもよいし、遠隔デバイスドライバを介して第２の装置３００から提供された要請やコマンドに応じた動作を実行してもよい。
【００３４】
例えば、移動端末１００は、第１の装置２００とＵＳＢインターフェースを介して物理的に接続された後、物理的なホストの機能を実行する第１の装置２００が要請する一連の標準要請(ｒｅｑｕｅｓｔ)に回答して該当データを提供する。また、移動端末１００は、遠隔デバイスドライバを介して第２の装置３００から提供されるコマンド及び/またはデータに応じてオペレイティングシステムまたはファームウエアの更新やアプリケーションの設置、更新または削除動作を行うことができ、実行結果画面をキャプチャーして第１の装置２００に直接的に提供するか、遠隔デバイスドライバを介して第２の装置３００に提供することができる。
【００３５】
第１の装置２００は、ＵＳＢを介して接続された移動端末１００の物理的ホストとしての機能を実行する。
【００３６】
すなわち、第１の装置２００は、移動端末がＵＳＢポートに接続されたか否かを検知し、移動端末１００が接続されたことを検知すれば、第２の装置３００とネットワークを介して臨時通信路を開設した後、移動端末にデバイス情報(例えば、ｄｅｖｉｃｅ ｄｅｓｃｒｉｐｔｏｒ)を要請する。
【００３７】
以後、第１の装置２００は、デバイス情報要請に対する回答を移動端末１００から受信すると、受信された情報(ｄｅｖｉｃｅ  ｄｅｓｃｒｉｐｔｏｒ)を、ネットワークを介して第２の装置３００に伝送する。ここで、前記移動端末のデバイス情報は、例えば、製造社情報(ｖｅｎｄｏｒ  ＩＤ)、製品情報(ｐｒｏｄｕｃｔ  ＩＤ)などのような移動端末を識別することができる情報からなる。
【００３８】
第２の装置３００は、有線または無線ネットワークを介して第１の装置２００と接続され、第１の装置２００に物理的に接続された移動端末を実質的に駆動する仮想ホストとしての機能を実行する。
【００３９】
すなわち、第２の装置３００は、ネットワークを介して第１の装置２００から移動端末１００のデバイス情報を受信し、受信された移動端末１００のデバイス情報に基づいて前記移動端末１００と通信するための最適の機能ドライバを検索した後、検索された機能ドライバをメモリに搭載する。
【００４０】
上述のように、移動端末１００の物理的ホスト機能を実行する第１の装置２００と実質的なホスト機能を実行する第２の装置３００との通信を通じて移動端末１００の遠隔デバイスドライバが搭載されると、第２の装置３００で実行されるアプリケーションは、移動端末１００が第２の装置３００に接続されたように認識してアクセスできるようになり、これを通じて移動端末１００を遠隔制御することができるようになる。
【００４１】
図２は、本発明の一実施形態による遠隔制御システムの遠隔デバイスドライバ構築を実行する各機能ブロックを示した図である。
【００４２】
図２を参照すれば、ＵＳＢデバイスである移動端末１００に対して物理的ホスト機能を実行する第１の装置２００は、ＵＳＢフィルタドライバ２３１と、ＵＳＢフィルタドライバ２３１の下位階層にハブドライバ２３３及びホストコントローラドライバ２３５を含む。
【００４３】
一方、第１の装置２００とネットワークを介して接続されて移動端末１００に対して実質的なホスト機能を実行する第２の装置３００は、アプリケーション３１０の下位に機能ドライバ３２０を含み、機能ドライバ３２０の下位に位置して前記第１の装置２００のＵＳＢフィルタドライバ２３１と通信する仮想ハブドライバ３３０を含む。
【００４４】
本発明の一実施形態による遠隔デバイスドライバ３７０は、図２に示すように、機能ドライバ３２０、仮想ハブドライバ３３０、ＵＳＢフィルタドライバ２３１、ハブドライバ２３３及びホストコントローラドライバ２３５が階層的に形成される。
【００４５】
以下、図２を参照して第１の装置２００及び第２の装置３００に構成された階層的デバイスドライバの機能についてより詳細に説明する。
【００４６】
ＵＳＢフィルタドライバ２３１は、ハブドライバ２３３の上位に位置してハブドライバ２３３の通信を管理する。また、ＵＳＢフィルタドライバ２３１は、移動端末１００が第１の装置２００に接続されると、下位のホストコントロ−ラドライバ２３５及びハブドライバ２３３を通じて移動端末が接続されたことを認知し、ハブドライバ２３３から提供された移動端末１００のデバイス情報を受信した後、受信された前記デバイス情報を、ネットワークを介して論理的に接続された第２の装置３００の仮想ハブドライバ３３０に提供する。
【００４７】
ここで、ＵＳＢフィルタドライバ２３１は、前記デバイス情報を第１の装置２００のオペレイティングシステムに提供することができ、オペレイティングシステムは、デバイス情報をシステムに保存された情報(例えば、レジストリ情報)と比較して移動端末の機能ドライバが存在するか否かを判断して、前記移動端末の機能ドライバが存在する場合は、前記機能ドライバを読み出してメモリに搭載するように構成してもよい。
【００４８】
ハブドライバ２３３は、上位のＵＳＢフィルタドライバ２３１を介して第２の装置３００からの要請を受信し、この要請を下位のホストコントローラドライバ２３５を介して移動端末１００に伝達する。また、移動端末１００からの回答を、ホストコントローラドライバ２３５を介して受信した後、この回答をＵＳＢフィルタドライバ２３１に伝達する。
【００４９】
ホストコントローラドライバ２３５は、ハブドライバ２３３とハブに接続されたＵＳＢデバイスとの間の通信を管理する。すなわち、ホストコントローラドライバ２３５は、ハブドライバ２３３から提供されたデータを移動端末１００に伝達する。また、移動端末１００がハブドライバ２３３に提供したデータはホストコントローラドライバ２３５に提供され、ホストコントローラドライバ２３５は提供を受けたデータを上位のハブドライバ２３３に伝達する。
【００５０】
一方、第２の装置３００のアプリケーション３１０は、オペレイティングシステム(ＯＳ)が支援する関数を利用して本発明の一実施形態による遠隔デバイスドライバ３７０と通信することができる。
【００５１】
機能ドライバ３２０(またはＵＳＢクライアントドライバ)は、上位階層に位置するアプリケーション３１０と下位に存在する仮想ハブドライバ３２０との間の通信を管理する。
【００５２】
機能ドライバ３２０は、少なくとも一つのファイルで構成することができ、例えば、移動端末１００の製造社が提供するクラスドライバであってもよい。クラスドライバは、移動端末１００または移動端末１００のクラスに限定された通信を管理する。例えば、機能ドライバ３２０は、オペレイティングシステムからＵＳＢデバイスに対する要請を受けて、この要請情報を仮想ハブドライバ３３０に伝達する。
【００５３】
機能ドライバ３２０と仮想ハブドライバ３３０は、別に用意された形式(例えば、Ｉ/Ｏ  Ｒｅｑｕｅｓｔ  Ｐａｃｋｅｔ)を利用してお互いに通信することができる。
【００５４】
仮想ハブドライバ３３０は、ネットワークを介してＵＳＢフィルタドライバ２３１と論理的な通信チャンネルを形成し、第１の装置２００のハブドライバ２３３から提供された移動端末１００のデバイス情報を、通信チャンネルを介して受信して第２の装置３００のオペレイティングシステムに提供することにより、第２の装置３００のオペレイティングシステムが列挙(ｅｎｕｍｅｒａｔｉｏｎ)を実行する過程において前記移動端末１００のデバイス情報に基づいて移動端末１００の機能ドライバ３２０をメモリに搭載する。
【００５５】
また、仮想ハブドライバ３３０は、上位に位置する機能ドライバ３２０から提供された要請を、通信チャンネルを介してＵＳＢフィルタドライバ２３１に伝送する。
【００５６】
ここで、ＵＳＢフィルタドライバ２３１と仮想ハブドライバ３３０は、第１の装置２００及び第２の装置３００に各々あらかじめ設けられた特定アプリケーションを介してお互いに論理的な通信チャンネルを形成することができ、第１の装置２００に設けられた前記特定アプリケーションは、ＵＳＢフィルタドライバ２３１から提供されるデータを、ネットワークを介して第２の装置３００に伝送し、第２の装置３００の仮想ハブドライバ３３０から受信したデータをＵＳＢフィルタドライバ２３１に提供するように構成することができる。
【００５７】
また、第２の装置３００に設けられた特定アプリケーションは、仮想ハブドライバ３３０から提供されるデータを、ネットワークを介して第１の装置２００に伝送し、第１の装置２００のＵＳＢフィルタドライバ２３１から受信したデータを仮想ハブドライバ３３０に提供するように構成することができる。
【００５８】
特に、ＵＳＢフィルタドライバ２３１が移動端末１００からデバイス情報を受信すれば、第１の装置２００に設けられた特定アプリケーションは、前記デバイス情報を第２の装置３００に伝送し、前記第２の装置３００に設けられた特定アプリケーションは、これを受信して仮想ハブドライバ３３０を介してオペレイティングシステムに提供することにより、オペレイティングシステムが前記デバイス情報に対応する機能ドライバを検索できるようにする。
【００５９】
図２に示したように、本発明の一実施形態による遠隔デバイスドライバの提供システムでは、移動端末１００が物理的に接続された第１の装置２００にＵＳＢフィルタドライバ２３１、ハブドライバ２３３及びホストコントローラドライバ２３５が位置し、ネットワークを介して遠隔地に位置する第２の装置３００に仮想ハブドライバ３３０及び機能ドライバ３２０が階層的に構築されることにより、移動端末１００が物理的に接続された第１の装置２００に移動端末に相応する機能ドライバが直接設置される必要なく遠隔地の第２の装置３００を介して移動端末１００に近付くことができる。
【００６０】
また、本発明の一実施形態による遠隔デバイスドライバの提供システムでは、実質的に第１の装置２００に接続されている移動端末１００を第２の装置３００が自分と直接接続されたように接近及び制御することができるので、第２の装置３００が第１の装置２００にＵＳＢを介して接続された移動端末を遠隔制御することができる。
【００６１】
図３は、本発明の一実施形態による遠隔制御システムの遠隔デバイスドライバ構築方法を示すフローチャートである。
【００６２】
図３を参照すると、まず、第１の装置は、ＵＳＢハブに移動端末が接続されたか否かを判断し(ステップＳ４１０)、移動端末が接続されたことで判断されると、移動端末のエンドポイントと物理的ホストの機能を実行する第２の装置との間にネットワークを介して臨時通信路を開設する(ステップＳ４２０)。
【００６３】
以後、第１の装置は、開設された臨時通信路を介して移動端末にデバイス情報を要請し(ステップＳ４３０)、これに対する回答で移動端末からデバイス情報の提供を受ける(ステップＳ４４０)。ここで、前記デバイス情報には、移動端末の製造社情報(ｖｅｎｄｏｒ  ＩＤ)、製品情報(ｐｒｏｄｕｃｔ  ＩＤ)などが含まれる。
【００６４】
以後、第１の装置は、受信された移動端末のデバイス情報を、ネットワークを介して接続された第２の装置に伝送する。ここで、第１の装置は、あらかじめ設けられた特定アプリケーションが通信インターフェースを駆動して前記デバイス情報を第２の装置に伝送することができる。
【００６５】
また、図３には示さなかったが、第１の装置は、前記デバイス情報を第２の装置に伝送する前に、移動端末から受信されたデバイス情報に基づいて該当機能ドライバを検索して、機能ドライバが検索された場合には、検索された機能ドライバをメモリに搭載し、機能ドライバが検索されなかった場合にのみデバイス情報を第２のコンピュータに伝送するように構成してもよい。
【００６６】
第２の装置は、第１の装置から移動端末のデバイス情報の提供を受け、提供を受けたデバイス情報に該当する機能ドライバを検索する(ステップＳ４５０)。ここで、第２の装置は、あらかじめ設けられた特定アプリケーションが第１の装置から伝送されたデバイス情報を受信した後、仮想ハブドライバを介してオペレイティングシステムに提供し、オペレイティングシステムが提供を受けたデバイス情報をシステムレジストリと比較して機能ドライバを検索することができる。
【００６７】
その後、第２の装置は、検索された機能ドライバを読み出してメモリに搭載する(ステップＳ４６０)。ここで、第２の装置は、内部に該当機能ドライバが存在しない場合、ネットワークを介して移動端末の製造社のサーバまたは別に用意された機能ドライバデータベースから該当機能ドライバを得てもよい。
【００６８】
図４は、本発明の一実施形態による遠隔デバイスドライバを利用した遠隔制御システムの構成を示すブロックである。
【００６９】
図４を参照すれば、遠隔制御システムは、遠隔制御の対象になる移動端末１００と、前記移動端末１００とＵＳＢを介して接続された第１の装置２００と、前記第１の装置２００とネットワークを介して接続されて遠隔制御を実行する制御側装置である第２の装置３００とを含む。
【００７０】
前記第２の装置３００と前記第１の装置２００には、図１乃至図３で説明したように、遠隔デバイスドライバ３７０が構築されて前記移動端末１００が前記第２の装置３００にＵＳＢを介して接続されたことのように動作することになる。具体的には、第２の装置３００には、移動端末１００に相応する機能ドライバ３２０及び機能ドライバ３２０の下位階層に仮想ハブドライバ３３０が設置され、第１の装置２００には、前記仮想ハブドライバ３３０とネットワークを介して論理的に接続されて通信を実行するＵＳＢフィルタドライバ２３１、ハブドライバ２３３及び前記ハブドライバ２３３の下位階層にホストコントローラドライバ２３５が設置される。
【００７１】
また、第２の装置３００は、遠隔制御を実行する遠隔制御アプリケーション３５０を含み、前記遠隔制御アプリケーション３５０は、遠隔デバイスドライバ３７０を介して遠隔制御モジュール１１０を移動端末１００に提供する。
【００７２】
ここで、前記遠隔制御アプリケーション３５０は、移動端末１００のオペレイティングシステムに応じた命令語インターフェースを利用して前記遠隔制御モジュール１１０を、遠隔デバイスドライバ３７０を介して移動端末１００に提供できる。例えば、前記移動端末１００のオペレイティングシステムがアンドロイド(Ａｎｄｒｏｉｄ：登録商標)である場合、前記命令インターフェースは、ＡＤＢ(Ａｎｄｒｏｉｄ  Ｄｅｂｕｇ  Ｂｒｉｄｇｅ)サーバになる。
【００７３】
また、第２の装置３００の遠隔制御アプリケーション３５０は、前記移動端末１００に保存された遠隔制御モジュール１１０を実行させるための命令語を、前記遠隔デバイスドライバ３７０を介して前記移動端末１００に提供し、移動端末１００は、これに応じて保存された遠隔制御モジュール１１０を実行する。
【００７４】
以後、移動端末１００で実行された遠隔制御モジュール１１０は、移動端末１００のディスプレイイメージをキャプチャーして遠隔デバイスドライバ３７０を介して第２の装置３００の遠隔制御アプリケーション３５０に伝達し、遠隔制御アプリケーション３５０は、遠隔デバイスドライバ３７０を介して提供を受けた移動端末１００のキャプチャーイメージを表示する。ここで、移動端末１００の遠隔制御モジュール１１０は、あらかじめ設定された時間間隔ごとにディスプレイイメージをキャプチャーして第２の装置３００に提供することもでき、画面の変化が発生する場合にのみディスプレイイメージをキャプチャーして第２の装置３００に提供するように構成してもよい。また、移動端末１００の遠隔制御モジュール１１０は、キャプチャーされたイメージを以前にキャプチャーされたイメージと比較して二つのイメージの差のみを第２の装置３００に提供するようにしてもよい。
【００７５】
第２の装置３００は、移動端末１００から提供されたディスプレイイメージを表示した後、ユーザにより発生する命令語を、遠隔デバイスドライバ３７０を介して移動端末１００に伝送し、移動端末１００は、これに応じて該当命令語を実行した後、実行結果を示すディスプレイイメージをキャプチャーして遠隔デバイスドライバ３７０を介して第２の装置３００に提供する。このような過程は、遠隔制御が実行される間繰り返される。
【００７６】
また、第２の装置３００は、遠隔制御が終了される場合、移動端末１００で実行される遠隔制御モジュール１１０の実行終了及び/または除去を指示する命令を、遠隔デバイスドライバ３７０を介して移動端末１００に提供することができ、移動端末１００は、これに応じて遠隔制御モジュール１１０の実行終了及び/または除去を実行することができる。
【００７７】
図５は、本発明の一実施形態による遠隔デバイスドライバを利用した遠隔制御方法を示すフローチャートとして、図３に示した遠隔デバイスドライバの構築過程を経て第２の装置３００と第１の装置２００との間に遠隔デバイスドライバが構築された後、実行される移動端末１００の遠隔制御過程を示す。
【００７８】
図５を参照すると、まず、第２の装置３００は、ＵＳＢを介して第１の装置２００に接続された移動端末１００を遠隔制御するための遠隔制御モジュール１１０を、第２の装置３００と第１の装置２００との間に構築された遠隔デバイスドライバを介して移動端末１００に伝送する(ステップＳ５０１)。ここで、前記遠隔制御モジュール１１０のファイルは、遠隔デバイスドライバを介して第１の装置２００まで伝送された後、ＵＳＢインターフェースを介して移動端末１００に提供される。
【００７９】
移動端末１００は、第２の装置３００から提供された遠隔制御モジュール１１０を保存する(ステップＳ５０３)。
【００８０】
その後、第２の装置３００は、ユーザのコマンドに従って移動端末１００に保存された遠隔制御モジュール１１０の実行を指示する命令を、遠隔デバイスドライバを介して移動端末１００に伝送し(ステップＳ５０５)、移動端末１００は、第２の装置３００から受信した命令語に応じて保存された遠隔制御モジュール１１０を実行する(ステップＳ５０７)。
【００８１】
上述のように、移動端末１００で遠隔制御モジュール１１０が実行されると、遠隔制御モジュール１１０は、移動端末１００で現在表示されている画面をキャプチャーし、キャプチャーされたディスプレイイメージを、遠隔デバイスドライバを介して第２の装置３００に伝送する(ステップＳ５０９)。
【００８２】
第２の装置３００は、移動端末１００から提供されたディスプレイイメージを表示する(ステップＳ５１１)。このように移動端末１００のディスプレイイメージが第２の装置３００で表示されると、第２の装置３００のユーザは、表示された移動端末１００のディスプレイイメージを見ながら移動端末１００を制御することができるようになる。
【００８３】
第２の装置３００は、ユーザから移動端末１００の制御を指示する制御コマンドが提供されると、これに応じた制御命令またはデータを、遠隔デバイスドライバを介して移動端末１００に提供する(ステップＳ５１３)。
【００８４】
移動端末１００は、第２の装置３００から提供された制御命令またはデータに相応するコマンドを実行し(ステップＳ５１５)、実行された結果画面をキャプチャーして第２の装置３００に伝送すれと(ステップＳ５１７)、第２の装置３００は移動端末１００から提供されたディスプレイイメージを表示する(ステップＳ５１９)。
【００８５】
また、第２の装置３００は、ユーザから遠隔制御の終了を指示するコマンドが提供されたか否かを判断し(ステップＳ５２１)、ユーザから遠隔制御の終了を指示するコマンドが提供された場合には、遠隔制御の終了を指示する命令語を、遠隔デバイスドライバを介して移動端末１００に提供する(ステップＳ５２３)。ここで、前記遠隔制御の終了を指示する命令には、移動端末１００に設置された遠隔制御モジュール１１０を削除するための命令語を含むことができる。
【００８６】
移動端末１００は、第２の装置３００から遠隔制御の終了を指示する命令が提供されると、実行中の遠隔制御モジュール１１０を終了する。ここで、移動端末１００は、前記遠隔制御の終了を指示した命令に遠隔制御モジュール１１０の削除を指示するコマンドが含まれた場合には、前記遠隔制御モジュール１１０の実行を終了した後、設置された遠隔制御モジュール１１０を削除することもできる。
【００８７】
または、ステップＳ５２１での判断結果、ユーザから移動端末１００の制御のための命令語が提供される場合、第２の装置３００は、ステップＳ５１３で戻って以後のステップを実行する。
【００８８】
以上において説明した本発明は、本発明が属する技術の分野における通常の知識を有する者であれば、本発明の技術的思想を逸脱しない範囲内で、様々な置換、変形及び変更が可能であって、上述した実施形態及び添付の図面に限定されるものではない。
【符号の説明】
【００８９】
１００：移動端末
１１０：遠隔制御モジュール
２００：第１の装置
２３１：ＵＳＢフィルタドライバ
２３３：ハブドライバ
２３５：ホストコントローラドライバ
３００：第２の装置
３２０：機能ドライバ
３３０：仮想ハブドライバ
３７０：遠隔デバイスドライバ
【図１】
0005461621.tif 000002
【図２】
0005461621.tif 000003
【図３】
0005461621.tif 000004
【図４】
0005461621.tif 000005
【図５】
0005461621.tif 000006