(57)【特許請求の範囲】
【請求項１】
ユニバーサルプラグアンドプレイ（ＵＰｎＰ）を用いる入力システムにおける入力方式を変更するための方法であって、
制御ポイントが、入力動作を実行する入力装置を発見するステップと、
前記制御ポイントが、前記発見した入力装置の入力能力情報を要請し、前記入力能力情報を受信するステップと、
前記制御ポイントが、前記受信された入力能力情報を用いて、入力信号を受信するための受信装置と前記入力信号を送信するための送信装置とを決定することによりセッションを設定するステップと、
前記受信装置が、前記送信装置から入力データを受信するステップと、
前記受信装置の入力方式が変更されると、前記受信装置が前記変更された入力方式に関する情報を前記送信装置に送信し、前記変更された入力方式に従う入力データのフォーマットに関する情報を含むレポートディスクリプタを前記送信装置から受信するステップと、
を有することを特徴とする入力方式を変更するための方法。
【請求項２】
前記入力能力情報は、前記入力データのフォーマットに関する情報を含むレポートディスクリプタを含むことを特徴とする請求項１に記載の入力方式を変更するための方法。
【請求項３】
前記セッションを設定するステップは、
前記制御ポイントが、セッション接続のための設定値を前記送信装置及び前記受信装置に送信し、前記送信装置及び前記受信装置が前記設定値を用いてセッションを生成するステップと、
前記送信装置及び前記受信装置が、データ送信を制御するためのコントロールチャネル及び非同期データの送信のためのインタラプトチャネルを生成するステップと、
を有することを特徴とする請求項１に記載の入力方式を変更するための方法。
【請求項４】
前記送信装置の入力方式が変更される場合に、前記変更された入力方式に関する情報及び前記変更された入力方式に従う入力データのフォーマットに関する情報を含むレポートディスクリプタを前記受信装置に送信するステップをさらに有することを特徴とする請求項１に記載の入力方式を変更するための方法。
【請求項５】
前記変更された入力方式に関する情報を送信し、前記レポートディスクリプタを受信するステップは、
前記変更された入力方式に関する情報を前記送信装置に送信し、転送制御プロトコル（ＴＣＰ）チャネルを通して新たなセッションを生成し、前記生成されたセッションを通して入力データのフォーマットに関する情報を含むレポートディスクリプタを前記送信装置から受信するステップを有することを特徴とする請求項４に記載の入力方式を変更するための方法。
【請求項６】
前記変更された入力方式に関する情報を送信し、前記レポートディスクリプタを受信するステップは、
前記変更された入力方式に従うレポートディスクリプタに対するリクエストを前記送信装置に送信し、新たな転送制御プロトコル（ＴＣＰ）チャネルを生成し、前記変更された入力方式に従う入力データのフォーマットに関する情報を含むレポートディスクリプタを前記生成された転送制御プロトコルチャネルを通して前記送信装置から受信するステップを有することを特徴とする請求項４に記載の入力方式を変更するための方法。
【請求項７】
前記変更された入力方式に関する情報を送信し、前記レポートディスクリプタを受信するステップは、
前記変更された入力方式に従うレポートディスクリプタに対するリクエストを前記送信装置に送信し、前記変更された入力方式に従う入力データのフォーマットに関する情報を含むレポートディスクリプタを、前記コントロールチャネルを通して前記送信装置から受信するステップを有することを特徴とする請求項３に記載の入力方式を変更するための方法。
【請求項８】
ユニバーサルプラグアンドプレイ（ＵＰｎＰ）を用いる入力システムであって、
ユーザからの入力を受信し、入力データを送信する送信装置と、
前記送信装置から入力データを受信し、前記入力データに従う動作を実行する受信装置と、
入力動作を実行する入力装置を発見し、前記入力装置から入力能力情報を要請し、入力を実行する入力装置から前記入力能力情報を受信し、前記受信された入力能力情報を用いて入力信号を受信するための受信装置と前記入力信号を送信するための送信装置とを決定することによりセッションを設定する制御ポイント（ＣＰ）と、
を有し、
前記受信装置は、入力方式が変更されると、前記変更された入力方式に関する情報を前記送信装置に送信し、前記変更された入力方式に従う入力データのフォーマットに関する情報を含むレポートディスクリプタを前記送信装置から受信することを特徴とする入力システム。
【請求項９】
前記受信装置は、
前記受信装置の入力能力情報を含み、前記制御ポイントから設定値を受信して前記受信装置の状態を入力送信状態又は受信状態に変更するユニバーサルプラグアンドプレイ入力設定サービスと、
入力装置及びサービスのユニバーサルプラグアンドプレイディスカバリー動作を実行するためのユニバーサルプラグアンドプレイディスカバリーエージェント（ＤＡ）と、
ユニバーサルプラグアンドプレイヒューマンインターフェースデバイス（ＨＩＤ）アダプターから入力データを受信し、前記入力データをアプリケーションに送信するヒューマンインターフェースデバイスクラスドライバーと、
ユニバーサルプラグアンドプレイプロトコルを用いて設定されたコントロールチャネル又はインタラプトチャネルを通して受信されたブルートゥースヒューマンインターフェースデバイス入力データをユニバーサルシリアルバスヒューマンインターフェースデバイス（ＵＳＢ  ＨＩＤ）クラスドライバーが使用することができるように変換するユニバーサルプラグアンドプレイヒューマンインターフェースデバイスアダプターと、
を有することを特徴とする請求項８に記載の入力システム。
【請求項１０】
前記入力能力情報は、前記入力データのフォーマットに関する情報を含むレポートディスクリプタを含むことを特徴とする請求項８に記載の入力システム。
【請求項１１】
前記制御ポイントが前記セッションを設定することは、
前記制御ポイントがセッション接続のための設定値を前記送信装置及び前記受信装置に送信し、
前記送信装置及び前記受信装置が前記設定値を用いてセッションを生成し、データ送信の制御のためのコントロールチャネル及び非同期データの送信のためのインタラプトチャネルを生成することを特徴とする請求項８に記載の入力システム。
【請求項１２】
前記送信装置は、入力方式が変更される場合に、前記変更された入力方式に関する情報及び前記変更された入力方式に従う入力データのフォーマットに関する情報を含むレポートディスクリプタを前記受信装置に送信することを特徴とする請求項８に記載の入力システム。
【請求項１３】
前記受信装置が前記変更された入力方式に関する情報を送信し、前記レポートディスクリプタを受信することは、
前記変更された入力方式に関する情報を前記送信装置に送信し、転送制御プロトコル（ＴＣＰ）チャネルを通して新たなセッションを生成し、前記生成されたセッションを通して入力データのフォーマットに関する情報を含むレポートディスクリプタを前記送信装置から受信することを特徴とする請求項１２に記載の入力システム。
【請求項１４】
前記受信装置が前記変更された入力方式に関する情報を送信し、前記レポートディスクリプタを受信することは、
前記変更された入力方式に従うレポートディスクリプタに対するリクエストを前記送信装置に送信し、新たな転送制御プロトコル（ＴＣＰ）チャネルを生成し、前記変更された入力方式に従う入力データのフォーマットに関する情報を含むレポートディスクリプタを前記生成された転送制御プロトコルチャネルを通して前記送信装置から受信することを特徴とする請求項１２に記載の入力システム。
【請求項１５】
前記受信装置が前記変更された入力方式に関する情報を送信し、前記レポートディスクリプタを受信することは、
前記変更された入力方式に従うレポートディスクリプタに対するリクエストを前記送信装置に送信し、前記変更された入力方式に従う入力データのフォーマットに関する情報を含むレポートディスクリプタを、前記コントロールチャネルを通して前記送信装置から受信することを特徴とする請求項１１に記載の入力システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的に、ユニバーサルプラグアンドプレイ（Universal Plug and Play：以下、“ＵＰｎＰ”と称する）プロトコルに関し、特に、ＵＰｎＰを用いる入力システムで入力方式を変更するための方法及び装置に関する。
【背景技術】
【０００２】
ユーザは、パーソナルコンピュータ（ＰＣ）、ラップトップ（laptop）コンピュータ、及びＰＤＡ（Personal Digital Assistant）のようなコンピュータ装置を制御するために様々なタイプの入力装置を使用する。このような入力装置は、キーボード又はマウスのような一般的な入力装置と、ビデオゲームに使用されるジョイスティック（joystick）又はゲームパッド（game pad）のような入力装置、及び専門的なデザイナーのためのスタイラス（stylus）のような入力装置を含む。このように様々な目的のための多くのタイプの入力装置がある。
【０００３】
このように、様々な入力装置により送信される入力データを受信するために、ホスト装置は、各入力装置の入力を受信して解析できる様々なドライバーを備えるべきである。入力装置がホスト装置に接続される場合に、ホスト装置は、ドライバーを通して入力データを解釈して使用する。したがって、ホスト装置は、どの入力装置がこれに接続されるかを認識することができないため、すべてのタイプのデバイスドライバーを含まなければならず、ユーザは、接続された入力装置に適合したドライバーを設置しなければならない。
【０００４】
上述した問題点を解決するために、新たなタイプの入力装置が接続されても容易に適用されるように設計されているユニバーサルシリアルバス（Universal Serial Bus：ＵＳＢ）が使用されている。ＵＳＢ標準は、入力装置のタイプに従って既存の入力装置をクラス別に区分する。各クラスドライバーは、特定のクラス装置を管理する。特に、ヒューマンインターフェースデバイス（Human Interface Device：以下、“ＨＩＤ”と称する）のようなクラスは、入力装置により送信されるデータフォーマットを定義したレポートディスクリプタを送信する。
【０００５】
ＵＳＢ入力装置は、単一のポート及びクラスドライバーを用いて様々な入力装置を制御することができるという長所を有する。しかしながら、ＵＳＢ入力装置は、有線接続に限定される。このような限定を克服するために、ブルートゥース（bluetooth）（登録商標）ＳＩＧ（Special Interest Group）及びＵＳＢ標準団体では、ブルートゥースＨＩＤプロフィール及び無線ＵＳＢのような標準技術を開発し、それによってＨＩＤを無線でホスト装置に接続することができる方法を提供する。しかしながら、このような技術は、従来の有線機能を単純に無線環境に拡張するだけであり、さらに、無線又はネットワーク環境で考慮される問題点を解決できる機能を含まず、新たな機能に対しても柔軟性を提供しなかった。
【０００６】
最近、携帯電話及びＰＤＡのようなモバイル装置は、従来の装置に比べてより迅速に情報を処理し、ネットワークに容易にアクセスすることができる環境で動作する。この傾向に基づいて、ＵＰｎＰテレフォニーワーキングコミティー（Working  Committee：ＷＣ）は、ネットワークを用いて１つの装置を他の装置の入力装置として使用することができるサービスを定義している。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
したがって、本発明は、上述した従来技術の問題点を解決するために提案されたものであり、その目的は、ＵＰｎＰを用いる入力システムにおいて入力動作を実行する間に入力方式を迅速に変更するための方法及び装置を提供することにある。
【課題を解決するための手段】
【０００８】
上記のような目的を達成するために、本発明の一態様によれば、ユニバーサルプラグアンドプレイ（ＵＰｎＰ）を用いる入力システムにおける入力方式を変更するための方法を提供する。上記方法は、制御ポイントが入力を実行する入力装置の入力能力情報を要請し、上記入力能力情報を受信するステップと、上記制御ポイントが上記受信された入力能力情報を用いて入力信号を受信するための受信装置と上記入力信号を送信するための送信装置とを決定することによりセッションを設定するステップと、上記受信装置が上記送信装置から入力データを受信するステップと、上記受信装置の入力方式が変更される場合に、上記受信装置が上記変更された入力方式に関する情報を上記送信装置に送信し、上記変更された入力方式に従う入力データのフォーマットに関する情報を含むレポートディスクリプタを上記送信装置から受信するステップと、を有することを特徴とする。
【０００９】
本発明の別の態様によれば、ユニバーサルプラグアンドプレイ（ＵＰｎＰ）を用いる入力システムを提供する。上記入力システムは、ユーザからの入力を受信し、入力データを送信する送信装置と、上記送信装置から入力データを受信し、上記入力データに従う動作を実行する受信装置と、入力を実行する入力装置から入力能力情報を要請し、上記入力能力情報を受信し、上記受信された入力能力情報を用いて入力信号を受信するための受信装置と上記入力信号を送信するための送信装置とを決定することによりセッションを設定する制御ポイント（ＣＰ）とを有し、上記受信装置は、入力方式が変更される場合に、上記変更された入力方式に関する情報を上記送信装置に送信し、上記変更された入力方式に従う入力データのフォーマットに関する情報を含むレポートディスクリプタを上記送信装置から受信することを特徴とする。
【発明の効果】
【００１０】
本発明の実施形態によれば、ＵＰｎＰを用いる入力システムにおいて、特定のタイプの入力装置は、入力を行う間に他の入力方式に変更されることができる。また、入力方式を変更する場合に、既存のＵＳＢクラスドライバーを再使用することができ、これにより、開発の効率性をさらに高めることができるという長所がある。
【００１１】
さらに、ブルートゥースで使用されるソフトウェアモジュールは、ブルートゥースＨＩＤ転送プロトコルを用いて再使用されることができ、ＴＣＰレベルでの入力方式も変更されることができる。クレジットカード情報のようなセキュリティ情報の場合に、ユーザの選好度に基づいてセキュリティの設定が可能である。
【００１２】
本発明の実施形態の上述した及び他の様相、特徴、及び利点は、以下の添付図面が併用された後述の詳細な説明から、より一層明らかになるだろう。
【図面の簡単な説明】
【００１３】
【図１】本発明が適用されるＵＰｎＰを用いる入力システムの構成を示すブロック図である。
【図２】ＵＰｎＰを用いる入力システムにおける入力動作のフローを示す図である。
【図３】本発明の実施形態による入力データの転送プロトコル及びフォーマットを変更するための装置の構成を示すブロック図である。
【図４】本発明の実施形態によるＵＰｎＰアクションを用いてレポートディスクリプタを送信するための動作を示す図である。
【図５】本発明の実施形態によるＴＣＰチャネルを用いてレポートディスクリプタを送信するための動作を示す図である。
【図６】本発明の実施形態によるブルートゥースリクエストを用いてレポートディスクリプタを送信するための動作を示す図である。
【図７】本発明の実施形態に従って変更されたケーパビリティディスクリプションの例を示す図である。
【図８】本発明の実施形態に従って拡張されたケーパビリティディスクリプションの例を示す図である。
【図９】本発明の実施形態に従って変更された接続情報の例を示す図である。
【図１０】本発明の他の実施形態に従って拡張された接続情報の例を示す図である。
【発明を実施するための形態】
【００１４】
以下、本発明の好適な一実施形態を、添付図面を参照しつつ詳細に説明する。なお、下記の説明における具体的な特定事項は、本発明のより全般的な理解を助けるために提供されたもので、本発明の範囲及び趣旨を逸脱することなく、ここに説明された実施形態の様々な変更及び変形が可能であるということは、当該技術分野における通常の知識を有する者には明らかである。また、明瞭性と簡潔性の観点から、当業者に良く知られている機能や構成に関する具体的な説明は、省略する。
【００１５】
図１は、本発明が適用されるＵＰｎＰを用いる入力システムの構成を示すブロック図である。ＵＰｎＰを用いる一般的なＵＰｎＰ入力装置は、２個の入力装置１２０及び１３０と入力設定（Input Configuration）制御ポイント（Control Point：以下、“ＣＰ”と称する）１１０とを含む。入力装置１２０及び１３０は、オペレーティングシステム（Operating System：ＯＳ）の入力機能１２１及び１３１と、入力設定サービス１２２及び１３２と、転送サーバ／クライアント１２３及び１３３とを含む。転送サーバ／クライアント１２３及び１３３は、サーバ又はクライアントとして動作し、入力情報を送信する。ＣＰ１１０は、ネットワーク上で入力設定サービス１２２及び１３２を発見し、各入力装置が処理することができる入力装置の種類、入力方式、及び必要な情報を設定し得る。入力設定サービス１２２及び１３２の中の１つは、入力データを送信し、他の入力設定サービスは、この入力データを受信する。ＣＰ１１０は、送信器により送信されるデータと受信器により受信されるデータとの間の相互運用性（interoperability）を保証するために使用される入力データのフォーマット及び送信方法を各サービスに送信する。入力方式は、各入力装置の入力能力を示すケーパビリティドキュメント（capability document）に記述されている。ケーパビリティドキュメントは、入力装置の様々な種類及びデバイスの特性に関連した情報を記述することができる。このケーパビリティドキュメントに記述された各エレメントは、現在ＵＰｎＰテレフォニーＷＣで標準化されている。
【００１６】
図２は、ＵＰｎＰを用いる入力システムにおける入力動作のフローを示す図である。図２を参照すると、ステップ２１０で、ＣＰ１１０は、GetInputCapability()のようなＵＰｎＰアクションを用いて入力装置１２０及び１３０のケーパビリティを、入力設定サービス１２２及び１３２から受信する。ＣＰ１１０は、ステップ２２０で、受信されたケーパビリティに基づいて入力装置１２０及び１３０の役割及び転送プロトコルを決定する。この後に、ステップ２３０及びステップ２４０で、SetInputSession（）のようなＵＰｎＰアクションを用いて入力装置１２０及び１３０のセッションを生成する。ステップ２５０及びステップ２６０で、StartInputSession（）のようなＵＰｎＰアクションを用いて入力装置１２０及び１３０のセッションを開始することにより２つの装置間の入力データの送信を開始する。このセッションは、入力装置間の論理的な接続を意味し、ＵＰｎＰプロトコルを通して制御されることができる。
【００１７】
しかしながら、従来のＵＳＢ又はブルートゥースＨＩＤ入力方式は、次のような問題点がある。
【００１８】
まず、ＵＳＢ及びブルートゥースＨＩＤ入力方式は、入力のために複数のインターフェースを要求する。例えば、ノートブックコンピュータを使用してウェブサーフィンを行う場合に、ホストＰＣは、ウェブを使用するためのネットワークインターフェースに加えて、入力を受信するためのブルートゥース又はＵＳＢインターフェースを含まなければならない。さらに、使用された装置の入力方式及び入力データのタイプを変更することができない。例えば、ユーザがＵＳＢマウスをＵＳＢキーボードとして使用しようとする場合に、このような使用を実行するための方法がない。これは、ＵＳＢ及びブルートゥース標準が有している固有の問題である。特定の目的を有する装置がある場合に、このような標準は、特定の目的を有する装置をホスト装置に接続するために考案されたためである。すなわち、装置の目的が固定され、この装置の目的が変更されても、その新たな目的に適応するための方法がまったくない。
【００１９】
また、標準化されているＵＰｎＰ入力設定サービスにおいて、入力データをネットワークに送信するための方法が存在しない。したがって、このような方法のために必要な情報及び構成要素も存在しない。現在実現されている方法は、入力装置を発見し、この発見された装置のケーパビリティを確認し、送信装置及び受信装置の役割を設定し、この装置を論理的に接続する役割を実行する。
【００２０】
使用された装置の入力方式及び入力データのフォーマットを変更することができるが、ＵＰｎＰを使用して変更するためにリアルタイムで入力方式の変更が必要な場合に速度が遅いという短所がある。また、ＣＰを通して入力方式を変更しなければならないために、最悪の場合に、ＣＰが接続設定の後に存在しない場合には、入力方式を変更することができない。
【００２１】
図３は、本発明の実施形態による入力データの転送プロトコル及びフォーマットを変更するための装置の構成を示すブロック図である。
【００２２】
図３を参照すると、ＵＰｎＰ入力システムは、ユーザから入力データを直接受信し、この入力データを受信側入力装置３１に送信する送信側入力装置３２と、この入力データを送信側入力装置３２から受信し、この入力データに従う動作を実行する受信側入力装置３１と、入力装置３１及び３２を制御するＣＰ３３とを含む。
【００２３】
受信側入力装置３１は、ＵＰｎＰ入力設定サービス３１１と、ＵＰｎＰディスカバリーエージェント（ＤＡ）３1２と、ヒューマンインターフェースデバイス（ＨＩＤ）クラスドライバー３１３と、アプリケーション３１４と、ＵＰｎＰ  ＨＩＤアダプター３１５と、送信制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）スタック３１６とを含む。
【００２４】
ＵＰｎＰ入力設定サービス３１１は、受信側入力装置３１を設定する。ＵＰｎＰ入力設定サービス３１１は、入力装置のケーパビリティに関連した情報、例えば、この入力装置のロール及び使用可能なプロトコルのタイプを含む。ＵＰｎＰ入力設定サービス３１１は、ＣＰ３３から設定値を受信し、ソフトウェアモジュールを内部的に制御し、入力状態を送信又は受信状態に変更する。
【００２５】
ＵＰｎＰ  ＤＡ３０２は、デバイス及びサービスのＵＰｎＰディスカバリー動作を実行する。
【００２６】
ＨＩＤクラスドライバー３１３は、ＵＳＢ  ＨＩＤデバイスのためのクラスドライバーであり、様々なＨＩＤ装置で汎用的に使用されることができる。ＨＩＤクラスドライバー３１３は、ＵＰｎＰ  ＨＩＤアダプター３１５から入力値を受信し、この入力値をアプリケーション３１４に提供する。
【００２７】
アプリケーション３１４は、入力装置３１に設置されたインターネットブラウザーのようなユーザアプリケーションを意味する。
【００２８】
ＵＰｎＰ  ＨＩＤアダプター３１５は、ＵＰｎＰを使用して設定されたコントロールチャネル又はインタラプトチャネルを通して送信されたブルートゥースＨＩＤ入力値をＵＳＢ  ＨＩＤクラスドライバー３１３が使用することができるように変換する。
【００２９】
ＴＣＰ／ＩＰスタック３１６は、ＴＣＰ／ＩＰ通信のためのレイヤーを示す。
【００３０】
送信側入力装置３２は、上述した受信側入力装置３１と同一の構成を有するので、その詳細な構成についての説明を省略する。
【００３１】
本発明は、ＵＰｎＰを使用する入力システムを通して従来のＵＳＢ又はブルートゥースＨＩＤで提供する機能よりも優れた機能を提供する。ＵＳＢ及びブルートゥースは、装置間の接続に使用し、それぞれの固有のインターフェースを必要とする。ＵＰｎＰは、ＩＰと同一のレイヤー上で動作するので、汎用的なＩＰネットワークを通して入力値を転送することができる。したがって、付加のインターフェースを提供する必要がない。また、必要な入力データのタイプが変更される場合に、このタイプを変更する方法が提供される。すなわち、ホスト装置のアプリケーションが所望する入力方式が変更される場合に、同一の装置は、新たな入力方式の入力データを転送することができる。しかしながら、汎用的なＩＰスタックが使用される場合に、速度が遅くなり得るという短所がある。したがって、本発明は、従来のブルートゥース入力装置が提供するすべての機能を提供すると同時に、入力装置の変更のような付加の機能を速度の減少なしに提供する。
【００３２】
図４は、本発明の第１の実施形態によるＵＰｎＰアクションを用いてレポートディスクリプタを伝達する動作を示す図である。本発明の実施形態によるＵＰｎＰ入力動作及びレポートディスクリプタ送信動作を、図４を参照して説明する。
【００３３】
まず、ステップ４１０で、ＣＰ３３は、入力装置を制御してＵＰｎＰディスカバリー動作を実行することにより入力動作を実行する入力装置を発見する。
【００３４】
ステップ４２０で、ＣＰ３３は、ＵＰｎＰ入力設定サービス３１１及び３２１から受信された関連装置のケーパビリティを読み出し、ステップ４３０で、ケーパビリティマッチングを実行することにより入力装置を選択する。この場合に、ユーザは、入力情報を受信するための受信側入力装置を制御し、実際の入力に使用される送信側入力装置を発見し、入力に適合した装置を選択する。他方、ユーザが実際の入力を実行する入力装置を制御する場合に、ユーザは、入力データを受信することによりアプリケーションを実行するための受信側入力装置を発見し選択することができる。
【００３５】
本発明の一実施形態に従って、入力装置がケーパビリティを送信する時に、レポートディスクリプタは、このケーパビリティに含まれ得る。これについては、以下に詳細に説明する。
【００３６】
ステップ４４０で、ＣＰ３３は、セッション設定のための設定値を入力設定サービス３１１及び３２１に送信する。入力設定サービス３１１及び３２１は、設定値を用いてセッションを生成し、実際のセッション接続を準備する。
【００３７】
ステップ４５０で、送信側入力装置３２は、ＣＰ３３により送信された接続情報から受信側入力装置３１のポート情報を確認し、セッション別に２つのチャネルを形成する。この接続情報は、送信側入力装置の接続情報を意味する。送信側入力装置３２は、データ送信の制御のためのコントロールチャネルとして使用されるＴＣＰチャネル及び非同期データの送信のためのインタラプトチャネルとして使用されるユーザデータグラムプロトコル（ＵＤＰ）チャネルを生成する。一方、セキュリティセンシティブなデータを送信する場合には、一般的なポートの代りにセキュアソケットレイヤー（Secure Socket Layer：以下、“ＳＳＬ”と称する）により保護されるチャネルを使用してもよい。上述した２つのチャネルは、１つのセッションＩＤにより管理され、このように生成されたチャネル上で、ブルートゥースで定義されたリクエストを使用して入力データを送信する。この入力データのフォーマットは、ステップ４２０で共有されたレポートディスクリプタに記述されたフォーマットに従う。
【００３８】
レポートディスクリプタは、送信される入力データのフォーマットを記述するデータ構造を意味する。本発明は、レポートディスクリプタを共有する方法を提案する。
【００３９】
まず、本発明の一実施形態に従って、レポートディスクリプタは、図４を参照して説明したようなＵＰｎＰアクションを通して共有され得る。すなわち、ステップ４２０で、レポートディスクリプタは、各入力装置の入力能力に関する情報を示すケーパビリティ情報を送信する際にケーパビリティに挿入される。
【００４０】
この場合に、ケーパビリティは、拡張マークアップ言語（eXtensible Markup Language：ＸＭＬ）形態のテキスト情報で説明される。レポートディスクリプタがバイナリ形態の情報で構成されるために、レポートディスクリプタがケーパビリティに挿入される場合にＸＭＬ文書が壊れている問題が発生し得る。このような問題を解決するために、レポートディスクリプタの意味を分析し、それぞれの意味に対応するＸＭＬエレメントを新たに定義することによりＸＭＬ文書に挿入されることができる。このような方法がよい読みやすさを有するが、受信側入力装置がＸＭＬを、パーシングを通して元来のバイナリコードに再変換しなければならないという短所を有する。
【００４１】
また、レポートディスクリプタをＸＭＬに挿入するための他の方法は、Ｂａｓｅ６４のようなバイナリエンコーディング方式を使用する。この方法は、テキスト形態でエンコーディングされないので可読性が低いが、パーシング及び変換速度が速いという長所がある。上述した方法を使用して、ＣＰ３３は、ＵＰｎＰアクションを用いてレポートディスクリプタを受信し送信することができる。
【００４２】
本発明の実施形態によると、レポートディスクリプタは、ＴＣＰ通信を使用して送信される。レポートディスクリプタを送信する方法は、非常に直観的である。しかしながら、入力方式の変更によりレポートディスクリプタを突然変更しれなければならない場合に問題が発生し得る。
【００４３】
この場合に、レポートディスクリプタがＵＰｎＰスタックのすべてを通して送信されるために、処理速度が遅くなり得る。ＣＰ３３が接続を設定した後に電源が遮断される場合には、レポートディスクリプタを変更する方法がない。したがって、本発明の実施形態において、レポートディスクリプタは、ＴＣＰチャネルを用いて直接送信される。リアルタイムで入力装置を変更するためには、受信側入力装置３１が、現在要求される入力方式が変更されたことを送信側入力装置３２に通知するか、又は送信側入力装置３２が、入力方式が変更されたことを受信側入力装置３１に通知しなければならない。この場合に、使用されるポート情報は、接続情報に含まれ得る。関連するポートを使用してレポートディスクリプタを送信する時に次のような２つの方法を使用することができる。
【００４４】
１番目に、受信側入力装置３１が関連するポートに対するアクセスを要請する場合に、ＣＰ３３は、セッションを設定し、レポートディスクリプタを即座に送信する。このような送信が完了した場合に、対応するセッションも終了する。入力装置のタイプ及びクラスがすでに決定された場合に、上述した方法を使用して簡単にレポートディスクリプタを送信することができる。２番目に、レポートディスクリプタを送信するためのリクエストを定義する。ブルートゥースリクエストと同様に、新たに定義されたリクエストを用いてレポートディスクリプタを要請する。このレポートディスクリプタを受信した後に、受信側入力装置３１は、関連するチャネルを終了する。この方法は、受信側入力装置３１が特定の入力を必要とする場合にいつでも新たなレポートディスクリプタを要請することができるという長所を有する。この場合に、新たなレポートディスクリプタの要請の手順は、次のとおりである。
【００４５】
まず、受信側入力装置３１により必要とされる入力方式がテキスト入力方式から座標入力方式に変更されると仮定すると、受信側入力装置３１は、変更された入力方式を送信側入力装置３２に通知し、レポートディスクリプタを受信するために、以下に述べられる表１に示すリクエストを用いて送信側入力装置３２にレポートディスクリプタを送信するように要請する。この場合に、受信側入力装置３１は、ＵＳＢ  ＨＩＤサブクラスに関する情報とともに変更された入力方式に関する情報を送信する。この入力方式は、文字入力又は座標入力を示す簡単な説明を示す。ＵＳＢ  ＨＩＤサブクラスは、より詳細な情報を表現する。すなわち、ＵＳＢ  ＨＩＤサブクラスは、入力装置がＵＳＢ標準により提供されるどのサブクラスに属しているかを示す。新たなリクエストフォーマットは、以下に述べられる表１に示す。
【００４６】
【表１】
0005448222.tif 000002
【００４７】
次いで、送信側入力装置３２は、受信されたリクエストを送信側入力装置３２が提供することができる入力形式を比較した後にレポートディスクリプタを送信する。
【００４８】
送信側入力装置３２が受信されたＵＳＢ  ＨＩＤサブクラスに対応する入力を送信することができない場合に、次の表２に示すリクエストを通して受信された入力方式のデフォルトレポートディスクリプタを送信する。
【００４９】
【表２】
0005448222.tif 000003
【００５０】
受信側入力装置３１がレポートディスクリプタを受信する場合に、受信される入力データのフォーマットを認識し、このフォーマットを解釈することができるモジュールを準備する。
【００５１】
一方、送信側入力装置３２は、変更される入力方式を受信側入力装置３１に送信してもよい。この点について、送信側入力装置３２は、変更された入力方式を受信側入力装置３１に送信することができる新たなリクエストを追加で定義しなければならない。本発明において、以下に述べられる表３に示すリクエストを定義する。送信側入力装置３２は、表３で定義されたリクエストを用いて変更される入力方式に関する情報及びレポートディスクリプタを送信し、この送信された情報及びレポートディスクリプタに対する応答をハンドシェイクリクエスト（handshake request）を通して受信することができる。したがって、受信側入力装置３１は、受信される入力データのフォーマットを認識し、このフォーマットを解釈することができるモジュールを準備する。
【００５２】
【表３】
0005448222.tif 000004
【００５３】
図５は、本発明の第２の実施形態によるＴＣＰチャネルを用いてレポートディスクリプタを送信する動作を示す図である。図５に示すように、入力方式が変更される場合に、送信側入力装置３１０は、ステップ５１０で、ＴＣＰ／ＩＰスタックを通したＴＣＰ通信を用いてレポートディスクリプタを送信することができる。
【００５４】
本発明の第３の実施形態によると、ブルートゥースリクエストを付加し、入力データを送信する際に使用されるコントロールチャネルを使用してレポートディスクリプタを送信する。
【００５５】
すなわち、本発明の第３の実施形態は、本発明の第２の実施形態と同様であるが、新たなチャネルを生成する代わりに入力データを送信する時に使用された既存のコントロールチャネルを使用してレポートディスクリプタを送信するという点で異なる。
【００５６】
図６は、本発明の第３の実施形態によるブルートゥースリクエストを用いてレポートディスクリプタを送信する動作を示す図である。図６に示すように、送信側入力装置は、ステップ６１０で、付加されたブルートゥースリクエストを用いてコントロールチャネルを通してレポートディスクリプタを送信することができる。
【００５７】
図７を参照してＵＰｎＰ状態変数のデータ構造を説明する。図７は、本発明の実施形態に従って変更されたケーパビリティディスクリプションの例を示す図である。図７に示すように、レポートディスクリプタ情報がケーパビリティに含まれ、ブルートゥースＨＩＤ方式が転送プロトコルとして使用される。予め定義されたレポートディスクリプタが入力データのフォーマットとして使用される場合には、ＵＳＢ＿ＤＥＦＡＵＬＴ値は、入力データフォーマットのタイプ情報に割り当てられる。したがって、レポートディスクリプタを説明せず、上記のように定義されたレポートディスクリプタを使用して通信することができる。
【００５８】
図８は、本発明の実施形態に従って拡張されたケーパビリティディスクリプションの例を示す図である。図８において、マニュファクチャラーが入力データフォーマット及び転送プロトコルを指定する場合におけるケーパビリティ情報の例を示す。
【００５９】
図９は、本発明の実施形態に従って変更された接続情報の例を示す図である。図９において、コントロールチャネル及びインタラプトチャネルを生成し、レポートディスクリプタを送信するためのポート情報を含む接続情報の例を示す。
【００６０】
図１０は、本発明の他の実施形態に従って拡張された接続情報の例を示す図である。図１０において、マニュファクチャラーが入力データフォーマット及び転送プロトコルを指定する場合における接続情報の例を示す。
【００６１】
上述したように、ＵＰｎＰを用いる入力システムにおいて入力方式を変更するための方法及び装置の動作及び構成が実現されることができる。
【００６２】
以上、本発明を具体的な実施形態を参照して詳細に説明してきたが、添付した特許請求の範囲によって規定されるような本発明の精神及び範囲を逸脱することなく、様々な変更、変形、代替、同等なものが可能であることは、当該技術分野における通常の知識を持つ者には明らかである。したがって、本発明の範囲は、上述の実施形態に限定されるべきではなく、特許請求の範囲の記載及びこれと均等なものの範囲内で定められるべきである。
【符号の説明】
【００６３】
１１０      制御ポイント（ＣＰ）
１２０、１３０      入力装置
１２２、１３２      入力設定サービス
１２３、１３３      転送サーバ／クライアント
３１      受信側入力装置
３２      送信側入力装置
３１１      ＵＰｎＰ入力設定サービス
３１２      ＵＰｎＰディスカバリーエージェント（ＤＡ）
３１３      ヒューマンインターフェースデバイス（ＨＩＤ）クラスドライバー
３１４      アプリケーション
３１５      ＵＰｎＰ  ＨＩＤアダプター
３１６      送信制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）スタック
【図１】
0005448222.tif 000005
【図２】
0005448222.tif 000006
【図３】
0005448222.tif 000007
【図４】
0005448222.tif 000008
【図５】
0005448222.tif 000009
【図６】
0005448222.tif 000010
【図７】
0005448222.tif 000011
【図８】
0005448222.tif 000012
【図９】
0005448222.tif 000013
【図１０】
0005448222.tif 000014