(57)【要約】【課題】ＰＣを使用せずに、１つの装置に複数の装置を直列接続することのできる、データ管理システムおよび方法を提供する。【解決手段】データ管理システムおよび方法は、プロセッサ３３０に結合された複数のデータ・ポートを備える。プロセッサ３３０は、交互に、これらの複数のデータ・ポートのそれぞれを通じてコントローラ・モジュール３４０の有無をテストするようにプログラムされている。一実施形態において、データ管理方法は、プロセッサ３３０を用いて、第１のデータ・ポートを通じてコントローラ・モジュール３４０の有無をテストするステップと、第１のデータ・ポートを通じて、コントローラ・モジュール３４０が見つけられない場合には、第２のデータ・ポートを通じて、コントローラ・モジュール３４０の有無をテストするステップと、を含む。【選択図】図３
2005073273.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサと、
第１のデータ・ポートおよび第２のデータ・ポートと、
を備え、
前記プロセッサが、前記第１のデータ・ポートを通じて、第１のコントローラ・ハンドシェーク信号を送り、かつ、該第１のコントローラ・ハンドシェーク信号の伝送に関連して、前記第２のデータ・ポートにおけるデータ通過を阻止するようにプログラムされている、データ管理システム。
【請求項２】
前記第１のコントローラ・ハンドシェーク信号によるコントローラとの通信が生じない場合には、前記プロセッサが、コントローラとの通信を確立するために、前記第２のデータ・ポートを通じて、第２のコントローラ・ハンドシェーク信号を送り、かつ、該第２のコントローラ・ハンドシェーク信号の伝送に関連して、前記第１のデータ・ポートにおけるデータ通過を阻止するようにプログラムされている、請求項１に記載のシステム。
【請求項３】
前記第１のデータ・ポートと前記第２のデータ・ポートとを含むデータ・ハブをさらに備えている、請求項２に記載のシステム。
【請求項４】
前記データ・ハブが、前記第１のデータ・ポートおよび前記第２のデータ・ポートにおけるデータ通過を交互に阻止するように接続可能な少なくとも１つのスイッチを備えている、請求項３に記載のシステム。
【請求項５】
前記プロセッサと、前記第１、第２のデータ・ポートとが、アプリケーション・モジュール内に収容されている、請求項２に記載のシステム。
【請求項６】
前記第１のデータ・ポートを通じて、前記プロセッサと通信するコントローラ・モジュールをさらに備えている、請求項１に記載のシステム。
【請求項７】
前記第２のデータ・ポートを通じて、前記プロセッサと通信する第２のアプリケーション・モジュールをさらに備えている、請求項６に記載のシステム。
【請求項８】
第１のデータ・ポートにおけるコントローラの有無をテストするために、該第１のデータ・ポートを通じて、プロセッサから第１のハンドシェーク信号を送るステップと、
前記第１のハンドシェーク信号の伝送に関連して、第２のデータ・ポートにおけるデータ通過を阻止するステップと、
を含む、データ・フローの調整方法。
【請求項９】
前記第１のハンドシェーク信号による、前記第１のデータ・ポートにおけるコントローラとの通信が生じない場合には、前記第２のデータ・ポートにおけるコントローラの有無をテストするために、該第２のデータ・ポートを通じて、第２のハンドシェーク信号を送るステップと、
前記第２のハンドシェーク信号の伝送に関連して、前記第１のデータ・ポートにおけるデータ通過を阻止するステップと、
をさらに含む、請求項８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、データ管理に関し、特に、マルチポート・プロセッサを用いるデータ管理に関する。
【背景技術】
【０００２】
デジタル方式の音楽、音声、画像、ムービー、または他の符号化されたデータを取り込み、生成し、記憶させ、処理し、あるいは、転送する電子装置は、より安価な半導体処理および拡大した消費者需要の出現とともに、さらに普及するようになった。ポータブルＭＰ３（Moving Picture Experts Group layer 3 規格）プレーヤ、ＰＤＡ（電子式携帯情報端末）、デジタルカメラ、デジタル・ボイスレコーダなどの用途が、引き続き人気を博している。これらの電子用途のそれぞれに対する一般的な傾向は、縮小したフォーム・ファクタとともに、向上した機能およびインターオペラビリティ（相互運用性）を提供することである。
【０００３】
電子装置間のインターオペラビリティを定めた或る規格は、Ｏｎ−Ｔｈｅ−Ｇｏ  Ｒｅｖ  １．０補遺（ＯＴＧ）〜ＵＳＢ（ユニバーサルシリアルバス）２．０規格を含む。ＯＴＧ規格により、ＭＰ３プレーヤは、別のＭＰ３プレーヤに接続して音楽ファイルを転送できるか、カメラは、プリンタに接続して写真を印刷できるか、あるいは、ＰＤＡは、携帯電話に接続して、モバイルウェブサーフィンを可能にすることができる。たとえば、Ｂｅｔｈａｎｅｅ  Ｍａｒｔｉｎ著、「ＵＳＢ  Ｏｎ−Ｔｈｅ−Ｇｏ  Ｓｐｅｃ  Ｓｉｇｎａｌｓ  Ｄｅｖｅｌｏｐｅｒｓ  Ｔｏ  Ｐｒｏｃｅｅｄ  Ｗｉｔｈ  ａ  Ｎｅｗ  Ｇｅｎｅｒａｔｉｏｎ  ｏｆ  Ｍｏｂｉｌｅ  ｐｒｏｄｕｃｔｓ  Ｃａｐａｂｌｅ  ｏｆ  Ｐｏｉｎｔ−ｔｏ−Ｐｏｉｎｔ  Ｄａｔａ  Ｅｘｃｈａｎｇｅ」、２００１年１２月１８日、ｗｗｗ．ｕｓｂ．ｏｒｇ／ｄａｔａ／ｐｒｅｓｓ／ｐｒｅｓｓｒｏｏｍ／２００１−１２−１８−ｕｓｂ．ｐｄｆを参照のこと。ＯＴＧ対応の或る装置（「Ａ装置」）が、別の装置（「Ｂ装置」）に取り付けられるときに、Ｂ装置内のプルアップ抵抗が、それらの接続部中の一本のラインを、所定の電圧値だけ上げる。Ａ装置は、その電圧変化を感知し、初期化信号を送ることで応答する。Ｂ装置は、バス帯域幅、アクセス周波数、待ち時間、およびエラーハンドリング振る舞い要件（error handling behavior requirements）で応答する。Ａ装置は、Ｂ装置に、データ・アドレス指定用の一意の識別番号を割り当てる。たとえば、Ｍｉｃｈａｅｌ  Ｇｏｗａｎ著、「Ｈｏｗ  ｉｔ  Ｗｏｒｋｓ：  ＵＳＢ」、１９９９年１２月３０日、ＰＣＷｏｒｌｄ．ｃｏｍ、全３ページのページ１を参照のこと。その後の通信では、データは、６４バイト部分に分けられ、しかも、それぞれの６４バイト部分は、アドレス指定情報とデータ自体とを両方とも含む。ＯＴＧケーブリングは、ミニＡ側とミニＢ側を有する非対称のものである。装置は、ミニＡプラグとミニＢプラグを両方とも受け入れるミニＡＢレセプタクルを１つだけ持っている。たとえば、「ＵＳＢ  Ｏｎ−ｔｈｅ−Ｇｏ：  Ａ  Ｔｕｔｏｒｉａｌ」、Ｐｈｉｌｉｐｓ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒｓ、２００２年１月、Ｋｏｎｉｎｋｌｉｊｋｅ  Ｐｈｉｌｉｐｓ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｎ．Ｖ．、２００２年、ページ３〜８を参照のこと。ＯＴＧ対応のホストには、一度に、ただ１つの周辺機器しか接続することができず、したがって、その使用が限定されている。
【０００４】
ＵＳＢコントローラ機能を含む電子装置の一例として、ＭＰ３プレーヤ用のＳＴＭＰ３３００オーディオ・デコーダがある。この装置上のＵＳＢポートは、Ｓｉｇｍａｔｅｌ，Ｉｎｃ．で提供されるものであって、ＭＰ３およびＷＭＡ（Ｗｉｎｄｏｗｓ（登録商標）メディア・オーディオ）ファイルのダウンロードを可能にする。たとえば、Ｗｉｌｌｉａｍ  Ｗｏｎｇ著、「１−Ｃｈｉｐ  ＭＰ３  Ｐｌａｙｅｒ  Ｉｎｃｌｕｄｅｓ  Ａ  ＵＳＢ  Ｃｏｎｔｒｏｌｌｅｒ」、Ｅｌｅｃｔｒｏｎｉｃ  Ｄｅｓｉｇｎ、２００１年６月４日、第４９巻、第１２号、ページ３７を参照のこと。あいにく、ＵＳＢポートは、ＵＳＢ接続を可能にするように、ＵＳＢホストＰＣ（パーソナル・コンピュータ）に求めている。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
現行規格では、いずれかの端部において、かつＰＣを使用しないで、Ａ装置に複数のＢ装置を直列接続することができないから、改良されたデータ管理システムおよび方法が特に重要である。
【課題を解決するための手段】
【０００６】
データ管理システムおよび方法は、プロセッサに結合された複数のデータ・ポートを持っている。このプロセッサは、交互に、これらの複数のデータ・ポートのそれぞれを通じてコントローラの有無をテストするようにプログラムされる。
【０００７】
一実施形態では、この方法は、プロセッサを用いて、第１のポートを通じてコントローラの有無をテストし、また、上記第１のポートを通じて、上記コントローラが見つけられない場合には、第２のポートを通じて、上記コントローラの有無をテストするものとして、記述される。
【発明を実施するための最良の形態】
【０００８】
好ましい実施形態の例示的な一実施形態は、着脱自在に接続できるコントローラ・モジュール、メモリ・モジュール、およびアプリケーション・モジュールを有する、ポータブル・モジュラ・システムを備えている。このシステムの一変形例では、コントローラ・モジュールは、直列に接続された、いくつかの異なるアプリケーション・モジュールに接続できるが、その場合、それぞれのアプリケーション・モジュールは、他のモジュールに接続するために、一対の対向するデータ・ポートを含んでいる。一実施形態では、それぞれのアプリケーション・モジュールの向きは、逆にすることができ、したがって、システム動作に影響を及ぼすことなく、所与のデータ・ポートを、コントローラ・モジュールの方へ、または、コントローラ・モジュールから遠ざかる方向に向けることができる。このシステムは、「ポータブル・モジュラ電子システム」と称する２００２年１１月２７日出願された米国特許出願第１０／３０７，０３４号の主題発明である。
【０００９】
本明細書に述べられるデータ管理システムは、一実施形態において、様々のアプリケーションとコントローラとの間のデータ・フローを調整する。データ・アドレス指定プロトコルは、このシステムを通じて、パケット・データのルーティング（経路指定）を可能にするように規定される。このプロトコルは、アドレス指定部分中のパケット・データに付加することができる。このプロトコルはまた、そのパケット・データの前に付けて、これらのアプリケーションとコントローラとの間のルーティングを可能にすることもできる。このシステムは、プロセッサに結合された複数のデータ・ポートを含む。プロセッサは、コントローラからアプリケーションＩＤを受け取るために、交互に、複数のデータ・ポートのそれぞれを通じて、コントローラの有無をテストするようにプログラムされている。さらに、このシステムにより、他のアプリケーション・モジュールを、コントローラ・モジュールと、第１のアプリケーション・モジュール中のプロセッサとに直列に接続することができる。
【００１０】
図１は、本発明の一実施形態について、アプリケーション・モジュール中のプロセッサが、コントローラ・モジュールからアプリケーションＩＤをいかにして受け取るのかを示す流れ図である。パケットデータ・システムでは、アプリケーションＩＤは、データ・パケットのアドレス指定部分に入っていて、このシステム内のプロセッサの電子アドレスを表わす。アプリケーションＩＤを受け取ることにより、このプロセッサは、後で、データを要求し、取り込むことができる。アプリケーション・モジュールは、少なくとも２つのデータ・ポートを含み、それらのデータ・ポートのいずれかを、アプリケーション・モジュールとコントローラ・モジュールとの相対的な向きに応じて、コントローラ・モジュールに接続することができる。アプリケーション・モジュールの電源を入れて（ブロック１００）、コントローラ・モジュールがハブの第１のデータ・ポートに接続されているかどうかを判定するために、そのデータ・ポートを通じて、プロセッサがコントローラ・ハンドシェーク信号を送る（ブロック１０５）。コントローラ・ハンドシェーク信号の伝送を妨げないようにするために、このハブ中の第２のデータ・ポートから入ってくるデータを阻止する（ブロック１１０）。コントローラ・ハンドシェーク信号を送るためのプロトコルは、コントローラ・モジュールが第１のデータ・ポートに接続されている場合に、肯定応答（確認応答）でコントローラ・モジュールがコントローラ・ハンドシェーク信号に応答できるようにする情報を含む。例えば、コントローラ・ハンドシェーク信号は、コントローラ・モジュールからのデータ伝送を阻止して、コントローラ・ハンドシェーク信号が受け取られたという肯定応答を送るための要求を含むことができる。あるいは、コントローラ・ハンドシェーク信号は、プロトコル・バージョン番号、アプリケーション・モジュールのタイプ、あるいは、肯定応答でコントローラ・モジュールが応答できるようにする認証証明書等の、他の識別情報を含むことができる。
【００１１】
所定の期間内に、肯定応答がプロセッサに送られた場合には（ブロック１１５）、プロセッサは、アプリケーションＩＤ要求をコントローラ・モジュールに送る（ブロック１２０）。コントローラ・モジュールは、アプリケーションＩＤをプロセッサに送ることにより、応答する（ブロック１２５）。アプリケーションＩＤは、後に読み出して使用するために、内部メモリに記憶される。コントローラ・モジュールもまたＩＤを有し、そのＩＤは、肯定応答とともに、アプリケーションＩＤとともに、あるいは、後に、コントローラ・ハンドシェークのプロセスを繰り返す必要なく、その後のデータ要求のルーティングを可能にするために、アプリケーション・モジュールに送られる。次に、第１のデータ・ポートおよび第２のデータ・ポートからのデータの通過を再開して（ブロック１３０）、ハンドシェーク・プロセスを完了する。コントローラは、アプリケーション・モジュールに伝送される後続データ上にアプリケーションＩＤを付加して、適正なデータ・ルーティングを可能にする。
【００１２】
最初に第１のデータ・ポートを通じてコントローラ・ハンドシェーク信号を送っても肯定応答が生ぜず（ブロック１０５、ブロック１１５）、第１のデータ・ポートにはコントローラ・モジュールがまったく接続されてないことが示された場合には、アプリケーション・モジュールは、第２のデータ・ポートを通じてコントローラ・ハンドシェーク信号を送る（ブロック１３５）ことで、第２のデータ・ポートにコントローラ・モジュールがあるかどうかを尋ねる。妨害をなくするために、第１のデータ・ポートを通るデータ通過を阻止する（ブロック１４０）。肯定応答が戻されて（ブロック１４５）、第２のデータ・ポートにコントローラ・モジュールがあることが示された場合には、プロセッサは、ＩＤ要求を送ってプロセッサＩＤを取り込み、双方のデータ・ポートからのデータ通過を再開する（ブロック１２０、ブロック１２５、ブロック１３０）。図３の説明は、２つのデータ・ポートしか含まないとはいえ、そのプロセスは、３つ以上のデータ・ポートに拡張することができる。３つ以上のデータ・ポートが設けられる場合には、それぞれのデータ・ポートを順番にテストして、コントローラ・モジュールが、該当するデータ・ポートに接続されているかどうかを判定することになる。プロセッサは、テストされていないそれぞれのデータ・ポートを通るデータ通過を阻止することになる。
【００１３】
図２は、図１において得られたプロセッサＩＤを用いて、アプリケーション・モジュールによりデータを読み出し、取り込むための可能な方式を示す流れ図である。このアプリケーション・モジュール中のプロセッサは、ハブを通じて、データ要求をコントローラ・モジュールに送る（ブロック２００）。コントローラ・モジュールは、このデータ要求をメモリに送り（ブロック２１０）、読み出されたデータを、プロセッサＩＤとともにアプリケーション・モジュールに送る（ブロック２１５）。アプリケーション・モジュールは、入ってくるデータを所定の経路でプロセッサに送るために、その入ってくるデータがこのプロセッサＩＤを持っているかを監視する（ブロック２２０）。その読み出されたデータは取り込まれ、処理のためにプロセッサに提供される（ブロック２２５）。プロセッサにより、さらに多くのデータが必要とされる場合には、ルーティング用に、そのターゲット装置のＩＤを用いて、新たなデータ要求を送る（ブロック２３０）。
【００１４】
図３は、アプリケーション・モジュール３００の実施例を示している。アプリケーション・モジュール３００はデータ・バス３１０を含み、このデータ・バス３１０は、ユーザ・インターフェース３２０、内部メモリ３２５、内蔵コントローラを有するプロセッサ３３０、およびハブ３３５と通信する。ハブ３３５は、このハブ３３５中の第１および第２のポートを通じて、それぞれコントローラ・モジュール３４０および第２のアプリケーション・モジュール３４５と通信することができる。コントローラ・モジュール３４０は、データの記憶およびアクセスのために、冗長メモリＡおよびＢに接続されている。
【００１５】
プロセッサ３３０は、ＭＰ３プレーヤ、ＰＤＡ、デジタルカメラ、またはデジタル・ボイスレコーダなどの用途を満たす。プロセッサ３３０は、ユーザ入力を受け入れて、ステータス情報を、ユーザ・インターフェース３２０を通じて、ユーザに提供する。プロセッサ３３０は、１つのデータ・ポートを通じてコントローラ・ハンドシェーク信号を送り、かつ、第２のデータ・ポートにおけるデータ通過を阻止し、次に、第１のデータ・ポートに、いかなるコントローラ・モジュールも設置されていなければ、第２のデータ・ポートを通じてコントローラ・ハンドシェーク信号を送り、かつ、第１のデータ・ポートにおけるデータ通過を阻止して、コントローラ・モジュール３４０との初期通信を確立するようにプログラムされている。このような初期通信のためのハブ切替えは、プロセッサで制御される。コントローラ・モジュール３４０は、コントローラ・ハンドシェーク信号の受取りに応答して、アプリケーション・モジュールＩＤをプロセッサ３３０に戻すようにプログラムされている。上述のように、アプリケーション・モジュールの内部メモリ３２５は、ハブおよびプロセッサで用いられるアプリケーション・モジュールＩＤを記憶している。内部メモリ３２５はまた、プロセッサ３３０によって使用するための、メモリＡおよびメモリＢから読み出されたデータの効率的なバッファリングを可能にする。
【００１６】
ハブ３３５は、スイッチング・ハブであるか、あるいは、データ・パケットのアドレス指定部分に入っているＩＤに基づいて、適切なデータ・ポートまたはプロセッサ３３０へデータを転送する少なくとも１つのスイッチを有するルータであってよい（図１を参照のこと）。例えば、第１のデータ・ポートから入るデータと、アプリケーションＩＤとが一致しない場合には、プロセッサは、そのデータが引き続き第２のデータ・ポートを通るように、ハブを切り替えるようプログラムされている。データが、コントローラ・モジュール３４０と通信するデータ・ポートからやってきた場合には、そのデータは、反対側のデータ・ポート（付属している場合）にある第２のアプリケーション・モジュールに伝えられることになる。プロセッサ３３０用に、メモリＡまたはメモリＢから読み出されたデータは、アプリケーションＩＤを用いてアドレス指定され、また、ハブ３３５により、プロセッサ３３０へ切り替えられることになる。
【００１７】
内部メモリ３２５は、ただ１つのチップ上に、プロセッサ３３０と一体化されてもよい。データ・バス３１０は、プロセッサ３３０、ユーザ・インターフェース３２０、および内部メモリ３２５との間の導電路として図示されている。光バスなどの他の信号移送機構もまた使用することができる。コントローラ・モジュール３４０、メモリＡおよびメモリＢ、およびアプリケーション・モジュール３００との間のデータ経路には、ＢｌｕｅｔｏｏｔｈTMまたは他の無線技術を利用する無線機構もまた、設けることができる。
【００１８】
本発明は、図４に示されるようなポータブルで、ハンドヘルドで、モジュラ方式の民生電子製品など、多数の実施形態がある。このようなモジュラ・システムにより、消費者が所望するアプリケーション・モジュールのどれとでも、図３に示されるようなコントローラ・モジュールと複数のメモリとを、消費者が一緒にパッケージ化することができる。図４では、コントローラ・モジュール３４０は、アプリケーション・モジュール３００中の電気コネクタ４００と、コントローラ・モジュール３４０中の相補形の向かい合ったコネクタ（図示されてない）、および機械式接合具４１０を通じて、電気的にも機械的にもアプリケーション・モジュール３００と接続するように揃えられた状態で示されている。コントローラ・モジュール３４０は、アプリケーション・モジュール３００からメモリＡおよびメモリＢに送られるファイルを管理する。図３に示されるように、今度は、アプリケーション・モジュール３００を、追加の電気コネクタ４００および機械式接合具４１０を通じて、第２のアプリケーション・モジュール３４５に接続することができる。このような場合、コントローラ・モジュール３４０は、図１〜図３に関連して述べられたデータ・アドレス指定方式を用いて、これらの異なるアプリケーション・モジュールからのデータを区別することができる。
【００１９】
メモリＡおよびメモリＢは、コントローラ・モジュール３４０中の一対の電気コネクタ４００と、これらのメモリ中の相補形の一対の電気コネクタ（図示されてない）（それぞれのメモリに対して１つ）を通じて、コントローラ・モジュールと電気的に接続するように揃えられた状態で示されている。それぞれのメモリは、不良になれば、個々に取り替えることができ、新品のメモリを、コントローラ・モジュール３４０に対して、同じ向き、あるいは、１８０°回転した向きに取り付けることができる。
【００２０】
本発明の様々な実施形態を述べてきたが、本発明の範囲内で、さらに多くの実施形態および実施例が可能であることが、通常の当業者には明らかになろう。例えば、アプリケーション・モジュールは、他のモジュールに接続されるデータ・ポートを３つ以上持ってよい。その場合、プロセッサは、コントローラが見つかるまで、次々に、それぞれのデータ・ポートを通じて、コントローラ・ハンドシェーク信号を送るようにプログラムされる。よって、本発明は、併記の特許請求の範囲に関してのみ、限定されるつもりである。
【００２１】
これらの図中の構成要素は、必ずしも定尺ではなく、その代わり、本発明の原理を図解することに重点が置かれている。さらに、これらの図において、同じ参照番号は、異なる図面全体にわたって、対応する部分を表わしている。
【図面の簡単な説明】
【００２２】
【図１】２つのデータ・ポートを通じてハンドシェーク信号を送って、プロセッサ用に、アプリケーション識別名（「ＩＤ」）を確立することを示す一実施形態の流れ図である。
【図２】図１において確立されたアプリケーションＩＤを用いた、コントローラ・モジュールからアプリケーション・モジュールへのデータ・フローを示す一実施形態の流れ図である。
【図３】アプリケーションＩＤを確立して、そのアプリケーションＩＤを持つデータを取り込むのに用いられるアプリケーション・モジュールを示す一実施形態の流れ図である。
【図４】本発明が適用できるモジュール方式のアプリケーション・モジュールを有するポータブル電子装置を示す分解斜視図である。
【符号の説明】
【００２３】
３００：アプリケーション・モジュール
３３０：プロセッサ
３３５：データ・ハブ
３４０：コントローラ・モジュール
３４５：第２のアプリケーション・モジュール
【図１】
2005073273.tif 000003
【図２】
2005073273.tif 000004
【図３】
2005073273.tif 000005
【図４】
2005073273.tif 000006