説明

通信装置および通信制御方法

【課題】仮想バス機能を用いた無線通信を自動的に実行することが可能な通信装置および通信制御方法を実現する。
【解決手段】本コンピュータ10は、既存バスの有線通信機能をエミュレートする仮想バス機能を実現する複数種のエミュレーションプロトコルを有している。本コンピュータ10の仮想バス選択ブロック150は、本コンピュータ10の接続対象である外部装置がサポートしているエミュレーションプロトコルを検出する。仮想バス選択ブロック150は、検出されたエミュレーションプロトコル種類と同一種類のエミュレーションプロトコルを複数種のエミュレーションプロトコルの中から選択し、選択されたエミュレーションプロトコルに従ってコンピュータ10と外部装置との間の無線接続を確立する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば無線通信を実行するパーソナルコンピュータのような通信装置に関し、特に複数種類の通信方式をサポートする通信装置および同装置で用いられる通信制御方法に関する。
【背景技術】
【0002】
近年、多数の種類の通信方式それぞれに対応するパーソナルコンピュータが開発されている。このようなコンピュータは、これら多数の種類の通信方式それぞれに対応する通信を実行するための通信インターフェースを有している。
【0003】
特許文献1には、使用する無線通信方式を切り替える技術が開示されている。ユーザは、ユーザ端末を操作することによって使用すべき無線通信方式を選択するだけで、選択した無線通信に容易に且つ迅速に切り替えることができる。
【特許文献1】特開2004−187184号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
ところで、既存の有線の通信方式を無線通信の通信方式にエミュレートするエミュレーションプロトコルを用いて、コンピュータと外部機器との間の無線通信を実行する仮想バス選択機能が知られている。ところが、この仮想バス機能においては、ユーザは、コンピュータの表示画面上に表示されたGUI(Graphical user interface)およびボタンスイッチなどを操作して仮想バス機能の種類を選択する操作が必要であった。また、仮想バス機能の種類が選択されたとしても、その選択された仮想バス機能が外部機器においてサポートされているか否かを検出しなければならない。さらに、もし、コンピュータと外部機器とのそれぞれが複数種の有線通信方式それぞれに対応する仮想バス機能をサポートしている場合、コンピュータと外部機器とのそれぞれに対して、互いに同一種類の有線通信方式に対応する仮想バス機能をマニュアル操作で設定する必要がある。
【0005】
本発明は上述の事情を考慮してなされたものであり、仮想バス機能を用いた無線通信を自動的に実行することが可能な通信装置および通信制御方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
上述の課題を解決するために、本発明は、複数種の有線通信の機能それぞれをエミュレートする複数種のエミュレーションプロトコルを選択的に用いて無線通信を実行する通信装置において、通信対象の外部装置がサポートしているエミュレーションプロトコルの種類を検出する検出手段と、前記検出手段によって検出されたエミュレーションプロトコルの種類と同一種類のエミュレーションプロトコルを前記複数種のエミュレーションプロトコルの中から選択する選択手段と、前記選択手段によって選択されたエミュレーションプロトコルに従って、前記外部装置との無線接続を確立する接続手段とを具備することを特徴とする。
【発明の効果】
【0007】
本発明によれば、仮想バス機能を用いた無線通信を自動的に実行することが可能となる。
【発明を実施するための最良の形態】
【0008】
以下、図面を参照して本発明の実施形態を説明する。
【0009】
図1には、本発明の一実施形態に係る通信装置を用いたネットワークシステムの構成例が示されている。本通信装置は、例えばノートブック型のパーソナルコンピュータ10として実現されている。本コンピュータ10は、既存バスの有線通信機能をエミュレートする仮想バス機能を有している。この仮想バス機能は、エミュレーションプロトコルによって実現されている。このエミュレーションプロトコルは、有線通信を実行するための手順を無線通信を実行するための手順に変換するプロトコルである。このエミュレーションプロトコルの種類としては、例えばUSB(Universal Serial Bus)規格に準拠した有線通信をエミュレートする仮想USBエミュレーションプロトコルと、IEEE(Institute of Electrical and Electronics Engineers)規格に準拠した有線通信をエミュレートする仮想IEEE1394エミュレーションプロトコルと、例えばEthernet(登録商標)規格に対応する有線通信をエミュレートする仮想有線LAN(Local area network)エミュレーションプロトコルなどがある。
【0010】
本コンピュータ10は、仮想USB機能、仮想IEEE1394機能および仮想有線LAN機能の3種類の仮想バス機能をサポートしている。本コンピュータ10は、USBエミュレーションプロトコルと、IEEE1394エミュレーションプロトコルおよび仮想有線LANエミュレーションプロトコルとの3種類のエミュレーションプロトコルを選択的に用いて、本コンピュータ10と接続対象の外部機器との間の無線接続を確立する。
【0011】
ハードディスクAおよびハードディスクBは、本コンピュータ10の無線接続対象の外部装置である。ハードディスクAは、仮想USB機能と、仮想IEEE1394機能および仮想有線LAN機能とをサポートしている。ハードディスクBは、仮想有線LAN機能のみをサポートしている。
【0012】
本コンピュータ10は、例えば本コンピュータ10とハードディスクAとの間で無線通信を実行する場合、ハードディスクAがサポートするエミュレーションプロトコルを検出し、本コンピュータ10がサポートする複数種類のエミュレーションプロトコルの中から、ハードディスクAがサポートしているエミュレーションプロトコルを選択するエミュレーションプロトコル選択処理を実行する。本コンピュータ10は、エミュレーションプロトコル選択処理によって選択されたエミュレーションプロトコルを用いて、コンピュータ10とハードディスクAとの間の無線接続を確立する。
【0013】
本実施形態の無線接続に用いられる無線通信方式には、Bluetoothと、無線LAN(local Area network)と、ワイドバンド通信技術よりもさらに広い通信帯域を用いたUWB(Ultra Wide Band)無線通信などがある。本実施形態におけるネットワークシステム構成においては、高速な通信速度が望まれるため、UWB無線通信の適用が望ましい。
【0014】
次に、図2を参照して本コンピュータ10のシステム構成の例を説明する。本コンピュータ10は、CPU11、ROM12、RAM13、仮想バス選択部14、仮想バス部100、無線通信部15等から構成されている。
【0015】
CPU11は、本コンピュータ10の各コンポーネントを制御する。また、CPU11は、ROM(Read only memory)12に格納された各種プログラム等を実行する。CPU11には、バス2を介してROM12、RAM13、仮想バス選択部14および仮想バス部100が接続されている。RAM(Random access memory)13は、データなどを格納するためのメモリデバイスである。
【0016】
仮想バス選択部14は、仮想バス部100がサポートするエミュレーションプロトコルの中から外部装置(ハードディスクAまたはハードディスクB)がサポートするエミュレーションプロトコルを選択する。仮想バス部100は、選択されたエミュレーションプロトコルに従ってエミュレーション処理を実行し、本コンピュータ10と外部装置との間の無線接続を確立する。
【0017】
無線通信部15は、仮想バス選択部14によって選択された仮想バス部100内のエミュレーションプロトコルに従って、本コンピュータ10の接続対象の外部装置(ハードディスクAまたはハードディスクB)との無線通信を実行する無線通信デバイスである。
【0018】
仮想バス部100には、本コンピュータ10がサポートしている仮想バス機能を実行するためのエミュレーションプロトコルが格納されている。この仮想バス部100には、仮想USB機能101、仮想IEEE1394機能102および仮想有線LAN機能103それぞれに対応するエミュレーションプロトコルが格納されている。
【0019】
次に、図3を参照して、仮想バス選択部14の機能構成の例を説明する。仮想バス選択部14は、エミュレーションプロトコル検出部20、エミュレーションプロトコル格納部21、エミュレーションプロトコル選択部22、無線接続部23を備えている。
【0020】
エミュレーションプロトコル検出部20は、本コンピュータ10と、外部装置(ハードディスクAまたはハードディスクB)とのそれぞれがサポートしているエミュレーションプロトコルを検出する。具体的には、エミュレーションプロトコル検出部20は、外部装置(ハードディスクAまたはハードディスクB)がサポートしているエミュレーションプロトコルの種類とその種類の数を検出する。そして、エミュレーションプロトコル検出部20は、コンピュータ10がサポートしている同一種類のエミュレーションプロトコルの中から、検出されたエミュレーションプロトコルを検出して、その検出したエミュレーションプロトコルの種類とその種類の数を示す情報をエミュレーションプロトコル格納部21に格納する。
【0021】
エミュレーションプロトコル選択部22は、エミュレーションプロトコル格納部21に格納された情報に基づいて、複数種のエミュレーションプロトコルの中から1つのエミュレーションプロトコルを選択する。無線接続部23は、エミュレーションプロトコル選択部22によって選択されたエミュレーションプロトコルの通信方式に従って、本コンピュータ10と外部装置(ハードディスクAまたはハードディスクB)との間の無線接続を確立する。
【0022】
また、エミュレーションプロトコル選択部22は、ダミーデータ暗号化/復号化処理部24および往復時間測定部25を備えている。エミュレーションプロトコル選択部22は、エミュレーションプロトコル格納部21に複数種のエミュレーションプロトコルが格納されている場合、エミュレーションプロトコルを1つずつ選択する。複数種のエミュレーションプロトコルの中からある種類のエミュレーションプロトコルが選択されたとき、無線接続部23は、選択されたエミュレーションプロトコルに従って、本コンピュータ10と外部装置との間の無線接続を一時的に確立する。無線接続が一時的に確立されている時、無線接続部23は、本コンピュータ10と外部装置との間で、ダミーデータを転送する転送処理を実行する。ダミーデータ暗号化/復号化処理部24は、本コンピュータ10から外部装置に送信すべきダミーデータのパケットを暗号化および復号化する処理を実行する。具体的には、例えば、ダミーデータ暗号化/復号化処理部24は、例えばDTCP(Digital Transmission Content Protection)のRTT計測機能を用いる等しても良い。
【0023】
往復時間測定部25は、上述の転送処理において、ダミーデータの送信を開始してからその送信したダミーデータに対応する確認応答パケットが返信されるまでの往復遅延時間(RTT:Round trip time)を、エミュレーションプロトコルの種類毎に測定する。測定された往復遅延時間は、例えばRAM13などに書き込まれる。エミュレーションプロトコル選択部22は、往復時間測定部25によって測定された複数の往復遅延時間の中から、最も短い時間が測定されたエミュレーションプロトコルを選択する。
【0024】
コンピュータ10と外部装置との各々が複数種のエミュレーションプロトコルをサポートしている場合、本コンピュータ10がサポートしている複数種のエミュレーションプロトコルの中から、無線通信を好適に実行可能なエミュレーションプロトコルが自動的に選択される。これによって、本コンピュータ10と外部装置との間で好適な無線接続が確立される。
【0025】
次に、図4を参照して、本コンピュータ10と外部装置とのそれぞれのプロトコルスタックの階層構造の例を説明する。本コンピュータ10の通信プロトコルの階層構造は、物理層110、MAC(Media Access Control)層120、Convergence層130、仮想バスブロック140および仮想バス選択ブロック150等から構成されている。仮想バスブロック140は、USBエミュレーション層141と、IEEE1394エミュレーション層142と、有線LANエミュレーション層143とを有している。
【0026】
外部装置(ハードディスクAまたはハードディスクB)におけるプロトコルスタックの階層構造は、物理層210、MAC層220、Convergence層230、仮想バスブロック240、および仮想バス選択ブロック250から構成されている。仮想バスブロック240は、USBエミュレーション層241と、IEEE1394エミュレーション層242および有線LANエミュレーション層243とを有している。この階層構造の例においては、物理層110,210およびMAC層120,220は、ハードウェアで構成されており、Convergence層130,230と、仮想バスブロック140,240と、仮想バス選択ブロック150,250とはソフトウェアで構成されている。
【0027】
物理層110,210は、物理的な伝送方式や接続方法を定義する層である。MAC層120,220は、送受信されるデータフレームの構造、メディアへのアクセス方法および外部装置への接続方法を定義する層である。Convergence層130,230は、Convergence層のさらに上位の仮想バスブロック140,240に含まれる各エミュレーション層それぞれから送信されたデータを下位のMAC層へ送信し、且つMAC層から送信されたデータを各エミュレーション層それぞれへ送信する層である。仮想バスブロック140,240は、物理層は無線でありながら、上位のアプリケーションやユーザからはあたかも既存の有線バスで繋がっているかのようにエミュレートする機能を有する。USBエミュレーション層141,241は、無線通信方式上でUSB規格に準拠した有線通信方式をエミュレートして通信を実行する機能を有し、図2に示す仮想USB機能101に対応している。IEEE1394エミュレーション層142,242は、無線通信方式上でIEEE1394に準拠した有線通信方式をエミュレートして無線通信を実行する機能を有し、図2に示す仮想IEEE1394機能102に対応している。有線LANエミュレーション層143、243は、例えばEthernetに準拠した有線通信方式を無線通信方式にエミュレートして無線通信を実行する機能を有し、図2に示す仮想有線LAN機能103に対応している。仮想バスブロック140,240は、無線通信方式上でRS−232C規格の接続をエミュレートする機能も有する。仮想バスブロック140,240に相当する機能は、既存の無線システムにおいても見ることが出来、例えば、Bluetooth規格のプロトコルスタックにおける、RS−232C規格の接続をエミュレートするRFCOMM(Radio Frequency Communication)プロトコルまたは、BNEP(Bluetooth network encapsulation protocol)である。また、仮想バスブロック140,240に相当する機能は、例えば、UWB無線通信のプロトコルスタックにおける、USB規格の無線通信を実行するWireless USBおよびIEEE1394規格の無線通信を実行するWireless 1394である。
【0028】
仮想バス選択ブロック150は、本コンピュータ10がサポートしているエミュレーションプロトコルの情報を保持すると共に、外部装置がサポートしているエミュレーションプロトコルを検索する。仮想バス選択ブロック150は、本コンピュータ10がサポートしているエミュレーションプロトコルの中から、外部装置がサポートしているエミュレーションプロトコルを抽出する。仮想バス選択ブロック150は、抽出されたエミュレーションプロトコルの中から、1つのエミュレーションプロトコルを選択し、選択したエミュレーションプロトコルを用いて本コンピュータ10とハードディスクAとの間の無線接続を確立する。仮想バス選択ブロック150、250それぞれは、図2に示す仮想バス選択部14の機能に対応している。
【0029】
次に、図5のタイミングチャートを参照して、本コンピュータ10と外部装置との間で実行されるエミュレーションプロトコル選択処理の例を説明する。図5においては、例えば本コンピュータ10とハードディスクAとの間の無線接続が確立されるまでの様子の例を説明する。
【0030】
本コンピュータ10は、コンピュータ10がサポートしているエミュレーションプロトコルを検出する(ステップS101)。ステップS101においては、CPU11の制御の下、本コンピュータ10がサポートするエミュレーションプロトコル(エミュレーションプロトコル層)の種類およびその種類の数を検出する。本コンピュータ10は、ハードディスクAがサポートしているエミュレーションプロトコルの種類とそのエミュレーションプロトコルの種類の数を検出する要求を外部装置に送信する(ステップS102)。ハードディスクAは、コンピュータ10から送信された検出要求に応じて、ハードディスクAがサポートしているエミュレーションプロトコルの種類とそのエミュレートプロトコルの数を検出する。ハードディスクAは、仮想USBエミュレーションプロトコル、仮想IEEE1394エミュレーションプロトコルおよび仮想有線LANエミュレーションプロトコルをサポートしていることを示す確認応答パケットをコンピュータ10に送信する(ステップS103)。本コンピュータ10は、検出結果によって、本コンピュータがサポートしている通信プロトコル(仮想USBプロトコル、仮想IEEE1394プロトコルおよび仮想有線LANプロトコル)と、ハードディスクAがサポートしている通信プロトコルの全ての種類の通信プロトコルとが、通信プロトコルの種類毎に通信を実行することが可能であることを検出する(ステップS104)。ここでは、本コンピュータおよびハードディスクAが、本コンピュータ10がサポートしている3種類のエミュレーションプロトコルとハードディスクAがサポートしている3種類のエミュレーションプロトコルとのそれぞれのエミュレーションプロトコルの種類毎に、全ての種類のエミュレーションプロトコルを用いて無線通信を実行可能な機器として検出されたこととなる。次に、検出された3種類のエミュレーションプロトコルそれぞれを用いたデータ転送処理を実行する。
【0031】
次に、本コンピュータ10は、仮想USBプロトコルを選択して本コンピュータ10とハードディスクAとの間の接続を一時的に確立する(ステップS105)。接続が確立された後、本コンピュータ10は、例えばpingのようなダミーデータをハードディスクAに送信する(ステップS106)。ハードディスクAは、コンピュータ10から送信されたダミーデータを受信し、ダミーデータを受信したことを示す確認応答パケットをコンピュータ10に送信する(ステップS107)。コンピュータ10は、仮想USBプロトコルを用いて実行される本コンピュータ10とハードディスクAとの間の往復時間TUSBを測定して、測定結果を保持する(ステップS108)。コンピュータ10は、本コンピュータ10とハードディスクAとの間で確立された接続を切断する(ステップS109)。
【0032】
次に、本コンピュータ10は、仮想IEEE1394プロトコルを選択して本コンピュータ10とハードディスクAとの間の接続を一時的に確立する(ステップS110)。接続が確立された後、本コンピュータ10は、例えばpingのようなダミーデータをハードディスクAに送信する(ステップS111)。ハードディスクAは、コンピュータ10から送信されたダミーデータを受信し、ダミーデータを受信したことを示す確認応答パケットをコンピュータ10に送信する(ステップS112)。コンピュータ10は、仮想IEEE1394プロトコルに対応する無線通信における本コンピュータ10とハードディスクAとの間の往復時間T1394を測定して、測定結果を保持する(ステップ113)。コンピュータ10は、本コンピュータ10とハードディスクAとの間で確立された接続を切断する(ステップS114)。
【0033】
次に、本コンピュータ10は、仮想有線LANプロトコルを選択して本コンピュータ10とハードディスクAとの間の接続を一時的に確立する(ステップS115)。接続が確立された後、本コンピュータ10は、例えばpingのようなダミーデータをハードディスクAに送信する(ステップS116)。ハードディスクAは、コンピュータ10から送信されたダミーデータを受信し、ダミーデータを受信したことを示す確認応答パケットをコンピュータ10に送信する(ステップS117)。コンピュータ10は、仮想有線LANプロトコルに対応する無線通信における本コンピュータ10とハードディスクAとの間の往復時間TLANを測定して、測定結果を保持する(ステップS118)。コンピュータ10は、本コンピュータ10とハードディスクAとの間で確立された接続を切断する(ステップS119)。それぞれのエミュレーションプロトコルを用いた各々のデータの往復時間の測定結果が、例えば、往復時間の早い順にTUSB、T1394、TLANであった場合、本コンピュータ10は、仮想USBプロトコルを選択して、選択された仮想USBプロトコルを用いて本コンピュータ10とハードディスクAとの間の無線通信の接続を確立する(ステップS120,ステップ121)。これによって、本コンピュータ10は、ダミーデータの往復時間の測定結果の中から最も短い時間の通信プロトコルを選択し、選択した通信プロトコルを用いて本コンピュータ10と外部装置との間の無線通信の接続を確立する。本コンピュータ10と外部装置との間で実行される転送処理においては、最も短い時間が測定されたエミュレータプロトコルを用いて無線通信を実行することが最も効率が良いと推測される。ユーザは、コンピュータ10が実行可能な複数の無線通信機能の中で、より好適な無線通信を自動的に利用することができる。
【0034】
次に、図6のフローチャートを参照して、本コンピュータ10と外部装置との間で実行される無線通信の接続を確立する手順の例を説明する。
【0035】
仮想バス選択ブロック150は、本コンピュータ10の接続対象の外部装置に対して、その外部装置がサポートしているエミュレーションプロトコルを問い合わせる(ステップS201)。ステップS201においては、仮想バス選択ブロック150は、仮想バスブロック140に対してコンピュータ10がサポートしているエミュレーションプロトコルも問い合わせる。仮想バス選択ブロック150は、この問い合わせに対応するハードディスクAからの応答に含まれるエミュレーションプロトコルの中から、コンピュータ10がサポートしているエミュレーションプロトコルを選択する。仮想バス選択ブロック150は、その選択されたエミュレーションプロトコルをハードディスクAと無線接続可能なエミュレーションプロトコルとして認識する。即ち、仮想バス選択ブロック150は、本コンピュータ10がサポートしているエミュレーションプロトコルと、外部装置がサポートしているエミュレーションプロトコルとから互いに同一種類のエミュレーションプロトコルを検出する(ステップS202)。検出された同一種類のエミュレーションプロトコルが2つ以上ある場合(ステップS203のNO)、仮想バス選択ブロック150は、検出されたエミュレーションプロトコルの種類毎に転送処理を実行する。この転送処理は、以下に示すように、検出されたエミュレーションプロトコルの種類が重ならないように、その検出されたエミュレーションプロトコルの数と同じ回数だけ、ステップS204からステップS208の処理を繰り返し実行する。本実施形態においては、エミュレーションプロトコルがN個(N>1)以上検出された場合を想定する(例えばエミュレーションプロトコルi,エミュレーションプロトコルi+1,…)。
【0036】
検出されたN個の互いに異なる種類のエミュレーションプロトコル(エミュレーションプロトコルi,エミュレーションプロトコルi+1,…)の中から、一つのエミュレーションプロトコル(エミュレーションプロトコルi)を用いて本コンピュータ10と外部装置との間で実行される無線接続を確立する(ステップS205)。仮想バス選択ブロック150は、外部装置に送信すべきダミーデータを暗号化する(ステップS206)。本コンピュータ10と外部装置の間で確立された通信方式に基づいて、仮想バス選択ブロック150は、外部装置の仮想バス選択ブロック250に暗号化したダミーデータを送信するとともに、そのダミーデータを送信してから確認応答パケットを受信するまでの時間を測定する(ステップS207)。ステップS207においては、仮想バス選択ブロック250は、仮想バス選択ブロック150から送信されたダミーデータのパケットを復号化するとともに、そのダミーデータを受信したことを示す確認応答パケットを暗号化して仮想バス選択ブロック150に送信する。仮想バス選択ブロック150は、受信した確認応答パケットを復号する。ダミーデータが暗号化および復号化されることによって、例えばコンピュータ10から外部装置に送信されたダミーデータの改ざん、または、コンピュータ10から送信されたダミーデータであるかのように見せかけるダミーデータのなりすましを防止することができる。また、ダミーデータを暗号化/復号化することによって、コンピュータ10と外部装置との間で、それぞれの装置の通信の接続が確立された無線通信に対応している機器であることを認証することができる。このため、本コンピュータ10と外部装置との間で転送されたダミーデータの往復時間を正常に測定することが可能であり、正確な測定結果を得ることができる。
【0037】
本コンピュータ10と外部装置との間で確立された無線接続の通信方式に基づいて、仮想バス選択ブロック150は、外部装置の仮想バス選択ブロック250にダミーデータを送信する。仮想バス選択ブロック250は、暗号化されたダミーデータを復号することによって、本コンピュータ10が確立された通信方式に対応する機器であることを認証し、認証したことを示す確認応答パケットを仮想バス選択ブロック150に送信する。仮想バス選択ブロック150は、ダミーデータを送信してから確認応答パケットを受信するまでの時間Tを測定する(ステップS207)。ステップS207においては、選択されたエミュレーションプロトコルiを用いた時間Tiを例えばRAM13などに保持する。仮想バス選択ブロック150は、エミュレーションプロトコルiを用いて確立した通信の接続を切断する(ステップS208)。時間Tiが測定された後、再びステップS207からステップS208の処理が実行され、エミュレーションプロトコルiの他の種類のエミュレーションプロトコルi+1を用いた時間Ti+1が測定され、測定した時間Ti+1が保持される。このように、検出されたエミュレーションプロトコルの種類毎に、本コンピュータ10と外部装置との間の時間を測定する。
【0038】
次に、仮想バス選択ブロック150は、測定された全てのエミュレーションプロトコルの種類の中で、最も短い時間のエミュレーションプロトコルを選択して、選択されたエミュレーションプロトコルを用いて本コンピュータ10と外部装置との間の無線接続を確立する(ステップS210)。ステップS210においては、例えば測定結果がTi>Ti+1である場合、エミュレーションプロトコルiを選択し、選択したエミュレーションプロトコルiを用いて無線通信を実行する。
【0039】
一方、検出されたエミュレーションプロトコルの種類が1つである場合(ステップS203のYES)、仮想バス選択ブロック150は、検出されたエミュレーションプロトコルを選択して、選択されたエミュレーションプロトコルを用いて本コンピュータ10と外部装置との間の無線接続を確立する(ステップS211)。
【0040】
例えば、本コンピュータ10とハードディスクBとの間で無線接続を確立する場合、本コンピュータ10がサポートしている3種類のエミュレーションプロトコルの中で、ハードディスクBがサポートしている仮想有線LANのみであると検出される。そして、仮想バス選択ブロック150は、検出された仮想有線LANプロトコルに従って本コンピュータ10とハードディスクBとの間の無線接続を確立する。このように、外部装置がサポートしているエミュレーションプロトコルが1種類のみである場合、転送処理は実行されない。そして、本コンピュータ10がサポートしている複数種類のエミュレーションプロトコルの中から、ハードディスクBがサポートしている唯一のエミュレーションプロトコルの種類が自動的に選択され、選択されたエミュレーションプロトコルに従って、コンピュータ10と外部装置との間の無線接続が確立される。
【0041】
以上説明したように、本実施形態においては、本コンピュータ10がサポートしている複数種類のエミュレーションプロトコルの中から外部装置がサポートしている複数種類のエミュレーションプロトコルが自動的に選択される。これによって、ユーザは、GUI(Graphical user interface)や操作スイッチ等を操作することなく、本コンピュータ10と外部装置との間の無線通信を実行することができる。
【0042】
なお、本実施形態においては、1回のダミーデータの送信とそのダミーデータに対する応答確認により往復遅延時間を算出しているが、仮想バス選択部14(仮想バス選択ブロック140)は、ダミーデータの送信とダミーデータに対する確認応答の時間を複数回計測し、複数計測された時間の平均値を算出してもよい。即ち、エミュレーションプロトコルの種類毎に、転送処理を複数回実行して複数計測された時間の平均値を算出し、算出した平均値の中から最も小さい平均値のエミュレーションプロトコルが選択される。
【0043】
また、本実施形態においては、本コンピュータ10がハードディスクAに対して無線接続する例を説明したが、ハードディスクAがコンピュータ10に対して無線接続する例においても同様にエミュレーションプロトコル選択処理を適用することができ、接続する機器の種類には依存しない。
【0044】
なお、転送処理においては、暗号化および復号化する処理を実行しなくてもよい。
【0045】
また、本実施形態で説明したエミュレーションプロトコル選択処理の手順は全てコンピュータプログラムによって実現されているので、当該コンピュータプログラムをコンピュータ読み取り可能な記録媒体を通じて通常のコンピュータに導入するだけで、本実施形態と同様の効果を容易に実現することが出来る。
【0046】
なお、本発明は、上記実施形態そのままに限定されるものではなく、実施段階では、その要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に異なる実施形態に構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【0047】
【図1】本発明の一実施形態に係る通信装置と外部装置との間で実行される無線通信のネットワークシステム構成の例を説明するための図。
【図2】図1の通信装置のシステム構成の例を示すブロック図。
【図3】図1の通信装置内に設けられる仮想バス選択部の機能構成の例を示すブロック図。
【図4】図1の通信装置と外部装置とのそれぞれのプロトコルスタックの階層構造の例を説明するためのブロック図。
【図5】図1の通信装置と外部装置との間で実行される無線接続が確立されるまでの例を示すタイミングチャート。
【図6】図1の通信装置で実行されるエミュレーションプロトコル選択処理の手順の例を説明するためのフローチャート。
【符号の説明】
【0048】
10…コンピュータ、A…外部装置、B…外部装置、11…CPU、12…ROM、13…RAM、14…仮想バス選択部、15…無線通信部、20…エミュレーションプロトコル検出部、21…エミュレーションプロトコル格納部、22…エミュレーションプロトコル選択部、23…無線接続部、24…ダミーデータ暗号化/復号化処理部、25…往復時間測定部、100…仮想バス部、101…仮想USB機能、102…仮想IEEE1394機能、103…仮想有線LAN機能、110,210…物理層、120,220…MAC層、130,230…Convergence層、140,240…仮想バスブロック、150,250…仮想バス選択ブロック。

