(57)【特許請求の範囲】
【請求項１】
複数の論理デバイスを含むデバイス部と、
ＵＳＢを介して接続されるホストコンピュータと情報の授受を行うための１つ以上のエンドポイントを備えたＵＳＢ送受信部と、
前記ホストコンピュータから、前記デバイス部における第１の論理デバイスを指定する情報を受け取ると、前記第１の論理デバイスと前記ＵＳＢ送受信部内の１つ以上のエンドポイントを接続する一方、前記１つ以上のエンドポイントを情報の授受に必要とし且つ前記第１の論理デバイスとは異なる第２の論理デバイスを指定する情報を前記ホストコンピュータからさらに受け取ると、前記１つ以上のエンドポイントと前記第１の論理デバイスとの接続を切断し、前記第２の論理デバイスと接続する制御部と
を具備することを特徴とするＵＳＢ対応電子機器。
【請求項２】
前記ＵＳＢ送信部は、コントロール転送用のエンドポイントを含み、
前記制御部は、前記ホストコンピュータから前記コントロール転送用のエンドポイントを介して、所望の論理デバイスを指定する情報を受け取ることを特徴とする請求項１に記載のＵＳＢ対応電子機器。
【請求項３】
前記ＵＳＢ送信部は、コントロール転送用のエンドポイントを含み、
前記制御部は、前記ホストコンピュータから前記コントロール転送用のエンドポイントを介して、所望のサービスを指定する情報を受け取ることを特徴とする請求項１に記載のＵＳＢ対応電子機器。
【請求項４】
前記制御部は、前記ＵＳＢ送信部における割り込み転送用のエンドポイントを介して、前記ホストコンピュータとの間で割り込み転送を行うことにより、前記第１および第２の論理デバイスと前記ホストコンピュータとの間の情報の授受に使用されるエンドポイントの機能を設定することを特徴とする請求項１に記載のＵＳＢ対応電子機器。
【請求項５】
前記ＵＳＢ送信部は、各々１または複数のエンドポイントからなる複数のインタフェースを有し、これらのインターフェイスのうちの１つのインターフェイスはコントロール転送用のエンドポイントを含み、
前記制御部は、前記ホストコンピュータから前記コントロール転送用のエンドポイントを介して、所望の論理デバイスを指定する情報を受け取り、前記ホストコンピュータとの間の情報の授受に必要なインターフェイスを前記ＵＳＢ送受信部内のインターフェイスの中から選択して、当該論理デバイスと接続することを特徴とする請求項１に記載のＵＳＢ対応電子機器。
【請求項６】
前記ＵＳＢ送信部は、コントロール転送用のエンドポイントと、複数のポートに対応した複数のインターフェイスブロックとを有し、各インターフェイスブロックは、各々１または複数のエンドポイントからなる複数のインターフェイスを有し、
前記制御部は、前記ホストコンピュータが所望のポートを介して所望のサービスを受ける際、前記ホストコンピュータから前記コントロール転送用のエンドポイントを介して前記所望のサービスを指定する情報を受け取り、前記ＵＳＢ送受信部内の当該ポートに対応したインターフェイスブロックを当該サービスに対応した論理デバイスに接続することを特徴とする請求項１に記載のＵＳＢ対応電子機器。
【請求項７】
前記制御部は、前記ホストコンピュータが、あるポートを介して、ある論理デバイスを使用しているときに、他のポートを介して新たなサービスを受けることを要求してきた場合に、当該他のポートに対応したインターフェイスブロックを当該新たなサービスに対応した論理デバイスに接続することを特徴とする請求項６に記載のＵＳＢ対応電子機器。
【請求項８】
前記ＵＳＢ送信部は、複数のポートに対応した複数のインターフェイスブロックを有し、各インターフェイスブロックは、各々１または複数のエンドポイントからなる複数のインターフェイスを有し、これらのインターフェイスのうちの１つのインターフェイスはコントロール転送用のエンドポイントを含み、
前記制御部は、前記ホストコンピュータが所望のポートを介して所望のサービスを受ける際、前記ホストコンピュータから、前記ＵＳＢ送受信部における前記所望のポートに対応したインターフェイスブロックに含まれるコントロール転送用のエンドポイントを介して、前記所望のサービスを指定する情報を受け取り、当該サービスに対応した論理デバイスを前記ＵＳＢ送受信部内の当該ポートに対応したインターフェイスブロックに接続することを特徴とする請求項１に記載のＵＳＢ対応電子機器。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＵＳＢインタフェースを備えたＵＳＢ対応電子機器に関する。
【０００２】
【従来の技術】
コンピュータと、各種電子機器とを接続するためのバスとして、ＵＳＢ（Universal Serial Bus）がある。このＵＳＢは、２本の信号線と２本の電源線とを内包したケーブルバスである。最近提供されている多くのパーソナルコンピュータやその周辺装置は、このＵＳＢに対応したインタフェースを備えている。
ＵＳＢインタフェースは、１個のホストコンピュータに対し、１または複数のデバイスをバス接続したシステムを想定している。このＵＳＢを介してホストコンピュータに接続されるデバイスを一般的にＵＳＢデバイスと呼んでいる。
ホストコンピュータに対してＵＳＢデバイスが接続されると、ホストコンピュータは、そのＵＳＢデバイスに対し、一意的なアドレスを割り当てる。また、ＵＳＢデバイスは、ホストコンピュータとの間の通信を終端するためのエンドポイントを複数備えている。ホストコンピュータは、このＵＳＢデバイスのエンドポイントとの間で通信を行う。
【０００３】
【発明が解決しようとする課題】
ところで、複数の機能を搭載した小型の携帯電子機器が検討されている。この種の多機能携帯型電子機器とホストコンピュータとをＵＳＢインタフェースにより接続する場合、携帯電子機器内に各機能毎にエンドポイントを固定的に設ける必要がある。しかしながら、そのようなエンドポイントを各機能毎に設けることは、小型化が望まれる携帯型電子機器にとって望ましいことではない。一方、この種の携帯型電子機器に関し、複数の機能を同時に使用する必要性はそれ程ないという事情もある。
【０００４】
この発明は以上説明した事情に鑑みてなされたものであり、少ない小規模なインターフェイスにより、ＵＳＢを介して複数の機能を提供することができるUSＢ対応電子機器を提供することを目的としている。
【０００５】
【課題を解決するための手段】
この発明は、複数の論理デバイスを含むデバイス部と、ＵＳＢを介して接続されるホストコンピュータと情報の授受を行うための１つ以上のエンドポイントを備えたＵＳＢ送受信部と、前記ホストコンピュータから、前記デバイス部における第１の論理デバイスを指定する情報を受け取ると、前記第１の論理デバイスと前記ＵＳＢ送受信部内の１つ以上のエンドポイントを接続する一方、前記１つ以上のエンドポイントを情報の授受に必要とし且つ前記第１の論理デバイスとは異なる第２の論理デバイスを指定する情報を前記ホストコンピュータからさらに受け取ると、前記１つ以上のエンドポイントと前記第１の論理デバイスとの接続を切断し、前記第２の論理デバイスと接続する制御部とを具備することを特徴とするＵＳＢ対応電子機器を提供する。
【０００７】
【発明の実施の形態】
以下、図面を参照し、本発明の実施形態について説明する。
【０００８】
［１］第１の実施形態
［１．１］実施形態の構成
図１はこの発明の一実施形態である通信システムの構成を示すブロック図である。図１に示すように、この通信システムは、移動機１とホストコンピュータ２とをＵＳＢケーブル７により接続してなるものである。移動機１は、ＵＳＢ送受信部３、制御部４、デバイス切替部５およびデバイス部６を有している。
【０００９】
ＵＳＢ送受信部３は、３つのインターフェイスＩ０〜Ｉ２を有している。ここで、インターフェイスＩ０には＃０、インターフェイスＩ１には＃１、インターフェイスＩ２には＃２という具合に、各インターフェイスには、ＵＳＢ送受信部３内において識別可能なインターフェイス番号が付与されている。インターフェイスＩ０〜Ｉ２については後に詳細を説明する。
【００１０】
また、ＵＳＢ送受信部３は、接続ライン７１によって制御部４と接続され、接続ライン７４によってデバイス切替部５と接続されている。
【００１１】
デバイス部６は、複数の論理デバイス６−１〜６−５を有しており、各論理デバイスは接続ライン７５〜７９を介してデバイス切替部５と接続されている。これらの論理デバイスとしては、音声通信デバイス、パケット通信デバイス、電話帳交換デバイス、非制限デジタル通信デバイス、プリンタ、モデム等がある。
【００１２】
デバイス切替部５は、接続ライン７５〜７９を選択して、接続ライン７４との接続を行う切替スイッチである。例えば、接続ライン７５が選択された場合、ホストコンピュータ２は、ＵＳＢ送受信部３、接続ライン７４、接続ライン７５を介して論理デバイス６−１に通信可能となる。
【００１３】
制御部４は、接続ライン７２によってデバイス切替部５と、接続ライン７３によってデバイス部６と接続されている。また、制御部４は、以下に示すような情報を有する。
▲１▼移動機１内の論理デバイスＤ１〜Ｄ５の機能一覧
▲２▼各論理デバイスの使用に必要となる各インターフェイスの代替設定値
▲３▼インターフェイス数、インターフェイス番号、エンドポイント数、エンドポイント番号等の移動機１側のＵＳＢインターフェイス情報
【００１４】
制御部４は、ＵＳＢ送受信部３およびＵＳＢケーブル７を介してホストコンピュータ２に上記機能情報を通知することができる。また、制御部４は、ＵＳＢケーブル７およびＵＳＢ送受信部３を介して、ホストコンピュータ２から所望の機能の指示を受け取り、その機能に対応したデバイス部６内の論理デバイスをホストコンピュータ２に接続するための切り替え制御を行うことが可能である。なお、この切り替え制御の詳細については後述する。
【００１５】
図２は、ＵＳＢ送受信部３の基本構成を示すブロック図である。
図２において、ＵＳＢ送受信部３は、３つのインターフェイスＩ０〜Ｉ２から構成されている。これらのインターフェイスＩ０〜Ｉ２は、それぞれ２個のエンドポイント（以下、ＥＰという）を有している。
【００１６】
ここで、ＥＰは、移動機１側のＵＳＢインターフェイスを構成する基本単位であり、データ転送の諸形態に対応し、異なる種類のＥＰが用いられる。また、ＥＰには、ＵＳＢデバイス内において、それぞれ独立した認識番号（以下、ＥＰ番号という）を有しており、このＥＰ番号により各々が識別可能となっている。また、インターフェイスによって複数のエンドポイントをまとめて扱うことが可能となっている。
【００１７】
以下、インターフェイスＩ０〜Ｉ２について説明する。
（ａ）インターフェイスＩ０
インターフェイスＩ０は、ＥＰ０およびＥＰ１を有している。これらのＥＰ０およびＥＰ１は以下のような機能を有する。
まず、ＥＰ０はコントロール転送用のＥＰであり、ＵＳＢデバイスとホストコンピュータの接続がなされ通信可能になった時点で行われるセットアップに用いられる。このＥＰ０を用いて行われるセットアップについては後に詳細を述べる。
次にＥＰ１は、割り込み転送用のＥＰである。ＥＰ１の転送方向は、ＩＮ（ＵＳＢデバイス側からホストコンピュータ側）であり、ＵＳＢデバイス側からホストコンピュータ側へ様々な通知を送るために使用される。
（ｂ）インターフェイスＩ１、Ｉ２
インターフェイスＩ１はＥＰ２およびＥＰ３を、インターフェイスＩ２はＥＰ４およびＥＰ５を有している。
【００１８】
ＥＰ２〜ＥＰ５は、バルク転送またはＩＳＯ（アイソクロナス）転送に使用することができる。また、これらのＥＰを使用して行うデータ転送のタイプをバルク転送からＩＳＯ転送へあるいはＩＳＯ転送からバルク転送へ切り替えることも可能である。さらに同じＩＳＯ転送でもデータ転送量の切替を行うことが可能である。
【００１９】
このＥＰ２〜ＥＰ５のデータ転送タイプの切替は、インターフェイスの代替設定を利用することにより行われる。
本実施形態においてインターフェイスの代替設定は次のように定義されている。
代替設定０．バルク転送ＩＮ／ＯＵＴモード（６４バイト）
代替設定１．ＩＳＯ転送ＩＮ／ＯＵＴモード（８バイト）
代替設定２．ＩＳＯ転送ＩＮ／ＯＵＴモード（１６バイト）
代替設定３．ＩＳＯ転送ＩＮ／ＯＵＴモード（３２バイト）
代替設定４．ＩＳＯ転送ＩＮ／ＯＵＴモード（６４バイト）
代替設定５．ＩＳＯ転送ＩＮ／ＯＵＴモード（１２８バイト）
この仕組みによって、各インターフェイスがクライアントアプリケーションに対応可能になる。
【００２０】
［１．２］実施形態の動作
図３は、移動機１がＵＳＢ７によりホストコンピュータ２に接続されたときにホストコンピュータ２と移動機１の制御部４との間で行われるセットアップの手順を示すシーケンスチャートである。
【００２１】
ホストコンピュータ２は、移動機１が接続されたことを検知すると（ステップＳ１）、ＵＳＢ７を介し、移動機１内のＵＳＢ送受信部３にリセット信号を送信する（ステップＳ２）。移動機１の制御部４は、ＵＳＢ送受信部３を介してリセット信号を受け取ることにより初期化された後、トランザクションに対して応答可能な状態となる。このようにして移動機１側のリセットが完了すると、ホストコンピュータ２と移動機１内のＥＰ０との間にデフォルトパイプが形成され、このデフォルトパイプを介したコントロール転送が可能となる。
【００２２】
そして、デフォルトパイプが形成されると、ホストコンピュータ２は、移動機１のセットアップを開始する。まず、ホストコンピュータ２は、移動機１のＥＰ０を相手としたコントロール転送を開始し、そのセットアップステージにおいてＧｅｔ  Ｄｅｓｃｒｉｐｔｏｒを送信し、デバイスディスクリプタを要求する（ステップＳ３）。次に移動機１の制御部４は、データステージにおいてデバイスディスクリプタをホストコンピュータ２宛てに送信する（ステップＳ４）。ホストコンピュータ２は、ステータスステージにおいて移動機１のＥＰ０宛てに長さ０のデータパケットを送信することにより、正常にディスクリプタが受信されたことを通知する（ステップＳ５）。
【００２３】
このようにしてホストコンピュータ２に送信されたデバイスディスクリプタは、移動機１に関する一般情報を有している。この一般情報には、移動機１のプロトコルコード、ＥＰ０の最大パケットサイズ等が含まれている。
【００２４】
ホストコンピュータ２は、このデバイスディスクリプタを受け取ると、移動機１に対して一意のアドレス（以下、デバイスアドレスという）を割り当てる（ステップＳ６）。ホストコンピュータ２は、このデバイスアドレスの割り当てが完了すると、移動機１に対し、Ｓｅｔ  Ａｄｄｒｅｓｓコマンドを送信し、デバイスアドレスを報告する（ステップＳ７）。このようにして、移動機１に対して、デバイスアドレスが設定される。
【００２５】
デバイスアドレスの設定が完了すると、ホストコンピュータ２は、再度、ステータスステージにおいてＧｅｔ  Ｄｅｓｃｒｉｐｔｏｒを移動機１の制御部４に送り、構成ディスクリプタを制御部４に要求する（ステップＳ９）。制御部４は、Ｇｅｔ  Ｄｅｓｃｒｉｐｔｏｒを受けると、データステージにおいて構成ディスクリプタをホストコンピュータ２に送る（ステップＳ１０）。ホストコンピュータ２は、ステータスステージにおいて移動機１のＥＰ０宛てに長さ０のデータパケットを送信することにより、正常にディスクリプタが受信されたことを通知する（ステップＳ１１）。
【００２６】
このようにして制御部４からホストコンピュータ２へ送られる構成ディスクリプタには、制御部４が有する情報のうち、以下の情報が含まれる。
▲１▼移動機１内の論理デバイスＤ１〜Ｄ５の機能一覧を含むビットマップテーブルホストコンピュータ２は、これを受け取ることにより移動機１内の論理デバイスＤ１〜Ｄ５の機能構成を把握することが可能となる。
▲２▼インターフェイス数、インターフェイス番号、エンドポイント数、エンドポイント番号等の、移動機１側のＵＳＢインターフェイス情報。
【００２７】
ホストコンピュータ２は、この構成ディスクリプタを受け取ると、各エンドポイントの番号とインターフェイス番号との関係を把握するとともに、移動機１の構成を以下のように設定する（ステップＳ１２）。
移動機１のＥＰおよびインターフェイス構成を設定する。その際、Ｉ１およびＩ２の代替設定は０とする。
移動機１内の論理デバイスＤ１〜Ｄ５を特定せず、使用する論理デバイスに応じて移動機１の設定を変更可能な状態にしておく。
【００２８】
次にホストコンピュータ２は、コントロール転送のセットアップステージにおいてＳｅｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎを送信し（ステップＳ１３）、ステップＳ１２において設定した通りにインターフェイスの機能設定を行うことを要求する。移動機１の制御部４は、このＳｅｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎコマンドに従ってインターフェイスの設定を行う（ステップＳ１４）。
このようにして、移動機１のセットアップが完了する。
【００２９】
次に、図４はホストコンピュータ２側から論理デバイスの使用要求がなされた場合の動作を示すシーケンスチャートである。ここでは、ホストコンピュータ２が論理デバイス６−１を使用する場合を考える。
【００３０】
まず、ホストコンピュータ２は、移動機１のＥＰ０宛てのコントロール転送を開始し、そのセットアップステージにおいて、Ｓｅｌｅｃｔ＿Ｓｅｒｖｉｃｅを送信する（ステップＳ１０１）。このＳｅｌｅｃｔ＿Ｓｅｒｖｉｃｅは、所望のサービスを要求する旨のコマンドである。次に、ホストコンピュータ２は、データステージにおいて、要求サービスに対応した移動機１内の論理デバイスを特定するデータを移動機１側に送る（ステップＳ１０２）。制御部４は、このようにして論理デバイスの使用要求及び使用するデバイスが論理デバイス６−１であるとの通知を受けると、ステータスステージにおいて、正常にデータの受信が行われた旨をホストコンピュータ２に通知する（ステップＳ１０３）。
【００３１】
次に、制御部４は、論理デバイス６−１が使用可能であるか否かを判断する（ステップＳ１０４）。ここで、論理デバイス６−１が使用可能でない場合、制御部４はインターフェイスＩ０（ＥＰ１）を用いた割り込み転送により、その旨を示す情報を含むＲｅｑｕｅｓｔ＿Ａｃｋｎｏｗｌｅｄｇｅをホストコンピュータ２に送る（ステップＳ１０５）。これにより、ホストコンピュータ２側では、ユーザに対し、要求サービスが拒否された旨が通知され、処理が終了する。
【００３２】
これに対し、論理デバイズ６−１が使用可能である場合、制御部４はインターフェイスＩ０（ＥＰ１）を用いた割り込み転送により、その旨を示すＲｅｑｕｅｓｔ＿Ａｃｋｎｏｗｌｅｄｇｅをホストコンピュータ２に送る（ステップＳ１０６）。次に制御部４は、使用要求がなされた論理デバイス６−１に対応した接続ライン７５と接続ライン７４を接続すべき旨の命令をデバイス切替部５に対し出力する。この命令を受信すると、デバイス切替部５は、接続ライン７４と接続ライン７５を接続する（ステップＳ１０７）。
【００３３】
一方、ホストコンピュータ２は、論理デバイズ６−１が使用可能である旨のＲｅｑｕｅｓｔ＿Ａｃｋｎｏｗｌｅｄｇｅを受け取ると、コントロール転送のセットアップステージにおいて、使用する論理デバイス６−１に対応したインターフェイスの代替設定値を移動機１に要求する（ステップＳ１０８）。
【００３４】
この代替設定値要求を受けると、移動機１の制御部４は、データステージにおいて論理デバイス６−１を使用する際に必要なインターフェイスの代替設定値を応答する（ステップＳ１０９）。
【００３５】
ホストコンピュータ２は、この代替設定値を受信すると、ステータスステージにおいて、送信が成功した旨を移動機１側に通知する（ステップＳ１１０）。
また、ホストコンピュータ２は、代替設定値を受信すると、サービスを受けるに当たって、現在のインターフェイスの代替設定値のままで構わないかどうかを判断する（ステップＳ１１１）。
【００３６】
このステップＳ１１１の判断の結果、代替設定値に問題がない場合には、ホストバッファに対し、ＥＰ２〜ＥＰ５に対応したバッファ領域が形成され、ホストバッファとＥＰ間にパイプが形成される。その後、ホストコンピュータ２は、接続された移動機１内の論理デバイス６−１との間で、要求サービスに対応した通信が開始される（ステップＳ１１８）。
【００３７】
一方、ステップＳ１１１の判断の結果、インターフェイスの代替設定値に不満があると判断した場合、ホストコンピュータ２は、移動機１のＥＰ０を相手としたコントロール転送のセットアップステージにおいて、Ｓｅｔ  Ｉｎｔｅｒｆａｃｅを送信し、各ＥＰの代替設定の切替を制御部４に対して要求する（ステップＳ１１２、Ｓ１１５）。このＳｅｔ  Ｉｎｔｅｒｆａｃｅコマンドを受けると移動機１は、要求の送信が成功した旨をステータスステージにおいて通知した後（ステップＳ１１３、Ｓ１１６）、各インターフェイスの代替設定を切り替え、その代替設定値に対応した状態に各ＥＰを設定する（ステップＳ１１４、Ｓ１１７）。
【００３８】
例えば、当該サービスとして、ＩＳＤＮ通信サービスを用いようとするときには、Ｑ９２１／Ｑ９３１の通信のために一方のインターフェイス（例えば、インターフェイスＩ１）には、バルク転送用として代替設定０を、Ｂチャネルの通信のために他方のインターフェイス（例えばインターフェイスＩ２）には、ＩＳＯ転送用として代替設定２を選択しておけば、２チャンネルでのデータの通信が可能となる。しかし、ＩＳＯ転送用として３２バイト以上のデータ転送能力が必要な場合、代替設定は３〜５となる。このため、この例では、ホストコンピュータ２がインターフェイスＩ２の代替設定を３〜５に切り換えるように要求し、この切替要求を受けると制御部４は、インターフェイスＩ２の代替設定を切り替える。
【００３９】
このように、各インターフェイスの代替設定の切り換えが終了すると、ホストバッファとＥＰ間にパイプが形成され、ホストコンピュータ２は、接続された移動機１内の論理デバイス６−１との間で、要求サービスに対応した通信が開始される（ステップＳ１１８）。
【００４０】
なお、音声通信デバイス、或いは、モデム等を論理デバイス６１として使用する際には、ＥＰは、ＩＮ／ＯＵＴの一組で足りる。このため、インターフェイスを２つ使用しなくとも、１つのインターフェイスを用いれば論理デバイスを起動することが可能となる。
【００４１】
このように、本実施形態に係る移動機１によれば、複数の論理デバイスに対し１つのＵＳＢインターフェイスを設ければ足りるため、ＥＰを削減することが可能となる。
【００４２】
なお、本実施形態には次のような変形例が考えられる。すなわち、図３に示すセットアップ動作のステップＳ１０において、移動機１内の全論理デバイスについて、各論理デバイスの使用に必要なインターフェイスの代替設定値を移動機１からホストコンピュータ２に送るようにするのである。このようにした場合、ホストコンピュータ２が所望の論理デバイスを使用する図４のシーケンスにおいて、使用する論理デバイスの代替設定値をホストコンピュータ２が移動機１から受け取る処理（ステップＳ１０８およぶＳ１０９）を省略することができる。
【００４３】
［２］第２の実施形態
［２．１］実施形態の構成
図５はこの発明の第２の実施形態である通信システムの構成を示すブロック図である。なお、この図において上述した図１の各部と対応する部分には同一の符号が付されている。この通信システムにおいて、移動機１は、ｎ個のポートを有している。これらの各ポートは、物理的に独立した伝送路ではなく、ホストコンピュータ２と移動機１とを結ぶ通信チャネルに相当するものである。いずれのポートも、物理的には、１本のＵＳＢケーブルを利用するものである。
【００４４】
ホストコンピュータ２には、１または複数のＴＥが接続される。各ＴＥは、ホストコンピュータ２から物理的に独立した単体のハードウェアであってもよいし、ホストコンピュータ２にインストールされたアプリケーションソフトウェアであってもよい。各ＴＥは、移動機１が有するポートの１つを選択し、このポートを介して移動機１内部の論理デバイスを使用することができる。
【００４５】
次に、本実施形態における移動機１の内部構成について説明する。移動機１のＵＳＢ送受信部３は、ｎ個のポートに対応したインターフェイスブロック３−１〜３−ｎと、全ポート共用のコントロール転送用のエンドポイントであるＥＰ０とによって構成されている。これらの各インターフェイスブロック３−ｋ（ｋ＝１〜ｎ）は、インターフェイスＩ０と、インターフェイスＩ１およびＩ２を有している。ここで、インターフェイスＩ０はＥＰ１を有し、インターフェイスＩ１はＥＰ２およびＥＰ３を、インターフェイスＩ２はＥＰ４およびＥＰ５を各々有している。各エンドポイントの機能は第１の実施形態において説明した通りである。
【００４６】
ここで、各ポートに対応したインターフェイスブロック３−ｋのインターフェイスＩ１およびＩ２には、当該ポート内において各々を識別するための識別子ＩＤ０およびＩＤ１が各々付与されている。
【００４７】
また、インターフェイスブロック３−１のインターフェイスＩ０には＃０、インターフェイスＩ１には＃１、インターフェイスＩ２には＃２、インターフェイスブロック３−２のインターフェイスＩ０には＃３、…という具合に、各インターフェイスブロックの各インターフェイスには、ＵＳＢ送受信部３内において識別可能なインターフェイス番号が付与されている。
【００４８】
また、デバイス切替部５は、ｎ個のポートに対応したスイッチＳＷ１〜ＳＷｎによって構成されている。各ポートに対応したスイッチＳＷｋは、インターフェイスブロック３−ｋをＵＳＢデバイス部６内の１つの論理デバイスに接続する。いずれの論理デバイスをインターフェイスブロック３−ｋに接続するかは、制御部４によって制御される。
【００４９】
機能管理部８は、ＵＳＢデバイス部６内の各論理デバイス６−ｋ（ｋ＝１〜ｍ）の使用状況を監視し、各ポート毎に利用可能な論理デバイスを管理する手段である。図５に示す構成の場合、全く論理デバイスが使用されていないときには、いずれのポートを利用する場合でも全ての論理デバイスの中から所望の論理デバイスを選択して使用することができる。
【００５０】
［２．２］実施形態の動作
次に本実施形態の動作について説明する。
移動機１がUSBケーブル７によりホストコンピュータ２に接続されると、移動機１およびホストコンピュータ２の双方において所定の手順に従って初期化が行われる。この初期化において、ホストコンピュータ２は移動機１に対して１個のアドレスを付与する。また、移動機１では全てのインターフェイスの代替設定値が０とされる。また、移動機１からホストコンピュータ２に対し、ディスクリプタが送信される。
【００５１】
このディスクリプタは、各ポート毎に次の２つの情報を含んでいる。
a.  当該ポートにより利用可能な機能の一覧
図５に示す構成では論理デバイス６−１〜６−ｎの各機能が、各ポート毎に利用可能な機能の一覧として送信されることとなる。なお、このように各ポートにおいて全ての論理デバイスを利用可能にする他、各ポート毎に利用可能な論理デバイスに差を持たせてもよい。その場合には、各ポート毎に、区々な機能一覧が送信されることとなる。
ｂ．当該ポートが持つインターフェイスの数および代替設定
【００５２】
これらの情報を受け取ることにより、ホストコンピュータ２は、例えば次のように、各ポート毎に、インターフェイス番号と当該インターフェイスにおいて使用されるエンドポイントの対応関係を把握することができる。
0003641169.tif 000002
【００５３】
次に、あるＴＥがホストコンピュータ２に接続されたとする。この場合における本実施形態の動作シーケンスを図６に示す。
【００５４】
この場合、ホストコンピュータ２に接続されたＴＥは、ホストコンピュータ２に対し、当該ＴＥがサポートしている機能を通知する（ステップＳ２０１）。次に、ＴＥは移動機１側のポートの１つ（例えばポートｋとする）を選択する。
【００５５】
次に、ホストコンピュータ２は、移動機１内のＥＰ０を相手としてコントロール転送を開始し、そのセットアップステージにおいて、Ｐｕｔ＿ＴＥ＿Ｃａｐａｂｉｌｉｔｙを送る（ステップＳ２０２）。このＰｕｔ＿ＴＥ＿Ｃａｐａｂｉｌｉｔｙは、ＴＥが使用する可能性のあるサービスを通知するコマンドであり、ＴＥが選択したポートｋに対応したインターフェイス番号の１つを含んでいる。次にホストコンピュータ２は、データステージにおいて、ＴＥが使用する可能性のあるサービスを示すデータを移動機１に送る（ステップＳ２０３）。
【００５６】
次に移動機１の制御部４は、ステータスステージにおいて、Ｐｕｔ＿ＴＥ＿Ｃａｐａｂｉｌｉｔｙおよびこれに続くデータの送信が成功した旨をホストコンピュータ２に通知する（ステップＳ２０４）。
次に、制御部４は、ステップＳ２０２において受け取ったコマンド内のインターフェイス番号からＴＥによって選択されたポートがｋであることを判断し、そのポートを利用して、ステップＳ２０３において通知を受けたサービスに対応した論理デバイスを使用することができるか否かを機能管理部８に問い合わせる。そして、当該サービスに対応した論理デバイスを使用することができる場合には、ポートｋに対応したインタフェースＩ０を用いた割り込み転送により、Ｒｅｑｕｅｓｔ  Ａｃｋｎｏｗｌｅｄｇｅをホストコンピュータ２に送る（ステップＳ２０５）。
【００５７】
次に、図７に示す動作シーケンス図を参照し、ＴＥが移動機１内の論理デバイスによるサービスを受けるに至るまでの本実施形態の動作を説明する。
まず、ＴＥは、所望のサービスをホストコンピュータ２に要求する（ステップＳ３０１）。ホストコンピュータ２は、この要求を受けると、移動機１内のＥＰ０宛てのコントロール転送を行う。このコントロール転送では、セットアップステージにおいてＳｅｌｅｃｔ＿Ｓｅｒｖｉｃｅが送られる（ステップＳ３０２）。このＳｅｌｅｃｔ＿Ｓｅｒｖｉｃｅは、ＴＥが使用しているポートｋに対応したインターフェイス番号のうちの１つを含んでいる。次いで、データステージでは、ステップＳ３０１において要求されたサービスに対応した移動機１内の論理デバイスを特定するデータが送られる（ステップＳ３０３）。
【００５８】
次に、移動機１の制御部４は、データステージにおいて、サービス要求の送信が成功した旨をホストコンピュータ２に通知する（ステップＳ３０４）。
次に、移動機１の制御部４は、ステップＳ３０２において受け取ったコマンド内のインターフェイス番号からＴＥが使用しているポートｋを判断し、ステップＳ３０３において通知を受けたサービスに対応した論理デバイスをそのポートｋにおいて使用することができるか否かを機能管理部８に問い合わせる。そして、当該サービスに対応した論理デバイスを使用することができる場合、制御部４は、当該ポートｋに対応したスイッチＳＷｋに指令を送り、当該論理デバイスを当該ポートｋに対応したインターフェイスブロック３−ｋに接続する（ステップＳ３０５）。
【００５９】
そして、制御部４は、ポートｋに対応したインターフェイスＩ０を用いた割り込み転送により、Ｒｅｑｕｅｓｔ  Ａｃｋｎｏｗｌｅｄｇｅをホストコンピュータ２に返す（ステップＳ３０６）。
【００６０】
次に、制御部４は、ポートｋに対応したインターフェイスＩ０を用いた割り込み転送において、サービスに使用する各インターフェイス毎に、その識別子と、当該インターフェイスのインターフェイス番号を含むＮｏｔｉｆｙ＿Ｉｎｔｅｒｆａｃｅ＿ｎｕｍｂｅｒをホストコンピュータ２に送る（ステップＳ３０７）。
【００６１】
次に、ホストコンピュータ２は、ポートｋを介してサービスの提供を受けるに当たり、各インターフェイスに対して代替設定を行う必要があるか否かを判断する。そして、必要である場合には、移動機１内のＥＰ０宛てのコントロール転送を開始し、そのセットアップステージにおいて、当該代替設定のためのＳｅｔ＿Ｉｎｔｅｒｆａｃｅを送る（ステップＳ３０８）。このＳｅｔ＿Ｉｎｔｅｒｆａｃｅは、代替設定を行うべきインターフェイスのインターフェイス番号と、データ転送のタイプ、転送可能なデータ量等を特定する代替設定値とを含んでいる。
【００６２】
移動機１の制御部４は、このＳｅｔ＿Ｉｎｔｅｒｆａｃｅを受け取ると、受信情報内のインターフェイス番号に対応したインターフェイスに対し、受信情報内の代替設定値に対応した代替設定を行う（ステップＳ３０８）。また、制御部４は、Ｓｅｔ＿Ｉｎｔｅｒｆａｃｅの送信が成功した旨をホストコンピュータ２に通知する（ステップＳ３０９）。これによりＴＥと、ステップＳ３０５においてポートｋに接続された移動機１内の論理デバイスとの間で、要求サービスに対応した通信が開始される（ステップＳ３１０）。
【００６３】
次に本実施形態の他の動作例について説明する。本実施形態においては、図８（ａ）〜（ｃ）に例示するような形態で論理デバイスを使用することもできる。まず、図８（ａ）に示すように、第１のＴＥがポート１を介して論理デバイス６−１と接続され、第１のＴＥは論理デバイス６−１の使用を開始する。次に図８（ｂ）に示すように、第２のＴＥがポート２を介して論理デバイス６−２（例えば音声通信デバイスとする）に接続され、第２のＴＥは論理デバイス６−２の使用を開始する。次に、第２のＴＥは、FAX通信への切替を行う必要が生じ、図８（ｃ）に示すように、ポート２の接続先を論理デバイス６−２から例えば論理デバイス６−３に変更する。
【００６４】
図９は、以上説明した動作例において、各ＴＥ、ホストコンピュータ２および移動機１間で取り交わされる通信の様子を示したシーケンスチャートである。
この図９において、ステップＳ３０１からステップＳ３１０までは図８（ａ）に示す状態となるまでのシーケンスであり、これについては既に図７を参照して説明した。
【００６５】
ステップＳ３１１〜Ｓ３１９は、図８（ｂ）に示す状態となるまでのシーケンスである。ここでは、ポート２を予め選択している第２のＴＥがホストコンピュータ２に音声通信を要求し、ホストコンピュータ２と移動機１との間でポート２に論理デバイス６−２（音声通信デバイス）を接続するための手続が進められる（ステップＳ３１２〜Ｓ３１９）。なお、これらの手続は、既に図７を参照して説明した通りである。
【００６６】
そして、ステップＳ３２１〜Ｓ３２９は、図８（ｃ）に示す状態となるまでのシーケンスである。音声通信からＦＡＸ通信への切換は、コントロール転送によりポート２の接続先を論理デバイス６−３に切り替え（ステップＳ３２２〜Ｓ３２５）、インターフェイスの代替設定をＦＡＸ通信に対応したものに変更（ステップＳ３２８）することにより行われる。
このように、ポート１に対して影響を与えることなく、ポート２の接続先を切り替えることができる。
【００６７】
［３］第３の実施形態
図１０はこの発明の第３の実施形態である通信システムの構成を示すブロック図である。この図において上述した図５の各部と対応する部分には同一の符号が付されている。本実施形態では、全てのポートについて、インターフェイスＩ０にコントロール転送用のＥＰ０が設けられている。このため、ホストコンピュータ２は、セットアップの際に、各ポートに対してＥＰ０を介してコントロール転送を行う。そして、ホストコンピュータ２は、各ポート毎に独立したデバイスであると判断し、移動機１の各ポート毎にアドレスを付与する。つまり、本実施形態では、各ポート毎に、第１実施形態と同様の動作が可能となる。このため、ホストコンピュータ２は、移動機１内に設けられた論理デバイス６−１〜６−ｍに対しポート数（１〜ｎ）分、同時にアクセスすることが可能となり、ＴＥからの要求サービスに対応する通信が可能となる。そして、移動機１は、ホストコンピュータ２側からのサービス要求に対して同時に論理デバイスを動作させることが可能となる。
【００６８】
【発明の効果】
以上説明したように、本発明によれば、少ない小規模なインターフェイスにより、ＵＳＢを介して複数の機能を提供することができる。また、複数の機能を同時に使用することも可能となる。
【図面の簡単な説明】
【図１】  この発明の第１の実施形態に係る通信システムの構成を示すブロック図である。
【図２】  同実施形態におけるＵＳＢ送受信部３を構成を示すブロック図である。
【図３】  同実施形態の動作を示すシーケンス図である。
【図４】  同実施形態の動作を示すシーケンス図である。
【図５】  この発明の第２の実施形態に係る通信システムの構成を示すブロック図である。
【図６】  同実施形態の動作を示すシーケンス図である。
【図７】  同実施形態の動作を示すシーケンス図である。
【図８】  同実施形態の他の動作例を示す図である。
【図９】  他の動作例に対応したシーケンス図である。
【図１０】  この発明の第３の実施形態に係る通信システムの構成を示すブロック図である。
【符号の説明】
１……移動機、２……ホストコンピュータ、３……ＵＳＢ送受信部、
４……制御部、５……デバイス切替部、６……デバイス部。
【図１】
0003641169.tif 000003
【図２】
0003641169.tif 000004
【図３】
0003641169.tif 000005
【図４】
0003641169.tif 000006
【図５】
0003641169.tif 000007
【図６】
0003641169.tif 000008
【図７】
0003641169.tif 000009
【図８】
0003641169.tif 000010
【図９】
0003641169.tif 000011
【図１０】
0003641169.tif 000012