(57)【要約】【課題】周辺装置の存在に応じて仮想通信ポートの作成あるいは削除を自動的に行うことで、煩雑な操作を要することなく、利用可能な周辺装置を容易に認識できるようにする。【解決手段】ハンドヘルドパソコン１は、スタンバイ状態時に、ＰＡＮエリア内に存在する無線通信が可能な新たなＢｌｕｅｔｏｏｔｈ対応デバイスの存在を新たに確認すると、そのデバイスが備えているＢｌｕｅｔｏｏｔｈのプロファイルが印刷可能なプロファイルを備えており、且つそのデバイス制御用のデバイスドライバがパソコン１に組み込まれている場合は、ネットワーク接続を確立し、データ送受信用のＢｌｕｅｔｏｏｔｈの仮想ポートを作成すると共にポート選択部２６に一覧表示させる。また、過去に作成されたが不要となった仮想ポートが有る場合は、それを削除すると共にポート選択部２６での一覧表示からも消去する。【選択図】      図９
2004185388.tif 000002
【特許請求の範囲】
【請求項１】
無線通信インターフェイスを用いて、周辺装置の存在を確認する存在確認手段と、
前記存在確認手段による確認に応じて、周辺装置とデータ通信を行うための仮想通信ポートの作成あるいは削除を行う仮想通信ポート作成削除手段と、を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術の分野】
本発明は、仮想通信ポートを介して周辺装置と無線通信する際の技術に関する。
【０００２】
【従来の技術】
従来、下記特許文献に示されるように、１ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）等のホットプラグの有線インターフェイスを利用した通信システムがあり、このような通信システムの例として、ＵＳＢを備えるホストコンピュータとプリンタとから構成されるシステムがある。このシステムでは、ホストコンピュータに電源の入ったプリンタをＵＳＢケーブルを介して接続すると、ホストコンピュータに搭載されているＯＳがそのプリンタ用のＵＳＢポートとして認識できる仮想的なＵＳＢポートを自動的に作成し、このＵＳＢポートを利用してそのプリンタにて印刷することができる。
【０００３】
このように、例えば、ホストコンピュータ内のアプリケーションからプリンタに対して印刷を行う場合、まず、ホストコンピュータに電源の入ったプリンタをケーブルで接続するという操作をユーザが行うので、ユーザが印刷させたいプリンタはユーザにとって明確である。
【０００４】
また、近年、ＰＡＮ（Ｐｅｒｓｏｎａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）を構築できる、無線ＬＡＮプロトコルの１つであるＢｌｕｅｔｏｏｔｈ等の無線インターフェイスを利用した通信システムも実現されており、このような通信システムの例として、それぞれＢｌｕｅｔｏｏｔｈを備えるホストコンピュータとプリンタとから構成されるシステムがある。このシステムでは、ホストコンピュータ上におけるユーザの操作を介して、そのホストコンピュータと周辺にあるプリンタとでピコネット（ネットワーク接続）を形成し、このネットワーク接続を利用して、そのプリンタにて印刷することができる。
【０００５】
【特許文献１】
特許第２７４２１６０号
【０００６】
【発明が解決しようとする課題】
しかしながら、上記Ｂｌｕｅｔｏｏｔｈ等の無線インターフェイスを利用した通信システムでは、例えば、ホストコンピュータ内のアプリケーションからプリンタに対して印刷を行わせる場合、ホストコンピュータとプリンタとの物理的位置が離れて、ホストコンピュータでは、プリンタがどこにあるのかわからなかったり、ケーブル等で接続しないことから、複数のプリンタが存在する場合に、そのホストコンピュータからどのプリンタで印刷することができるのかがわからなかったりする場合があった。このような問題点を解決する為に、最近では次のような手順（ステップ）１〜６にて周辺装置を制御するようになってきている。例えば、プリンタに印刷させる場合を例にとると、
（手順１）ユーザが、ホストコンピュータから周辺に存在する無線インターフェイスを備えるプリンタ（周辺装置）を検索するためのアプリケーション（アプリケーション１）を起動する。
【０００７】
（手順２）このアプリケーション１を操作して、周辺に存在する無線インターフェイスを備えるプリンタ（周辺装置）を検索する。
【０００８】
（手順３）プリンタ（周辺装置）が見つかった場合は、それを使用できるようにする為に、前記アプリケーション１上で各種設定を行う為の操作を行う。
【０００９】
（手順４）印刷可能な（別の）アプリケーション（アプリケーション２）を起動する。
【００１０】
（手順５）このアプリケーション２上で印刷設定を行い、この印刷設定内で、無線インターフェイスを表すポートを選択する。
【００１１】
（手順６）前記アプリケーション２上で印刷を実行すると、ユーザが選択したプリンタにて印刷することができる。
【００１２】
このように、最近実施されている手順にて、無線インターフェイスを備えるホストコンピュータから無線インターフェイスを備えるプリンタに印刷させる等、周辺装置を制御することができる。しかし、そのためには、前述した６つの手順が必要となり、煩わしいという問題があった。
【００１３】
また、一度作成された周辺装置の無線インターフェイスを表すポートは、その周辺装置が電源オフ等によって使用不可能となってもホストコンピュータ上に残ってしまうが、ユーザにはそれがわからないため、ユーザが誤ってそのポートを選択したり、実際にそのポートに対して印刷実行を指示したりして、印刷失敗に至るケースも多い。
【００１４】
本発明は上記従来技術の問題を解決するためになされたものであり、その目的は、周辺装置の存在に応じて仮想通信ポートの作成、あるいは、削除を自動的に行うことで、煩雑な操作を要することなく、利用可能な周辺装置を容易に認識することができるようにすることにある。
【００１５】
【課題を解決するための手段】
上記目的を達成するために本発明の請求項１の情報処理装置は、無線通信インターフェイスを用いて、周辺装置の存在を確認する存在確認手段と、前記存在確認手段による確認に応じて、周辺装置とデータ通信を行うための仮想通信ポートの作成あるいは削除を行う仮想通信ポート作成削除手段と、を有することを特徴とする。
【００１６】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
【００１７】
なお、以下において、「ＵＳＢ」は「Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ」の略であり、双方向データ通信が可能な公知のインターフェイスであるので、その詳細説明は省略する。「ＩｒＤＡ」は「Ｉｎｆｒａｒｅｄ  Ｄａｔａ  Ａｓｓｏｃｉａｔｉｏｎ」が規格した双方向データ通信が可能な公知の無線インターフェイスであるので、その詳細説明は省略する。「Ｂｌｕｅｔｏｏｔｈ」は双方向データ通信が可能な無線通信インターフェイスであり、その主な特徴としては、「Ｓｅｒｉａｌ  Ｐｏｒｔ  Ｐｒｏｆｉｌｅ」、「Ｃｏｒｄｌｅｓｓ  Ｔｅｌｅｐｈｏｎｙ  Ｐｒｏｆｉｌｅ」、「Ｈｅａｄｓｅｔ  Ｐｒｏｆｉｌｅ」等の各機器の特性に合わせて、様々なカテゴリのプロファイル（Ｐｒｏｆｉｌｅ）が用意されていること、各機器のモデル名等の情報を用意に取得できること、自動接続が可能なこと、各機器にＢｌｕｅｔｏｏｔｈ通信上のパスワードを設定して接続を保護すること等が挙げられる。例えば、Ｓｅｒｉａｌ  Ｐｏｒｔ  Ｐｒｏｆｉｌｅはホストコンピュータとプリンタとの間のデータ通信に利用することができるので、Ｓｅｒｉａｌ  Ｐｏｒｔ  Ｐｒｏｆｉｌｅを備える周辺装置（スレーブ）はプリンタとして認識される場合がある。以上のような特徴から、Ｂｌｕｅｔｏｏｔｈを利用することにより、ピコネットによるＰＡＮ「Ｐｅｒｓｏｎａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ」を構成することが容易であり、このようなネットワーク環境において、Ｂｌｕｅｔｏｏｔｈは常時接続ではなくＡｄ−Ｈｏｃ接続で利用される場合が多い。なお、Ｂｌｕｅｔｏｏｔｈに関しては公知の技術であるので、その詳細説明は省略する。
【００１８】
図１は、本発明の一実施の形態に係る情報処理装置を含んで構成される通信システムの全体構成を表す図である。本システムは、ハンドヘルドパソコン１（情報処理装置）、カラープリンタ５が無線データ通信可能に接続されて構成される。
【００１９】
ハンドヘルドパソコン１に搭載されているＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）として、本実施の形態では、「Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）  ＣＥ」が採用される。２は液晶ディスプレイ（仮想通信ポート表示手段）、３はキーボード、４はＢｌｕｅｔｏｏｔｈポート（アンテナ）である。液晶ディスプレイ２はタッチパネルとなっており、スタイラスペン６を用いて、ドラッグ、ドロップ、タップ等の操作をすることにより、パソコン用マウスと同様な機能を実現している。
【００２０】
４０はＵＳＢポート（ホスト）であり、プリンタ５等の周辺装置とＵＳＢケーブルで接続して、データの双方向通信を可能にする。４１はＩｒＤＡポートである、プリンタ５等の周辺装置と、無線通信を利用したデータの双方向通信を可能にする。
【００２１】
カラープリンタ５は、インクジェット方式のプリンタであり、後述するプリンタモデルＡに相当する。７はＢｌｕｅｔｏｏｔｈポート（アンテナ）である。ハンドヘルドパソコン１とプリンタ５とは、Ｂｌｕｅｔｏｏｔｈでの通信が可能な範囲内に設置されており、両者ともＳｅｒｉａｌ  Ｐｏｒｔ  Ｐｒｏｆｉｌｅを備えているので、これらの装置間で無線通信、すなわち、ＢｌｕｅｔｏｏｔｈのＳｅｒｉａｌ  Ｐｏｒｔ  Ｐｒｏｆｉｌｅを利用したデータの双方向通信が可能である。８は電源ボタンであり、プリンタ５の電源のオン・オフを操作することができる。
【００２２】
図２は、ハンドヘルドパソコン１の内部ハードウェア構成を表すブロック図である。
【００２３】
ハンドヘルドパソコン１は、簡易パソコンとして活用される携帯端末装置であり、その主な特徴として、ハードディスクドライブのような大容量記憶装置（通常、数ＧＢのデータを記憶できる装置）を備えておらず、記憶手段としてはＲＡＭ（通常、数ＭＢのデータを記憶できる容量のメモリ）のみを備える。このような構成にすることで、低コストで持ち運びが可能な情報処理装置を実現している。
【００２４】
同図において、９はマイクロプロセッサ等から構成されるＣＰＵであり、ハンドヘルドパソコン１の中央処理装置として、ＲＯＭ１０に記憶されているプログラムに従って、アドレス・データバス４３を介して、ＲＡＭ１１、通信部１２、表示部１３、操作部１４を制御する。ＲＯＭ１０には前記ＯＳ、ディスプレイ、ポート、プリンタ等の周辺装置を制御する各デバイスドライバ（特にプリンタ用のデバイスドライバをプリンタドライバと呼ぶ）、ハンドヘルドパソコン１上で起動できる各アプリケーション等が記憶されている。
【００２５】
ＲＡＭ１１は通常３２ＭＢ程度の容量で構成され、その内の半分がプログラム実行用に、残りの半分がデータ記憶用に割り当てられる。通信部１２には上記Ｂｌｕｅｔｏｏｔｈポート４、ＵＳＢポート４０及びＩｒＤＡポート４１が含まれており、Ｂｌｕｅｔｏｏｔｈ、ＵＳＢ、ＩｒＤＡの通信を制御する。表示部１３には上記液晶ディスプレイ２が含まれており、表示部１３は、アプリケーション等のユーザインターフェイス（以降、「ＵＩ」とも略記する）の表示等の制御を行う。操作部１４には上記キーボード３が含まれており、キー入力を制御する。
【００２６】
図３は、プリンタ５の内部ハードウェア構成を表すブロック図である。
【００２７】
同図において、１５はマイクロプロセッサ等から構成されるＣＰＵであり、プリンタ５の中央処理装置として、ＲＯＭ１６に記憶されているプログラムに従って、アドレス・データバス４４を介して、ＲＡＭ１７、通信部１８、記録部１９を制御する。ＲＯＭ１６には、プリンタドライバ２０（存在確認手段、仮想通信ポート作成削除手段、仮想通信ポート削除手段）（図４にて後述する）の制御に従ってプリンタ５が記録（印刷）処理を行うためのプログラムが記憶されている。
【００２８】
ＲＡＭ１７には、主にハンドヘルドパソコン１から送られる印字データが一時的に記憶され、この印字データをもとに記録部１９によって印刷がなされる。通信部１８には上記Ｂｌｕｅｔｏｏｔｈポート７が含まれており、通信部１８は、Ｂｌｕｅｔｏｏｔｈの通信を制御する。記録部１９は、インクジェット方式の記録ヘッド、各カラーインク、キャリッジ、記録紙搬送機構等から構成される記録ユニットと、前記印字データをもとに前記記録ヘッドにて印字用パルスを発生させる為のＡＳＩＣ等から構成される電気回路とから構成される（いずれも図示せず）。
【００２９】
印刷可能なアプリケーション（図７にて後述する）上での印刷操作によって、アプリケーションで開かれているファイルの表示内容（画像データ）が、プリンタドライバ２０を介してプリンタ５の制御用コマンドを含む印字データに変換された後、ハンドヘルドパソコン１のＲＡＭ１１のデータ記憶用エリアに一時的に格納され、Ｂｌｕｅｔｏｏｔｈポート４からＢｌｕｅｔｏｏｔｈインターフェイスを介して（無線通信を利用して）プリンタ５に送られる。プリンタ５にて受信された印字データは、記録部１９によって印字用パルスに変換されて、記録紙上に印刷される。
【００３０】
図４は、プリンタ５を制御するプリンタドライバにプリンタ５を併せて示した図である。
【００３１】
同図において、矢印はデータの流れを表す。プリンタドライバ２０は、ハンドヘルドパソコン１のＲＯＭ１０に記憶されている。
【００３２】
プリンタドライバ２０は、統合版のプリンタドライバであり、複数のプリンタを制御することができる。本実施の形態では、プリンタモデルＡ、プリンタモデルＢ、プリンタモデルＣをサポートしており、これらのモデルのプリンタを制御することができる。２１はＵＩ制御部であり、プリンタドライバ２０のＵＩを制御する。２２はプリンタ制御部であり、ＵＩ制御部２１からの指示に従ってプリンタ５に制御コマンドを送ることによりプリンタ５を制御したり、プリンタ５からの応答コマンドに基づいてＵＩ制御部２１にプリンタ５の状態を伝えたりする。２３は通信制御部であり、通信部１２を制御するソフトウェアで構成され、ポート制御部２４を制御して、Ｂｌｕｅｔｏｏｔｈ、ＵＳＢ、ＩｒＤＡの通信を制御する。
【００３３】
また、Ｂｌｕｅｔｏｏｔｈ通信に関しては、図９で後述する通り、通信制御部２３が、周辺に存在するＢｌｕｅｔｏｏｔｈ対応機器（デバイス）を定期的に検索及び確認しながら、Ｂｌｕｅｔｏｏｔｈ通信を制御する。ポート制御部２４は、通信部１２内のＢｌｕｅｔｏｏｔｈを制御するハードウェア、ＵＳＢを制御するハードウェア、ＩｒＤＡを制御するハードウェアを制御するソフトウェアで構成され、通信制御部２３の指示に従って、各ハードウェアを制御する。
【００３４】
図５は、プリンタドライバ２０のＵＩの一例を表す図である。このＵＩは、プリンタドライバ２０が起動した時、ハンドヘルドパソコン１の液晶ディスプレイ２に表示される。
【００３５】
同図において、３５はメインウィンドウである。２５はプリンタ選択部であり、コンボボックスにて構成され、接続されているプリンタを選択することにより、そのプリンタにて印刷を行うことができる。同図では、プリンタ５で印刷できる“ＢＪプリンタ”が選択されている。２６はポート選択部であり、コンボボックスにて構成され、ハンドヘルドパソコン１に装備されている印刷可能なポートが一覧表示され、その中から所望のポートを選択することができる。印刷可能なポートとしては、ＵＳＢ、ＩｒＤＡのほか、Ｂｌｕｅｔｏｏｔｈポートを表すＢＴ（Ｍｄｌ−Ａ）等が選択できるが、後述する通り、Ｂｌｕｅｔｏｏｔｈポートはその状況に応じて、表示、選択される場合とされない場合とが存在する。同図ではＢＴ（Ｍｄｌ−Ａ）というＢｌｕｅｔｏｏｔｈポートが選択されている。
【００３６】
２７は用紙サイズ選択部であり、コンボボックスにて構成され、用紙サイズとして、Ａ６、Ａ５、Ａ４の３タイプのうちから何れか一つを選択可能である。２８は下書き印刷選択部であり、チェックボックスで構成され、チェックされている場合、印字品位を落として下書き印刷の品位で印刷処理を行い。チェックが外されている場合、標準品位で印刷処理を行う。同図ではチェックが外されている状態を表す。２９はカラー印刷選択部であり、チェックボックスで構成され、チェックされている場合、カラー印刷が行われ、チェックが外されている場合、モノクロ印刷が行われる。同図ではチェックされている状態を表す。
【００３７】
３０は印刷範囲選択部であり、ラジオボタンで構成され、“すべて”が選択されている場合、アプリケーションの表示上で選択されている領域に関わらず全ての範囲が印刷され、“選択”が選択されている場合、アプリケーションの表示上で選択された領域内が印刷される。同図では“すべて”が選択されている状態を表す。３１は印刷の向き選択部であり、ラジオボタンで構成され、“縦”が選択されている場合、アプリケーションの表示を用紙の縦方向に展開して印刷し、“横”が選択されている場合、アプリケーションの表示を用紙の横方向に展開して印刷する。同図では“縦”が選択されている。
【００３８】
３２は余白設定部であり、数値を入力可能なテキストボックスで構成され、用紙の上下左右の余白をミリメートル単位でそれぞれ設定することができる。同図では上下左右の余白が全て２５ｍｍで設定されている状態を表す。３３はＯＫボタンであり、このボタンがタップされると印刷が開始される。３４はキャンセルボタンであり、このボタンがタップされると、印刷を行うことなく、メインウィンドウ３５を閉じる。以降では、プリンタ選択部２５、ポート選択部２６、用紙サイズ選択部２７、下書き印刷選択部２８、カラー印刷選択部２９、印刷範囲選択部３０、印刷の向き選択部３１、余白設定部３２における設定の組み合わせを「印刷設定」と呼称する。
【００３９】
図６は、ポート選択部２６における選択可能なポートの例を表す図である。
【００４０】
同図（ａ）では、ハンドヘルドパソコン１から印刷可能なＢｌｕｅｔｏｏｔｈ対応プリンタがＰＡＮのエリア内に存在し、それらのプリンタが印刷可能なスタンバイ状態である場合が示されている。この例では、Ｍｄｌ−Ａという名前のプリンタ（プリンタモデルＡ）、Ｍｄｌ−Ｂという名前のプリンタ（プリンタモデルＢ）、Ｍｄｌ−Ｃという名前のプリンタ（プリンタモデルＣ）がＰＡＮのエリア内にスタンバイ状態で存在している状態を表している。同図（ｂ）では、そのようなプリンタが存在しない場合が示されている。
【００４１】
このように、Ｂｌｕｅｔｏｏｔｈ対応プリンタがスタンバイ状態の時のみ、自動的にポート選択部２６にそのプリンタへの出力先を表す仮想ポート（仮想通信ポート）の対応表示がなされる。なお、仮想ポートとは、実際のハードウェアの通信ポートを表すものではなく、ソフトウェアにおける制御の通信ポートとして、仮想的に創造されるポートである。デバイスドライバ２０は、この仮想ポートを利用して、ハンドヘルドパソコン１とプリンタ５等の周辺装置（デバイス）との間で、データの送受信を行うことができる。この仮想ポートはポート選択部２６に表示されるＢｌｕｅｔｏｏｔｈポートに対応している。
【００４２】
このようにすることで、後述するように、ユーザが自分の周辺に存在するプリンタを容易に認識することができ、ポート選択部２６において出力先を選択するという極めて簡単な操作をするだけで、印刷させたいプリンタにて、容易にかつ確実に印刷することができる。また、ＰＡＮのエリア内にＢｌｕｅｔｏｏｔｈ対応プリンタがない時やスタンバイ状態でない時は、自動的にポート選択部２６からそのプリンタへの出力先を表すポートを削除して表示しないことで、ユーザが誤って使用不可能なプリンタにて印刷を行おうとするようなミスを防ぎ、基本的な印刷の失敗を防ぐことができる。仮想ポートの作成、表示、削除については図９〜図１１で後述する。
【００４３】
図７は、印刷可能なアプリケーションのＵＩの一例を示す図である。本アプリケーションは日本語ワードプロセッサのアプリケーションとする。
【００４４】
同図において、３６はメインウィンドウであり、文字列３７が入力された状態を表す。３８は印刷を開始させる為の印刷ボタンであり、このボタンをタップすることにより、プリンタドライバ２０が起動されてメインウィンドウ３５（図５）が表示される。そして、メインウィンドウ３５内のＯＫボタン３３をタップすることにより、表示されている文字列３７の印刷が開始される。３９は本アプリケーションを閉じる為のクローズボタンであり、このボタンをタップすることにより、メインウィンドウ３６が閉じられ、本アプリケーションが終了する。
【００４５】
図８は、Ｂｌｕｅｔｏｏｔｈにおけるピコネットの構成例を表す図である。
【００４６】
同図において、１つのピコネットは１つのマスターと１つ以上（最大７つ）のスレーブとから構成され、同図では、１つのマスターと、スレーブ１、スレーブ２、スレーブ３の３つのスレーブが、１つのピコネットを形成している状態を表している。マスターはそのマスターが属するピコネットを統制し、スレーブはマスターとのみ通信することができる。本実施の形態では、ハンドヘルドパソコン１がマスター、プリンタ５がスレーブとなって、１つのピコネットを形成して通信を行う。
【００４７】
次に、図９〜図１１を用いて、仮想ポートの作成、削除処理を説明する。
【００４８】
図９は、ハンドヘルドパソコン１で実行されるＢｌｕｅｔｏｏｔｈによる無線通信スタンバイ状態時の処理を表すフローチャートである。本処理は、無線通信スタンバイ状態の時、プリンタドライバ２０の通信制御部２３により実行される。
【００４９】
まず、Ｂｌｕｅｔｏｏｔｈを用いて、ＰＡＮエリア内に存在する無線通信が可能なＢｌｕｅｔｏｏｔｈ対応デバイスを検索し（ステップＳ９０１）、無線通信が可能な新たなＢｌｕｅｔｏｏｔｈ対応デバイスが有るか否かを判別する（ステップＳ９０２）。後述するように、例えば、Ｂｌｕｅｔｏｏｔｈ対応デバイスの電源が新たにオンされた場合等に、その存在が新たに確認される。その判別の結果、無線通信が可能な新たなＢｌｕｅｔｏｏｔｈ対応デバイスが有る場合は、そのデバイスが備えているＢｌｕｅｔｏｏｔｈのプロファイルを確認し（ステップＳ９０３）、そのデバイスがＳｅｒｉａｌ  Ｐｏｒｔ  Ｐｒｏｆｉｌｅ等の印刷可能なプロファイルを備えているか否かを判別する（ステップＳ９０４）。
【００５０】
その判別の結果、そのデバイスが印刷可能なプロファイルを備えている場合は、そのデバイスのモデル名を確認し、そのモデル名からそのデバイスを制御することができるデバイスドライバ（例えばプリンタドライバ）がハンドヘルドパソコン１に組み込まれているかを確認して（ステップＳ９０５）、そのデバイスドライバが組み込まれているか否かを判別する（ステップＳ９０６）。
【００５１】
その判別の結果、そのデバイス用のデバイスドライバが組み込まれている場合は、同じ特性を有し、且つ制御可能であるので、ハンドヘルドパソコン１（マスター）とそのデバイス（スレーブ）とでピコネット形成してネットワーク接続を確立し（ステップＳ９０７）、データ送受信用のＢｌｕｅｔｏｏｔｈの仮想ポートを、そのデバイスのモデル名の一部を含む形式で作成すると共に、その仮想ポートをポート選択部２６に一覧表示させる（ステップＳ９０８）（図６（ａ）参照）。
【００５２】
次に、一定時間（例えば、数秒）のウエイト期間を入れた後（ステップＳ９０９）、前記ステップＳ９０１に戻る。
【００５３】
一方、前記ステップＳ９０２において、ＰＡＮエリア内に通信が可能な新たなＢｌｕｅｔｏｏｔｈ対応デバイスが存在しない場合は、Ｂｌｕｅｔｏｏｔｈを用いて、過去に（ステップＳ９０８で）作成された仮想ポートの内、不要となった仮想ポートが有るか否かを判別する（ステップＳ９１０）。この判別は、前記ステップＳ９０４、Ｓ９０６と同様に、プロファイルの種類とデバイスドライバの有無に基づきなされる。具体的には、作成されている仮想ポートに対応するデバイスが、印刷可能なプロファイルを備えていない場合、または、そのデバイスを制御することができるデバイスドライバがハンドヘルドパソコン１に組み込まれていない場合は、そのデバイスの存在が確認できないとして、不要となったと判別される。例えば、仮想ポートに対応するデバイスが電源オフとされた場合等に不要と判断される。
【００５４】
前記ステップＳ９１０の判別の結果、不要となった仮想ポートがない場合は、前記ステップＳ９０９に進む一方、不要となった仮想ポートが有る場合は、その不要となった仮想ポートを削除すると共に、その仮想ポートをポート選択部２６における一覧表示からも消去して（ステップＳ９１１）、前記ステップＳ９０９に進む。
【００５５】
前記ステップＳ９０４の判別の結果、上記存在した無線通信が可能なＢｌｕｅｔｏｏｔｈ対応デバイスが印刷可能なプロファイルを備えていない場合は、同じ特性を有しないので、仮想ポートを作成することなく前記ステップＳ９０９へ進む。
【００５６】
前記ステップＳ９０６の判別の結果、上記存在した無線通信が可能なＢｌｕｅｔｏｏｔｈ対応デバイス用のデバイスドライバが組み込まれていない場合は、制御可能でないので、仮想ポートを作成することなく前記ステップＳ９０９へ進む。
【００５７】
本処理によれば、ハンドヘルドパソコン１が定期的にＰＡＮエリア内に存在する通信が可能な新たなＢｌｕｅｔｏｏｔｈ対応デバイスを検索して、必要に応じて、そのデバイスとデータの送受信を行う為の仮想ポートを作成することで、この仮想ポートに対応したＢｌｕｅｔｏｏｔｈポートがポート選択部２６に自動的に表示される。
【００５８】
図１０は、プリンタ５の電源ボタン８が押下（オン）されてプリンタ５が起動した時にプリンタ５で実行される起動時処理のフローチャートを示す図である。
【００５９】
電源ボタン８が押下（オン）されてプリンタ５が起動すると、まず、ＰＡＮエリア内に存在する通信が可能なＢｌｕｅｔｏｏｔｈ対応ホストコンピュータを検索し（ステップＳ１００１）、そのようなホストコンピュータが存在するか否かを判別する（ステップＳ１００２）。
【００６０】
その判別の結果、通信が可能なＢｌｕｅｔｏｏｔｈ対応ホストコンピュータが存在する場合は、そのホストコンピュータとの接続ネゴシエーションを開始する（ステップＳ１００３）。この接続ネゴシエーションにおいて、そのホストコンピュータがハンドヘルドパソコン１である場合は、ハンドヘルドパソコン１側では図９の処理により、その存在が確認されるので、前記ステップＳ９０８において、データ通信用のＢｌｕｅｔｏｏｔｈの仮想ポートがそのデバイスのモデル名の一部を含む形式で作成されることになる。前記ステップＳ１００３において接続ネゴシエーションが完了すると、スタンバイ状態になって（ステップＳ１００４）、本処理を終了する。
【００６１】
一方、前記ステップＳ１００２において、ＰＡＮエリア内に通信が可能なＢｌｕｅｔｏｏｔｈ対応ホストコンピュータが存在しない場合は、接続ネゴシエーションを行うことなくスタンバイ状態になり（ステップＳ１００４）、本処理を終了する。
【００６２】
本処理によれば、プリンタ５の電源ボタン８を押下（オン）してプリンタ５を起動するだけで、プリンタ５とハンドヘルドパソコン１との間でＢｌｕｅｔｏｏｔｈ通信の接続ネゴシエーションが行われ、一方で、ハンドヘルドパソコン１ではそのプリンタ５とデータの送受信を行う為の仮想ポートが作成され、この仮想ポートに対応したＢｌｕｅｔｏｏｔｈポートがポート選択部２６に自動的に表示される。
【００６３】
図１１は、プリンタ５の電源ボタン８が押下（オフ）されてプリンタ５がオフされる時にプリンタ５で実行されるオフ時処理のフローチャートを示す図である。
【００６４】
プリンタ５が起動している（スタンバイ）状態の時に電源ボタン８が押下（オフ）されると、まず、プリンタ５がスレーブとしてピコネット内のメンバーとなっているか否かを判別し（ステップＳ１１０１）、その判別の結果、プリンタ５がスレーブとしてピコネット内のメンバーとなっている場合は、そのネットワーク接続を解除してピコネットから抜ける（ステップＳ１１０２）。
【００６５】
このステップＳ１１０２において、上記ピコネットのホストコンピュータがハンドヘルドパソコン１である場合は、ハンドヘルドパソコン１側では図９の処理により、プリンタ５に対応する仮想ポートが不要となった仮想ポートであると判別されるので、前記ステップＳ９１１においてデータ通信用として不要となったＢｌｕｅｔｏｏｔｈの仮想ポートとして削除されることになる。
【００６６】
そして、前記ステップＳ１１０２でピコネットから抜けると、オフ状態となって（ステップＳ１１０３）、本処理を終了する。
【００６７】
一方、前記ステップＳ１１０１においてプリンタ５がスレーブとしてピコネット内のメンバーとなっていない場合は、ネットワーク接続解除を行うことなく、オフ状態となり（ステップＳ１１０３）、本処理を終了する。
【００６８】
本処理によれば、プリンタ５の電源ボタン８を押下（オフ）してプリンタ５をオフ状態にするだけで、プリンタ５とハンドヘルドパソコン１との間でＢｌｕｅｔｏｏｔｈ通信の接続ネゴシエーションの解除が行われ、一方で、ハンドヘルドパソコン１ではそのプリンタ５とのＢｌｕｅｔｏｏｔｈ通信用として作成されていた仮想ポートを、不要となったものとして削除することで、その仮想ポートに対応したＢｌｕｅｔｏｏｔｈポートがポート選択部２６から自動的に削除されて表示されなくなる。
【００６９】
本実施の形態によれば、ハンドヘルドパソコン１が定期的にＰＡＮエリア内に存在する通信が可能なＢｌｕｅｔｏｏｔｈ対応デバイスを検索して、必要に応じて、そのデバイスとデータの送受信を行う為の仮想ポートを作成することで、この仮想ポートに対応したＢｌｕｅｔｏｏｔｈポートがポート選択部２６に自動的に表示されるので、ユーザが自分の周辺に存在するプリンタを容易に認識することができ、ポート選択部２６において出力先を選択するという極めて簡単な操作をするだけで、印刷させたいプリンタにて、容易にかつ確実に印刷することができる。また、仮想ポートの対象となるデバイスがＰＡＮエリア外に出てしまった時やデバイスがスタンバイ状態でない時等には、その仮想ポートを削除することで、その仮想ポートに対応したＢｌｕｅｔｏｏｔｈポートがポート選択部２６から自動的に削除されて表示されなくなるので、ユーザが誤って使用不可能なプリンタにて印刷を行おうとするようなミスを防ぎ、基本的な印刷の失敗を防ぐことができる。これにより、ハンドヘルドパソコン１やプリンタ５の誤動作を防ぐことができる。よって、周辺装置の存在に応じて仮想通信ポートの作成及び削除を自動的に行うことで、煩雑な操作を要することなく、利用可能な周辺装置を容易に認識することができる。
【００７０】
さらに、そのデバイスのモデル名の一部を含む形式で仮想ポートを作成し、そのデバイスのモデル名の一部がポート選択部２６に表示されるＢｌｕｅｔｏｏｔｈポートに反映されるので、複数のモデルのプリンタが存在する環境においても、ユーザが、自分が印刷させたいプリンタを容易にかつ確実に選択することができる。例えば、もし、ハンドヘルドパソコン１で制御できないデバイスがＰＡＮエリア内に存在しても、そのデバイスとデータの送受信を行う為の仮想ポートは作成されないので、ユーザが誤ってそのデバイスを選択することがなくなり、ハンドヘルドパソコン１やそのデバイスの誤動作を防ぐことができる。
【００７１】
また、プリンタ５の電源ボタン８を押下（オン）してプリンタ５を起動するだけで、プリンタ５とハンドヘルドパソコン１との間でＢｌｕｅｔｏｏｔｈ通信の接続ネゴシエーションが行われ、ハンドヘルドパソコン１では仮想ポートが作成される。また、プリンタ５の電源ボタン８を押下（オフ）してプリンタ５をオフ状態にするだけで、ハンドヘルドパソコン１にプリンタ５とのＢｌｕｅｔｏｏｔｈ通信用として作成されていたが不要となった仮想ポートを削除することで、その仮想ポートに対応したＢｌｕｅｔｏｏｔｈポートがポート選択部２６から自動的に削除されて表示されなくなる。従って、煩雑な操作が不要であるだけでなくネットワーク接続確立や接続解除に要する時間を短縮することもできる。
【００７２】
なお、本実施の形態では、周辺装置の例として、カラープリンタ５を挙げたが、この例に限らず、同様なデータ通信機能を備える任意の周辺装置に関して有効である。また、インクジェット方式のカラープリンタの例を挙げたが、この例に限らずレーザービームプリンタや、モノクロプリンタに対しても有効であることは、言うまでもない。
【００７３】
なお、本実施の形態では、印刷可能なアプリケーションの例として日本語ワードプロセッサを使用したが、この例に限られることなく、印刷可能な任意のアプリケーションにおいて実現可能である。
【００７４】
なお、ハンドヘルドパソコン１に搭載されるＯＳの例としてＭｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）  ＣＥを採用したが、このＯＳに限られることなく、同様な構成をとることにより、任意のＯＳにおいて実現可能である。
【００７５】
なお、Ｂｌｕｅｔｏｏｔｈ対応プリンタが備えるプロファイルの例としてＳｅｒｉａｌ  Ｐｏｒｔ  Ｐｒｏｆｉｌｅを使用したが、このプロファイルに限られることなく、プリンタ用の任意のプロファイルを用いて実現可能である。また、プリンタでない周辺装置に対して本発明を実施する場合は、その周辺装置に適したプロファイルを使用して実現可能であることは言うまでもない。
【００７６】
なお、本実施の形態においては、ハンドヘルドパソコン１とプリンタ５との間で双方向データ通信が可能な無線インターフェイスの例としてＢｌｕｅｔｏｏｔｈインターフェイスを用いたが、このインターフェイスに限られることなく、同様な構成をとることにより、任意のインターフェイスにおいて実現可能である。
【００７７】
また、本発明の目的は、実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）が記憶媒体に格納されたプログラムコードを読み出して実行することによっても達成される。
【００７８】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００７９】
又、プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【００８０】
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００８１】
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００８２】
本発明の様々な例と実施例が示され説明されたが、当業者であれば、本発明の趣旨と範囲は本明細書の特定の説明と図に限定されるのではなく、本願特許請求の範囲にすべて述べられた様々の修正と変更に及ぶことが理解されるであろう。
【００８３】
本発明の実施態様の例を以下に列挙する。
【００８４】
〔実施態様１〕  無線通信インターフェイスを有し、仮想通信ポートを介して前記無線通信インターフェイスと共通する無線通信インターフェイスを有する周辺装置とデータ通信を行う情報処理装置であって、前記無線通信インターフェイスを用いて、周辺装置の存在を確認する存在確認手段と、前記存在確認手段により存在が確認された周辺装置に対応し該周辺装置とデータ通信を行うための仮想通信ポートを作成する仮想通信ポート作成手段と、前記仮想通信ポート作成手段により作成された仮想通信ポートのうち、前記存在確認手段により存在が確認できなくなった周辺装置に対応する仮想通信ポートを削除する仮想通信ポート削除手段とを有することを特徴とする情報処理装置。
【００８５】
〔実施態様２〕  前記周辺装置は、当該情報処理装置と同じ特性を有し且つ当該情報処理装置により制御可能である場合に、前記存在確認手段により存在することが確認されることを特徴とする請求項１記載の情報処理装置。
【００８６】
〔実施態様３〕  前記周辺装置が当該情報処理装置と同じ特性を有するか否かは、前記周辺装置が有する無線通信インターフェイスのプロファイルに基づき判断されることを特徴とする実施態様２記載の情報処理装置。
【００８７】
〔実施態様４〕  前記周辺装置が当該情報処理装置により制御可能であるか否かは、前記周辺装置を制御するためのデバイスドライバが当該情報処理装置に組み込まれているか否かに基づき判断されることを特徴とする実施態様２または３記載の情報処理装置。
【００８８】
〔実施態様５〕  前記存在確認手段は、周辺装置の存在を定期的に確認することを特徴とする実施態様１〜４のいずれかに記載の情報処理装置。
【００８９】
〔実施態様６〕  前記存在確認手段は、周辺装置の電源オン時における当該情報処理装置との接続確立のための通信を介して、前記周辺装置が存在することを確認することを特徴とする実施態様１〜５のいずれかに記載の情報処理装置。
【００９０】
〔実施態様７〕  前記存在確認手段は、周辺装置の電源オフ時における当該情報処理装置との接続解除のための通信を介して、前記周辺装置が存在しなくなったことを確認することを特徴とする実施態様１〜６のいずれかに記載の情報処理装置。
【００９１】
〔実施態様８〕  前記仮想通信ポート作成手段は、仮想通信ポートを作成する際、対応する周辺装置の名称の少なくとも一部を用いて、前記仮想通信ポートに名称を付与することを特徴とする実施態様１〜７のいずれかに記載の情報処理装置。
【００９２】
〔実施態様９〕  前記仮想通信ポート作成手段により作成された仮想通信ポートを表示する仮想通信ポート表示手段を有することを特徴とする実施態様１〜８のいずれかに記載の情報処理装置。
【００９３】
〔実施態様１０〕  前記仮想通信ポート削除手段は、削除した仮想通信ポートを、前記仮想通信ポート表示手段による表示から消去させることを特徴とする実施態様９記載の情報処理装置。
【００９４】
〔実施態様１１〕  前記仮想通信ポート表示手段により表示された仮想通信ポートの中から所望の仮想通信ポートが選択されることで、使用する周辺装置が特定されることを特徴とする実施態様９または１０記載の情報処理装置。
【００９５】
〔実施態様１２〕  前記無線通信インターフェイスは、Ｂｌｕｅｔｏｏｔｈであることを特徴とする実施態様１〜１１のいずれかに記載の情報処理装置。
【００９６】
〔実施態様１３〕  前記周辺装置はプリンタであることを特徴とする実施態様１〜１２のいずれかに記載の情報処理装置。
【００９７】
〔実施態様１４〕  無線通信インターフェイスを有し、仮想通信ポートを介して前記無線通信インターフェイスと共通する無線通信インターフェイスを有する周辺装置とデータ通信を行う情報処理装置を制御する情報処理装置の制御方法であって、前記無線通信インターフェイスを用いて、周辺装置の存在を確認する存在確認ステップと、前記存在確認ステップにより存在が確認された周辺装置に対応し該周辺装置とデータ通信を行うための仮想通信ポートを作成する仮想通信ポート作成ステップと、前記仮想通信ポート作成ステップにより作成された仮想通信ポートのうち、前記存在確認ステップにより存在が確認できなくなった周辺装置に対応する仮想通信ポートを削除する仮想通信ポート削除ステップとを有することを特徴とする情報処理装置の制御方法。
【００９８】
〔実施態様１５〕  無線通信インターフェイスを有し、仮想通信ポートを介して前記無線通信インターフェイスと共通する無線通信インターフェイスを有する周辺装置とデータ通信を行う情報処理装置を制御する情報処理装置の制御プログラムであって、前記無線通信インターフェイスを用いて、周辺装置の存在を確認する存在確認ステップと、前記存在確認ステップにより存在が確認された周辺装置に対応し該周辺装置とデータ通信を行うための仮想通信ポートを作成する仮想通信ポート作成ステップと、前記仮想通信ポート作成ステップにより作成された仮想通信ポートのうち、前記存在確認ステップにより存在が確認できなくなった周辺装置に対応する仮想通信ポートを削除する仮想通信ポート削除ステップとをコンピュータに実行させることを特徴とする情報処理装置の制御プログラム。
【００９９】
〔実施態様１６〕  無線通信インターフェイスを有し、仮想通信ポートを介して前記無線通信インターフェイスと共通する無線通信インターフェイスを有する周辺装置とデータ通信を行う情報処理装置を制御する情報処理装置の制御プログラムを記憶したコンピュータ読み取り可能な記憶媒体であって、前記無線通信インターフェイスを用いて、周辺装置の存在を確認する存在確認ステップと、前記存在確認ステップにより存在が確認された周辺装置に対応し該周辺装置とデータ通信を行うための仮想通信ポートを作成する仮想通信ポート作成ステップと、前記仮想通信ポート作成ステップにより作成された仮想通信ポートのうち、前記存在確認ステップにより存在が確認できなくなった周辺装置に対応する仮想通信ポートを削除する仮想通信ポート削除ステップとを実行させるためのプログラムを記憶したことを特徴とする記憶媒体。
【０１００】
〔実施形態１７〕  無線通信インターフェイスを用いて、周辺装置の存在を確認する存在確認手段と、前記存在確認手段により存在が確認された周辺装置に対応し該周辺装置とデータ通信を行うための仮想通信ポートを作成する仮想通信ポート作成手段とを有することを特徴とする情報処理装置。
【０１０１】
〔実施形態１８〕  無線通信インターフェイスを用いて、周辺装置の存在を確認する存在確認手段と、前記存在確認手段による確認に応じて、仮想通信ポートの作成あるいは削除を行う仮想通信ポート作成削除手段とを有することを特徴とする情報処理装置。
【０１０２】
〔実施形態１９〕  無線通信インターフェイスを用いて、周辺装置の存在を確認する存在確認手段と、前記存在確認手段により存在が確認できなくなった周辺装置に対応する仮想通信ポートを削除する仮想通信ポート削除手段とを有することを特徴とする情報処理装置。
【０１０３】
【発明の効果】
以上説明したように、本発明によれば、周辺装置の存在に応じて仮想通信ポートの作成あるいは削除を自動的に行うことで、煩雑な操作を要することなく、利用可能な周辺装置を容易に認識することができる。
【図面の簡単な説明】
【図１】本発明の一実施の形態に係る情報処理装置を含んで構成される通信システムの全体構成を表す図である。
【図２】ハンドヘルドパソコンの内部ハードウェア構成を表すブロック図である。
【図３】プリンタの内部ハードウェア構成を表すブロック図である。
【図４】プリンタを制御するプリンタドライバにプリンタを併せて示した図である。
【図５】プリンタドライバのＵＩの一例を表す図である。
【図６】ポート選択部における選択可能なポートの例を表す図である。
【図７】印刷可能なアプリケーションのＵＩの一例を示す図である。
【図８】Ｂｌｕｅｔｏｏｔｈにおけるピコネットの構成を表す図である。
【図９】ハンドヘルドパソコンで実行されるＢｌｕｅｔｏｏｔｈによる無線通信スタンバイ状態時の処理を表すフローチャートである。
【図１０】プリンタの電源ボタンが押下（オン）されてプリンタが起動した時にプリンタで実行される起動時処理のフローチャートを示す図である。
【図１１】プリンタの電源ボタンが押下（オフ）されてプリンタがオフされる時にプリンタで実行されるオフ時処理のフローチャートを示す図である。
【符号の説明】
１  ハンドヘルドパソコン（情報処理装置）
２  液晶ディスプレイ（仮想通信ポート表示手段）
５  カラープリンタ（周辺装置）
９  ＣＰＵ
１５  ＣＰＵ
２０  プリンタドライバ（存在確認手段、仮想通信ポート作成手段、仮想通信ポート作成削除手段、仮想通信ポート削除手段）
２３  通信制御部
【図１】
2004185388.tif 000003
【図２】
2004185388.tif 000004
【図３】
2004185388.tif 000005
【図４】
2004185388.tif 000006
【図５】
2004185388.tif 000007
【図６】
2004185388.tif 000008
【図７】
2004185388.tif 000009
【図８】
2004185388.tif 000010
【図９】
2004185388.tif 000011
【図１０】
2004185388.tif 000012
【図１１】
2004185388.tif 000013