【特許請求の範囲】
【請求項1】
複数種の有線通信の機能それぞれをエミュレートする複数種のエミュレーションプロトコルを選択的に用いて無線通信を実行する通信装置において、
通信対象の外部装置がサポートしているエミュレーションプロトコルの種類を検出する検出手段と、
前記検出手段によって検出されたエミュレーションプロトコルの種類と同一種類のエミュレーションプロトコルを前記複数種のエミュレーションプロトコルの中から選択する選択手段と、
前記選択手段によって選択されたエミュレーションプロトコルに従って、前記外部装置との無線接続を確立する接続手段とを具備することを特徴とする通信装置。
【請求項2】
前記選択手段は、
前記検出手段によって二つ以上のエミュレーションプロトコルが検出された場合、前記検出されたエミュレーションプロトコルの種類毎に前記外部装置にデータを送信してから前記送信されたデータに対する確認応答が返信されるまでの時間を測定する測定手段と、
前記測定手段によって測定された時間の中で、最も短い時間が測定されたエミュレーションプロトコルを選択する手段を含むことを特徴とする請求項1記載の通信装置。
【請求項3】
前記複数種のエミュレーションプロトコルの各々は、対応する有線通信を実行するための手順を無線通信を実行するための手順に変換することを特徴とする請求項1記載の通信装置。
【請求項4】
前記測定手段は、前記データを暗号化する暗号化処理手段を含むことを特徴とする請求項2記載の通信装置。
【請求項5】
前記選択手段は、
前記検出手段によって二つ以上のエミュレーションプロトコルが検出された場合、前記検出されたエミュレーションプロトコルの種類毎に前記外部装置にデータを送信してから前記送信されたデータに対する確認応答が返信されるまでの時間を複数回測定し、複数測定された時間の平均値を算出する算出手段と、
前記算出手段によって算出された平均値の中で、最も小さい平均値が算出されたエミュレーションプロトコルを選択する手段を含むことを特徴とする請求項1記載の通信装置。
【請求項6】
複数種の有線通信の機能それぞれをエミュレートする複数種のエミュレーションプロトコルを選択的に用いて無線通信を実行する通信装置に適用される通信制御方法であって、
通信対象の外部装置がサポートしているエミュレーションプロトコルの種類を検出する検出ステップと、
前記検出ステップによって検出されたエミュレーションプロトコルの種類と同一種類のエミュレーションプロトコルを前記複数種のエミュレーションプロトコルの中から選択する選択ステップと、
前記選択ステップによって選択されたエミュレーションプロトコルに従って、前記外部装置との無線接続を確立する接続ステップとを具備することを特徴とする通信制御方法。
【請求項7】
前記選択ステップは、
前記検出ステップによって二つ以上のエミュレーションプロトコルが検出された場合、前記検出されたエミュレーションプロトコルの種類毎に前記外部装置にデータを送信してから前記送信されたデータに対する確認応答が返信されるまでの確認応答が返信されるまでの時間を測定する測定処理ステップと、
前記測定処理ステップによって測定された時間の中で、最も短い時間が測定されたエミュレーションプロトコルを選択するステップを含むことを特徴とする請求項6記載の通信制御方法。
【請求項8】
前記複数種のエミュレーションプロトコルの各々は、対応する有線通信を実行するための手順を無線通信を実行するための手順に変換することを含むことを特徴とする請求項6記載の通信制御方法。
【請求項9】
前記測定ステップは、前記データを暗号化する暗号化処理ステップを含むことを特徴とする請求項6記載の通信制御方法。
【請求項10】
前記選択ステップは、
前記検出ステップによって二つ以上のエミュレーションプロトコルが検出された場合、前記検出されたエミュレーションプロトコルの種類毎に前記外部装置にデータを送信してから前記送信されたデータに対する確認応答が返信されるまでの時間を複数回測定し、複数測定された時間の平均値を算出する算出ステップと、
前記算出ステップによって算出された平均値の中で、最も小さい平均値が算出されたエミュレーションプロトコルを選択するステップを含むことを特徴とする請求項6記載の通信制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2007−104081(P2007−104081A)
【公開日】平成19年4月19日(2007.4.19)
【国際特許分類】
【出願番号】特願2005−288380(P2005−288380)
【出願日】平成17年9月30日(2005.9.30)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.Bluetooth
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】