(57)【要約】  ホストコンピュータと情報を交換するための通信プロトコルを自動的に選択する取り外し可能な記憶装置は、物理レイヤインタフェース、プロトコル障害検出モジュール、接続および切断エミュレータ、挿入および削除検出器、および内部制御論理を含む。内部制御論理は、対象のホストコンピュータへの装置の接続の検出、および対象のホストコンピュータとの通信の最初のプロトコルの試行を調整する。論理はまた、プロトコル障害検出器が、最初のプロトコルが失敗したことを表示すると、論理的に対象のホストコンピュータを切断し、および再接続した後、対象のホストコンピュータとの通信のための二番目のプロトコルを試みる。成功の場合、装置は、成功インジケータをセットして、どのプロトコルが、対象のホストコンピュータとの通信に最終的に成功したかを記録する。装置がホストコンピュータに再接続されると、成功インジケータを次に使用して、どのプロトコルを最初に試すかを表示する。
2009528616.tif 000002
【特許請求の範囲】
【請求項１】
接続された装置によってデータ転送プロトコルを選択する方法であって、
ホストコンピュータへの装置の物理的接続を検出することであって、前記装置は、少なくとも二つのデータ転送プロトコルを使用することが可能であること、
前記装置による一番目のデータ転送プロトコルの使用を試みることであって、前記一番目のデータ転送プロトコルは、最初の試行プロトコルを備えていること、
前記一番目のデータ転送プロトコルが、前記ホストコンピュータとの通信の開始を失敗すると、論理的に前記装置を切断することに続き、論理的に前記装置を再接続すること、
前記装置によって二番目のデータ転送プロトコルの使用を試みることであって、前記二番目のデータ転送プロトコルは、前記ホストコンピュータとの通信の開始において成功プロトコルであること、および
前記成功プロトコルのインジケータを格納することであって、前記インジケータを、ホストコンピュータへの前記装置の次の物理的接続上で使用して、最初の試行プロトコルを選択すること
を備えたことを特徴とする方法。
【請求項２】
前記成功プロトコルのインジケータを格納することは、成功フラグをセットすることであって、前記成功フラグは、ホストコンピュータとの通信を開始するために使用された最終の成功プロトコルを表示することを特徴とする請求項１に記載の方法。
【請求項３】
前記成功フラグは、ＵＳＢＭＳＣ（mass storage class）プロトコルまたはＵＳＢＭＴＰ（media transfer protocol）のどちらかを表示することを特徴とする請求項２に記載の方法。
【請求項４】
前記装置がＭＳＣプロトコルを使用して動作されると、メモリへの書き込みが実行されたかどうかを判定するインデックスフラグをテストすることをさらに備えたことを特徴とする請求項３に記載の方法。
【請求項５】
前記インデックスフラグと関連したメモリの領域のインデックスをアップデートすることであって、前記インデックスは、前記装置が、ＭＴＰプロトコルを使用して、ホストコンピュータにうまく接続された場合に有効であることをさらに備えたことを特徴とする請求項４に記載の方法。
【請求項６】
前記ホストコンピュータからの前記装置の物理的切断を感知すること、
ホストコンピュータへの前記装置の次の物理的接続を検出すること、
あらかじめ決められたカウントを超えてない場合、前記インジケータによって識別された前記成功プロトコルの使用を試みること、および
前記あらかじめ決められたカウントを超えている場合、ホストコンピュータとの通信を確立するために、前記インジケータによって識別された前記成功プロトコル以外の代替プロトコルの使用を試みること、
をさらに備えたことを特徴とする請求項１に記載の方法。
【請求項７】
前記代替プロトコルは、優先プロトコルであって、前記方法は、
前記優先プロトコルをうまく使用して、ホストコンピュータとのコンタクトを開始する場合、前記優先プロトコルを表示するために前記成功プロトコルの前記インジケータをアップデートすることをさらに備えたことを特徴とする請求項６に記載の方法。
【請求項８】
前記優先プロトコルは、前記ＭＴＰプロトコルであることを特徴とする請求項７に記載の方法。
【請求項９】
前記カウントは、前記装置によって引き起こされた、任意のホストコンピュータへの物理的接続の回数の表示であることを特徴とする請求項６に記載の方法。
【請求項１０】
少なくとも二つのプロトコルの一つを自動的に選択する媒体記憶装置であって、
任意の互換性のあるホストコンピュータへの接続のための物理的インタフェースと、
任意の互換性のあるホストコンピュータとの前記装置の接続および削除を検出するための挿入および削除検出器と、
接続されたホストコンピュータとの通信を開始するために使用されているプロトコルが失敗したかどうかを判定するプロトコル障害検出器と、
前記接続されたホストコンピュータとの通信を行いおよび遮断することを論理的にシミュレートするための接続および切断エミュレータと、
任意の互換性のあるホストコンピュータとの通信の確立において、どのプロトコルが最終的に成功したかを表している成功インジケータと、
（1） 対象のホストコンピュータへの前記装置の接続を検出すること、（2） 前記対象のホストコンピュータとの通信のための最初のプロトコルを試みること、（3） 前記最初のプロトコルが、前記対象のホストコンピュータとの通信の開始を失敗したことを、前記プロトコル障害検出器が表示する場合、前記対象のホストコンピュータを、論理的に切断および再接続すること、（4） 前記対象のホストコンピュータとの通信のための二番目のプロトコルを試みること、（5） どのプロトコルが、前記対象のホストコンピュータとの通信に成功したかを記録するために、成功インジケータをセットすることであって、前記成功インジケータは、データプロトコルを選択するために、前記装置の次の物理的接続上で使用されることを統合する内部制御論理と
を備えたことを特徴とする媒体記憶装置。
【請求項１１】
前記装置上でデジタル媒体を格納するためのデータベース、および
各インデックスフラグが、前記データベースの記憶領域のそれぞれの多重度と関連し、セットされた場合、前記関連した記憶領域に格納されたデジタル媒体のインデックスは、まだアップデートされていないことを表示している複数のインデックスフラグ
をさらに備えたことを特徴とする請求項１０に記載の媒体記憶装置。
【請求項１２】
前記少なくとも二つのプロトコルは、ＵＳＢＭＳＤ（mass storage device）プロトコルおよびＵＳＢＭＴＰ（media transfer protocol）を備えたことを特徴とする請求項１１に記載の媒体記憶装置。
【請求項１３】
前記装置が、前記ＭＴＰ（media transfer protocol）および前記データベースへのデジタルコンテンツの書き込みが行われたＭＳＣ（mass storage class）プロトコルが使用された以前の接続を使用して接続されると、前記格納されたデジタル媒体のインデックスは、アップデートされることを特徴とする請求項１２に記載の媒体記憶装置。
【請求項１４】
前記データベースの記憶領域と関連した書き込み検出器であって、前記書き込み検出器は、前記データベースの前記記憶領域への書き込みを検出し、および関連したインデックスフラグをセットすることをさらに備えたことを特徴とする請求項１０に記載の媒体記憶装置。
【請求項１５】
前記物理的インタフェースは、ＵＳＢインタフェース、ファイヤーワイヤ・インタフェース、ワイファイ・インタフェース、イーサネット（登録商標）・インタフェース、およびソネット・インタフェースの一つを備えたことを特徴とする請求項１０に記載の媒体記憶装置。
【請求項１６】
任意のホストコンピュータへの物理的接続が行われる回数をカウントする接続カウンタであって、前記カウントが、あらかじめ決められた値を越えた場合、前記装置に、前記媒体転送プロトコルの使用を試みるように強いるために使用される接続カウンタをさらに備えたことを特徴とする請求項１０に記載の媒体記憶装置。
【請求項１７】
任意のホストコンピュータに行われる物理的接続の間の時間をカウントするクロックカウンタであって、前記カウントが、あらかじめ決められた値を越えた場合、前記装置に、前記媒体転送プロトコルの使用を試みるように強いるために使用されるクロックカウンタをさらに備えたことを特徴とする請求項１０に記載の媒体記憶装置。
【請求項１８】
データベースを含んでいる媒体記憶装置のコントローラに対する命令を有しているコンピュータ読み取り可能媒体であって、前記媒体記憶装置は、プロトコルを選択する方法を実行し、前記方法は、
ホストコンピュータへの前記装置の物理的接続を検出することであって、前記装置は、少なくとも二つのデータ転送プロトコルを使用でき、前記プロトコルは、ＭＳＣ（mass storage class）プロトコルおよびＭＴＰ（media transport protocol）を備えていること、
前記装置によって一番目のデータ転送プロトコルの使用を試みることであって、前記一番目のデータ転送プロトコルは、最初の試行プロトコルを備えていること、
前記一番目のデータ転送プロトコルが、前記ホストコンピュータとの通信の開始を失敗すると、論理的に前記装置を切断することに続き、論理的に前記装置を再接続すること、
前記装置によって二番目のデータ転送プロトコルの使用を試みることであって、前記二番目のデータ転送プロトコルは、前記ホストコンピュータとの通信の開始における成功プロトコルであること、および
成功フラグをセットして、前記成功プロトコルのインジケータにすることであって、前記成功フラグを、ホストコンピュータへの前記装置の次の物理的接続上で使用して、最初の試行プロトコルを選択すること
を備えたことを特徴とするコンピュータ読み取り可能媒体。
【請求項１９】
前記装置が、ＭＳＣプロトコルを使用して動作されると、メモリへの書き込みが実行されたかどうかを判定するためのインデックスフラグをテストすること、および、もし真であれば、ＭＴＰプロトコルを使用して作動している間、前記データベース上で、デジタル媒体のインデックスをアップデートすること
をさらに備えた方法であることを特徴とする請求項１８に記載のコンピュータ読み取り可能媒体。
【請求項２０】
前記ホストコンピュータからの前記装置の物理的切断を感知すること、
ホストコンピュータへの前記装置の次の物理的接続を検出すること、
あらかじめ決められたカウントを超えなかった場合、前記成功フラグによって識別された前記成功プロトコルの使用を試みること、および
あらかじめ決められたカウントを超えた場合、ホストコンピュータとの通信を確立するために前記ＭＴＰプロトコルの使用を試みること
をさらに備えた方法であることを特徴とする請求項１８に記載のコンピュータ読み取り可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチプロトコルの取り外し可能な記憶装置に関する。
【背景技術】
【０００２】
ＵＳＢ（Universal Serial Bus）ＭＳＣ（Mass Storage Class）は、ＵＳＢインプリメンターズ・フォーラムによって定義された一連のコンピュータ通信プロトコルである。その標準により、インタフェースを、さまざまな記憶装置に提供する。ホストコンピュータへの接続およびこれらの標準を含む典型的な記憶装置は、外部の磁気ディスクドライブと、ＣＤおよびＤＶＤの読み取り・書き込みドライブを含んだ外部の光学式ドライブと、ＵＳＢフラッシュメモリ装置を含んだ携帯用フラッシュメモリ装置と、標準フラッシュメモリカードとＵＳＢ接続をつなぐアダプタと、デジタルカメラと、ＭＰ３プレイヤー等のデジタルオーディオプレイヤーと、音楽、ビデオ、および画像用の高性能デジタルメディアプレイヤーとを含む。
【０００３】
ＵＳＢマス・ストレージ・クラス自体は、それを使用する装置上でどのファイルシステムを使用すべきかを特定せず、代わりに、主に任意のハードディスク装置上でセクタの読み取り方法を提供する。オペレーティングシステムは、ＦＡＴ（File Allocation Table）ファイルシステム等の、それらに利用できる任意のファイルシステムを用いて、この記憶領域を自由にフォーマットできる。ＭＳＣを使用しての一つのマイナス面は、ＵＳＢを取り付けられる装置が、ＵＳＢインタフェースを通じて実際の機能的挙動を容易に提示するのを妨げることである。
【０００４】
ＭＴＰ（Media Transfer Protocol）は、新しいプロトコルで、ワシントン州レドモンドにある本件特許出願人によって開発された付属のドライバセットであり、携帯用装置をウィンドウズ（登録商標）ＸＰのＰＣ（personal computer）に接続し、それらの装置とＰＣとの間でデジタル媒体コンテンツを同期させる。ＭＴＰは、ハードドライブを有する携帯用装置を対象としている。ＭＴＰの利点を、以下に示す。すべてのＭＴＰと互換性のある装置は、ウィンドウズ（登録商標）のＭＰ１０（Media Player version 10）（登録商標）が搭載され、アップロードされるドライバを使用し、ユーザは、プレイヤー制御ソフトウェアの中から、すべての転送および同期機能を実行できるようになるだろう。すべてのＭＴＰと互換性のある装置は、オートシンク（Auto Sync）と呼ばれる機能を支援する。支援するＰＣに接続されるとすぐに、ユーザがＭＰ１０を設定して、すべての新しく入手したまたはリッピングしたコンテンツを装置に自動的に転送することができる。ＭＴＰと互換性のある装置は、ファイルプロパティの同期を有し、これは、その装置が切断され再接続されると、装置上のファイルプロパティ（ユーザによる評価等の）に対する変化をＰＣに反映させる。
【０００５】
このようにＭＴＰ（Media Transfer Protocol）装置は、ＵＳＢＭＳＣ（Mass Storage Class）装置を超える、付加的な機能性を提供する。しかし、ＭＴＰプロトコルは、ＭＳＣプロトコルと同じ数のホスト装置上で支援されない。ＭＰ１０を用いない装置、またはリナックス、マックＯＳ、もしくはウィンドウズ（登録商標）９５、ウィンドウズ（登録商標）ＭＥ、もしくはウィンドウズ（登録商標）ＣＥ等の他のオペレーティングシステムが、ＭＴＰを支援しないのに対して、ＭＰ１０を実行するホスト装置は、ＭＴＰを支援する。これらのすべてのオペレーティングシステムおよびより多くのものが、ＭＳＣを支援する。旧来のＭＳＣ支援のＰＣ上のＭＴＰ装置の操作性は、ある種のプロトコルの柔軟性が存在しない限り疑わしい。同様の問題は、他のプロトコルにも存在する。それらの問題は、ＭＴＰおよびＭＳＣに限らない。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ＭＴＰおよびＭＳＣに特有な一つの問題は、ＭＴＰ装置は、すべてのオブジェクトまたはファイルに対するインデックスのデータベースを記憶装置に保持することによって、高速の閲覧、ソート、およびアルバム、アーティスト、ジャンル（これらに限らない）等の多数のプロパティへのアクセスが可能であるという事実である。ＭＳＣは、すべてのオブジェクトに対するインデックのデータベースを保持しない。結果として、取り外し可能な記憶装置が、ＭＳＣを使用してアクセスされると、ＭＴＰによって使用されたインデックスのデータベースは、オブジェクトと同期しなくなるだろう。
【０００７】
さらに、ＭＳＣが、ＭＴＰのデータベースを同期させる方法で使用されていたとしても、現在検出する標準方法がない。結果として、ホストまたは装置は、すべての接続または再接続において、そのデータベースの非同期、およびＭＴＰのデータベースの修復または再構築を想定しなければならないだろう。このような動作は、かなり遅延が増す。理想的な機能は、ホストＰＣによって支援されたプロトコルに依存しているいずれのプロトコルも選択し、そのプロトコルでのアップグレードされた変更に対応する能力であるだろう。
【課題を解決するための手段】
【０００８】
本発明の開示は、概念の一つの選択を簡略化形式で紹介するために提供され、以下の詳細な記述でさらに説明する。本発明の開示は、請求された発明の対象の主要な機能または本質的な機能を明らかにするためでも、請求された発明の範囲を制限するために用いられるものでもない。
【０００９】
本発明の一態様において、取り外し可能な記憶装置は、１または２以上のプロトコルを支援できるホストコンピュータを用いた使用に対する優先プロトコルのリストを保持できる。一実施形態において、一つのプロトコルは、ＭＴＰプロトコルとすることができ、もう一つのプロトコルは、ＭＳＣプロトコルとすることができる。ＭＴＰプロトコルは、優先プロトコルと見なすことができる。記憶装置は、プロトコルを、優先順位に従い試みる。プロトコルが、ホストによってうまく検出され、支援された場合、次の動作は、まるでその装置がそのプロトコルのみに対して機能するかのように継続する。プロトコルが、ホストによって検出されないまたは支援されない場合、その装置は、切断イベントをエミュレートし、リストにある次のプロトコルに再接続する。
【００１０】
装置をＭＳＣプロトコルに接続する場合、その装置は、すべての記憶領域に対する書き込み検出器を有効にする。ホストによる記憶領域へのすべての書き込みに対して、その装置は、インデックスフラグを真に設定する。装置をＭＴＰとして接続する場合、その装置は、各記憶領域のインデックスフラグをチェックする。領域のインデックスフラグが真の場合、その装置は、その領域に対するインデックスのデータベースを修復し、偽のインデックスフラグを消す。アップデートされたインデックスは、たとえデジタル媒体が、インデックス付けを支援しないＭＳＣプロトコルを使用した装置に記憶されたとしても、その装置に記憶されたデジタル媒体を分類し、検索するＭＴＰプロトコルの能力を使用することができる。
【発明を実施するための最良の形態】
【００１１】
挿入可能な記憶媒体の一つの問題は、使用されるインタフェースおよびプロトコルである。２つの作動プロトコルを使用できる状況において、使用されるプロトコルをユーザが知らない場合がある。例えば、ＵＳＢ（universal serial bus）と互換性のある記憶装置のユーザは、パーソナルコンピュータ等で、装置またはホストコンピュータのどちらによって支援されるかを知らない場合がある。一つの解決策として、ＵＳＢと互換性のある装置が、代替プロトコル間で切り替える機能を備えることによって、ユーザは、ＵＳＢと互換性のある装置を接続するおよび切断する必要も、他のプロトコルの中から一つのプロトコルを選択する手動スイッチを入れる必要もなくなる。一連のプロトコルのいずれも、本発明と関連して使用でき、以下に提示された具体的な実施形態は、限定されないことに留意されたい。
【００１２】
図１に、ホストＰＣまたはユーザのいずれかによる介入無しに複数のプロトコルの実行が可能なＵＳＢと互換性のある記憶装置のアーキテクチャを示す。図１に、少なくとも２つのプロトコルと互換性のある媒体記憶装置１２０が、一番目、二番目、または三番目のホストのいずれかに接続できるシステムを示す。一番目のホスト１０５に接続された場合、支援されるプロトコルは、新しいＭＴＰプロトコルまたは共通のＭＳＣプロトコルのどちらかである。二番目のホスト１１０に接続された場合、支援されるプロトコルは、ＭＳＣプロトコルである。三番目のホスト１１５に接続された場合、支援されるプロトコルは、ＭＴＰプロトコルである。
【００１３】
媒体記憶装置１２０は、典型的なインタフェースの電気的およびハードウェアの態様を含む物理的インタフェース１３０を含む。このインタフェースは、ＵＳＢインタフェース、ファイヤーワイヤ・インタフェース、ワイファイ・インタフェース、イーサネット（登録商標）、および光（ソネット）インタフェース、または他の共通に利用できるＰＣインタフェースのいずれかにすることができる。装置１２０も、ＰＣまたは他のコンピュータ装置の作動中のインタフェースがあるかを検出できる挿入および削除検出モジュール１２５を機能的に含む。挿入および削除検出ブロックは、記憶装置１２０が、ＰＣまたは他の外部のホストと接続または切断されているかどうかを判定する。
【００１４】
装置１２０のプロトコル障害検出機能１３５は、作動するまたは支援されたプロトコルの一つで動作を試みる間、エラーを検出できる装置内で利用できるプロトコルの範囲を格納できる。装置１２０が、一つのプロトコルから他のプロトコルへ変更する要因がある場合、接続および切断エミュレータ１４０により、その装置が切断および再接続をエミュレートすることが可能になる。プロトコル障害検出機能１３５と接続または切断エミュレータ１４０を組み合わすことにより、装置１２０が、二つ以上のプロトコルで作動できる。一番目のプロトコルが試され、失敗した場合、プロトコル障害検出機能１３５は、その失敗を検出し、必要に応じて、接続および切断エミュレータ１４０を起動する誘因として使用できる。プロトコルが失敗すると、エミュレータ１４０は、内部回路１７０による制御の下、ホストから装置１２０の再接続をエミュレートできる。次にエミュレータ１４０は、装置の論理接続をホストコンピュータに提供することによって、二番目のプロトコルを試行させることができる。エミュレータ１４０は、論理制御１７０が許可するたびに、装置１２０に、切断および接続サービスを提供できる。
【００１５】
本発明の一態様において、内部論理制御は、論理ステートマシンまたはプログラム可能なコントローラとして実現できる。プログラム可能なコントローラは、ＣＤ、フロッピー（登録商標）等のコンピュータ読み取り媒体からインタフェースを経由して、媒体記憶装置１２０にダウンロードされたプログラムを使用してプログラムできる。プログラム可能な媒体は、装置１２０の動作を行う命令を含むことができる。装置１２０の電力は、その装置がＵＳＢと互換性があるかのように、バスインタフェースから得られる。代替または併用して、装置１２０は、メンテナンスおよび／または動作電力に必要なバイアスを提供するバッテリを含むことができる。
【００１６】
装置１２０は、ＭＴＰプロトコルを支援する。従って、データベース１６５は、装置１２０が、その装置に記憶されたファイルの態様を記憶し、カタログ化できるように提供される。例えば、その装置がデジタルミュージック装置である場合、すべての専用ファイルは、ファイル名、サイズ、アーティスト、アルバム、ジャンル、タイトル、および他のタグまたは属性を含む態様を有することができる。これらの属性および情報は、データベース１６５に記憶できる。ＭＴＰプロトコルによっても、ユーザは、歌についての装置のコンテンツをソートまたは検索できる。検索を実行する一つの方法では、データベースにインデックスを用いて、記憶装置内で、歌にアクセスできる場所を示すことができる。従って、データベース情報のインデックスは、ＭＴＰにおいて支援される。インデックスの行と列は、データベース１６５に記憶できる。一実施形態において、ＭＴＰのデータベースは、小型のディスクドライブまたは半導体メモリによって支援できる。
【００１７】
１からＮまでの記憶領域、１６０ａおよび１６０ｂを、図１に示す。装置のデータベース１６５は、デジタルミュージック等の媒体の記憶装置として使用できる。従って、その具体例では、１６０ａおよび１６０ｂ等の記憶領域の表示を使用して、データベース１６５に記憶されるミュージックファイルまたはミュージックファイルのグループに関連付けることができる。各記憶領域は、関連付けられたインデックスフラグおよび書き込み検出要素を有する。インデックスフラグ１４５ａおよび１４５ｂは、記憶領域１６０ａおよび１６０ｂのそれぞれに関連付けられ、書き込み検出モジュール１５０ａおよび１５０ｂは、記憶領域インジケータ１６０ａおよび１６０ｂのそれぞれに関連付けられる。
【００１８】
本発明の一態様において、装置１２０は、ＭＳＣおよびＭＴＰと互換性のあるホストＰＣを用いて使用できる。ＭＴＰと互換性のあるホストＰＣが装置に接続された場合、ユーザは、インデックスを使用して、検索基準に従って歌を検索できる。新しい歌が追加された場合、そのインデックスをアップデートすることができる。しかし、デジタルミュージックコンテンツがＭＳＣプロトコルを使用して付加された場合、ファイルは追加されるが、ＭＳＣプロトコルがファイルのインデックス化を支援しないため、インデックスは、アップデートされない。本発明の一態様において、装置が、インデックス付き検索の使用を支援しないＭＳＣのホストに接続された場合、歌を、記憶境域１６０ａ等のメモリの記憶領域に入れることができる。このことが起きると、書き込み検出モジュール１５０ａは、記憶境域１６０ａへの書き込みがＭＳＣの動作モードで起きたことを検出し、インデックスフラグ１４５ａがセットされる。
【００１９】
その後、ＭＴＰプロトコルが、次のセッションの間に使用された場合、装置１２０は、インデックスフラグを検出し、デジタルコンテンツが付加されていることを示すことができるが、インデックスが付されてない。装置１２０は、新しく付加されたデジタルコンテンツにインデックスを付すことにより、ＭＴＰプロトコルが、インデックスを使用して新しいデジタルミュージックコンテンツの検索ができる。
【００２０】
本発明の別の態様において、新しいデジタルミュージックが装置にロードされると、その新しくデジタルコンテンツが付加されたインデックスは、アップデートされる。複数のインデックスは、それらの付加の結果アップデートできる。インデックスをアップデートする一つの手法は、ＭＴＰの接続が行われるたびに、記憶領域全体をアップデートすることである。しかし、装置が、個々にインデックス化できるデジタルコンテンツのアイテムを１０００以上保有するおそれがあるため、これには膨大な時間がかかるかもしれない。インデックスフラグを使用して記憶部分ごとに区切ることにより、起動されたインデックスフラグによって表示された記憶部分のインデックスのみが、アップデートに必要とされる。従って、インデックス全体の再構築は不必要になり、アップデートを短時間で行うことができる。このように、装置１２０によって、ユーザは、より速く利用できるようになる。発明のこれらの態様によって、記憶装置のインデックスのデータベースの再構築を回避する。装置上で使用されるメモリは、不揮発性または揮発性メモリ等の、ディスクまたは半導体メモリになり得る。
【００２１】
本発明の別の態様において、装置がＭＴＰプロトコルの下に動作していて、不完全なファイルが認識された場合、データベースは、不完全なファイルを取り除く他のデータベースと同様、ロールバックできる。不完全なファイルは、書き込み動作の間、装置がユーザによって削除された結果または他の破損したファイルである場合がある。従って本発明は、装置に電力ｎの供給が無い結果、ファイルが不完全になったデータベースを修復またはロールバックできる。
【００２２】
図２は、現在の発明の態様を用いた一つの可能な実施方法２００である。方法２００では、図１の装置１２０と類似した媒体記憶装置が、ユーザによってホストに物理的に接続されることにより、ＭＴＰプロトコルもしくはＭＳＣプロトコル、または、ＭＴＰプロトコルおよびＭＳＣプロトコルの両方を支援することができると仮定する。プロセス２００の開始において、装置は、ホストに物理的に接続されるのを待つ（ステップ２１０）。物理的接続の後、成功フラグがオンになり、装置がＭＴＰ互換ホストに最終的にうまく接続されたか、または設定可能な時間間隔（カウント）が経過したかどうかを確かめる（ステップ２１５）。一実施形態において、最初に装置を設定することにより、ステップ２１５の成功フラグがセットされ、装置がそれまで一度も接続されなかったとしても、接続の最終試行で、ＭＴＰの初期化の成功を表示する。このような優先を設定することにより、装置が、最初に、最も高度なプロトコルであるＭＴＰを使用して、接続を試みる選択ができる。
【００２３】
成功フラグがセットされ、最終のＭＴＰの試行の成功を示すことを仮定して、プロセスは、ＭＴＰと互換性のあるホストに接続するために再度移行する（ステップ２２０）。代替として、カウントが超えた場合、ＭＴＰプロトコルの開始の試みが行われる（ステップ２２０）。カウントが超えることは、設定可能なクロックカウントまたは成功接続カウントを超える等の、カウンタイベントになり得る。クロックカウントは、２４時間間隔等の、装置が接続する間の一定時間になり得ることにより、媒体装置が次の接続イベントでＭＴＰプロトコルを再試行するように命令された後、タイムアウト期間として動作する。代替として、カウントを超えることは、装置によって作られたＭＴＰまたはＭＳＣのどちらかの特定の（設定可能な）数の成功接続になり得る。多数の接続が行われた後、装置に、ＭＴＰプロトコルを高い優先度で試行するように命令できる。ＭＴＰの試行が行われる（ステップ２２０）ことを仮定して、接続が成功する場合（ステップ２２５）、成功フラグをセットし、最後の試行の成功は、ＭＴＰと互換性のあるホストを用いたことを記憶する（ステップ２３０）。ステップ２３０では、上述したクロックカウント、成功接続カウント等のカウントを開始できる。次にインデックスフラグが、セットされたかどうかチェックされる（ステップ２４５）。インデックスフラグがセットされると（真）、このことは、以前にＭＳＣセッションが起き、インデックスがまだ正しく付されてない媒体記憶データがあることを示す。ステップ２４５で、インデックスフラグが真として検出されると、そのインデックスは修復され、インデックスフラグが消える（ステップ２６０）。その後、ＭＴＰ装置としての最終接続が行われる（ステップ２７５）。媒体記憶装置は、切断を待つことができる（ステップ２８０）。装置が切断されると、プロセスは戻り、次の接続を待つ（ステップ（２１０）。
【００２４】
ステップ２２５でプロセス２００に戻り、ＭＴＰプロトコルを開始する試みが成功しない場合、ＭＣＳプロトコルで試行される（ステップ２３５）。本発明の一実施態様において、代替プロトコルにおける試みは、切断のあとに続く接続のエミュレーションを呼び出すことができる。ＭＴＰホストと接続する最初の試みが成功した場合（ステップ２４０）、媒体記憶装置は、ＭＣＳプロトコル接続として最終の成功プロトコルの初期化を記憶する（ステップ２５０）。最後に、完全なプロトコルが呼び出され、ホスト装置へのＭＣＳプロトコルを使用して接続される（ステップ２６５）。媒体記憶装置は、切断表示を待つ（ステップ２８０）ことに続いて再接続を待つこと（ステップ２１０）になるＭＣＳプロトコルの動作を支援する。
【００２５】
媒体記憶装置が、次にＭＣＳ装置に接続された場合、プロセス２００により、その装置が早く接続できる。装置の接続が行われ（ステップ２１０）、最終の成功は、ＭＣＳプロトコルの下、記憶装置がホストとの接続を初期化するＭＣＳ接続（ステップ２１５）を示すだろう。ＭＣＳプロトコルでのホストＰＣとの初期化の接続は、おそらく成功し、方法２００は、これまでのようにステップ２５０および２６５に入る。
【００２６】
媒体記憶装置が、次にＭＴＰのみを支援するホストに接続された場合、装置は、待機（ステップ２１０）の後、接続状態に入り、成功フラグをチェックするだろう。装置が、以前に最終の接続プロトコルとしてＭＣＳの成功を有していたので、プロセスは、ステップ２１５からステップ２３５に移り、ＭＣＳプロトコルの初期化が起こるだろう。しかし、装置が、ＭＴＰのみのホストに接続されているので、ＭＣＳの試みは、失敗するだろう（ステップ２４０）。次にプロセスは、現在のセッションの間に、ＭＴＰプロトコルの試みがあったかどうかを問い合わせる（ステップ２５５）。今回は、以前のＭＴＰの試みが無かった。従って、プロセスは、ステップ２５５から、ＭＴＰプロトコルでの試みが行われたステップ２２０に移る。成功接続（ステップ２２５）により、ＭＴＰの成功を表示する成功フラグがセットされ、ホストへの次の任意の接続が、ＭＴＰと互換性のあるプロトコルにより最初に試されるだろう（ステップ２３０）。成功ＭＴＰの初期化の後、再度、インデックスフラグがテストされる（ステップ２４５）。インデックスフラグがセットされた場合、そのインデックスは、ＭＴＰプロトコルとの完全な接続（ステップ２７５）の前に修復される。
【００２７】
ＭＴＰ接続の試みが失敗したステップ２５５に戻り、ＭＴＰプロトコルが、以前に試され、失敗した場合、プロセス２００は、媒体記憶装置が、ＭＣＳプロトコルまたはＭＴＰプロトコルのどちらかを使用して接続に失敗した（ステップ２７０）ので、他の再接続を待つために移る（ステップ２１０）ことになる。
【００２８】
方法２００は、本発明の柔軟性を示す。いったん装置が一つのプロトコルに接続してしまうと、装置は成功を記憶し、ホストに接続されると、その同じ成功プロトコルの使用を試みる。しかし、記憶媒体装置が異なるプロトコルを支援しているホストに接続された場合、装置は、まず最終的に成功したプロトコルを試し、そのことが失敗した場合、記憶装置は、代替プロトコルを試す。両方のプロトコルが失敗した場合、装置は、次の再接続を待つ。従って、媒体記憶装置は、任意のＭＴＰプロトコル、ＭＣＳプロトコルを支援するホスト、および両方のプロトコルを支援するホストに接続できる。装置は、一つのホストから別のホストへと移動でき、そのホストが、装置によって支援された任意のプロトコルを支援する場合、接続が成功するだろう。装置がＭＣＳの装置上で使用され、次にＭＴＰ装置に接続された場合、自動的なインデックスの修復が行われることにより、たとえデジタルコンテンツが、ＭＣＳプロトコルを使用したとしても、完全なＭＴＰプロトコルの機能性を使用できる。
【００２９】
本発明の一実施形態において、ホストコンピュータは、ＭＣＳプロトコルまたはＭＴＰプロトコルのどちらかを支援できる。従って、装置が、以前にＭＣＳのみのホストと関連して使用された場合、記憶装置は、その成功接続を記憶し、常にＭＣＳプロトコルを使用して接続を試みるだろう。記憶装置がＭＣＳプロトコルとＭＴＰプロトコルの両方を支援しているホストに接続された場合、ＭＣＳが、成功フラグをセットすることに起因して、ＭＣＳプロトコルが優先されるだろう。一実施形態において、ＭＴＰプロトコルは、最終の成功フラグがＭＣＳを試すためにセットされた場合、あらかじめ決められた数のカウントの後に試されるだろう。カウントは、クロックによって与えられた時限カウントになり得る、または媒体記憶装置が、ホストコンピュータに接続された回数を表示するカウンタにできる。クロック、積算器、フラグ、またはレジスタは、制御論理１７０に含めることができる。例えば、成功フラグがＭＣＳプロトコルの試みを優先するように設定された場合、あらかじめ決められた数の再接続（例えば、ホストへの３または４度の接続）が終わるごとに、記憶装置は、最初のＭＴＰプロトコルの試行を優先するように切り替えるだろう。これにより、装置は、先進的なＭＴＰプロトコルと上位に互換性のあるものになり、記憶装置のユーザがＭＴＰまたはＭＣＳと互換性のあるホストに接続できる可能性に対応できる。一実施形態において、超えられたあらかじめ決められたカウントが、成功フラグを、優先的なＭＴＰプロトコルにセットするだろう。別の実施形態において、超えられたあらかじめ決められたカウントが、簡単に成功フラグを無効にし、優先的なＭＴＰプロトコルを最初の試行プロトコルとして使用するだろう。
【００３０】
発明の対象は、構造的な機能および／または方法論的な動作に特有の言語で説明されてきたが、当然のことながら、添付の請求で定義された発明の対象は、上述の特有な機能または動作に必ずしも限定されない。むしろ、上述の特有な機能および動作は、本特許請求を実施する例示的な形式として開示される。
【００３１】
図３および以下の考察は、媒体記憶装置をインタフェースで接続するのに適したホストコンピュータの簡潔で一般的な説明を与えることを目的としている。汎用コンピュータが以下に説明される中、これらは単一のプロセッサの例であるが、複数のプロセッサを有するホストコンピュータの実施形態は、ネットワークまたはバスの相互運用および相互作用を有しているクライアント等の他のコンピュータ装置で実施できる。
【００３２】
図３を参照して、ホストコンピュータの例を実施する例示的なシステムは、コンピュータシステム３１０の形式で、汎用コンピュータ装置を含む。コンピュータシステム３１０のコンポーネントは、処理装置３２０、システムメモリ３３０、およびシステムメモリを含んださまざまなシステムコンポーネントを処理装置３２０に接続するシステムバス３２１を含むことができるが、これらに限定されない。システムバス３２１は、メモリバスまたはメモリコントローラ、周辺機器用バス、および任意のさまざまなバス構成を用いたローカルバスを含んだ任意のいくつかの種類のバス構造にできる。
【００３３】
コンピュータシステム３１０は、典型的にさまざまなコンピュータ読み取り可能媒体を含む。コンピュータ読み取り可能媒体は、コンピュータシステム３１０によってアクセスできる任意の利用可能な媒体にでき、揮発性ならびに不揮発性媒体、および、取り外し可能ならびに取り外し不可能な媒体の両方を含む。一例として、コンピュータ読み取り可能媒体は、コンピュータ記憶媒体および通信媒体を備えることができる。コンピュータ記憶媒体は、コンピュータ読み取り可能命令、データ構造、プログラムモジュールまたは他のデータ等の情報を記憶する任意の方法または技術で実施される揮発性ならびに不揮発性媒体、および、取り外し可能ならびに取り外し不可能な媒体を含む。コンピュータ記憶媒体は、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read Access Memory）、ＲＯＭ（Read Only Memory）、フラッシュメモリもしくは他のメモリ技術、ＣＤＲＯＭ（Compact Disk Read Only Memory）、ＣＤＲＷ（compact disc-rewritable）、ＤＶＤ（digital versatile disks）もしくは他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶装置、または、求められる情報を格納するために使用でき、コンピュータシステム３１０によってアクセス可能なその他の媒体を含むが、これらに限定されない。
【００３４】
システムメモリ３３０は、ＲＯＭ（read only memory）３３１およびＲＡＭ（random access memory）３３２等の揮発性および／または不揮発性メモリの形式で、コンピュータ記憶媒体を含む。コンピュータシステム３１０で、起動時等の、機器間での情報の転送に役立つ基本ルーティンを含んだＢＩＯＳ（basic input/output system）３３３は、典型的にＲＯＭ３３１に格納される。ＲＡＭ３３２は、典型的に即座にアクセス可能なデータおよび／または処理装置３２０によって現在動作しているプログラムモジュールを含む。一例として、図３にオペレーティングシステム３３３、アプリケーションプログラム３３５、他のプログラムモジュール３３６、およびプログラムデータ３３７を示すが、これらに限らない。
【００３５】
コンピュータシステム３１０は、他の取り外し可能もしくは取り外し不可能な、揮発性もしくは不揮発性のコンピュータ記憶媒体を含むこともできる。一例としてのみ、図３に、取り外し不可能な、不揮発性の磁気媒体への読み取りまたは書き込みをするハードディスクドライブ３３１、取り外し可能な、不揮発性の磁気ディスク３５２への読み取りまたは書き込みをする磁気ディスクドライブ３５１、およびＣＤＲＯＭ、ＣＤＲＷ、ＤＶＤ、もしくは他の光媒体等の取り外し可能な、不揮発性の光ディスク３５６への読み取りおよび書き込みをする光ディスクドライブ３３５を示す。例示的な動作環境で使用できる他の取り外し可能もしくは取り外し不可能な、揮発性もしくは不揮発性のコンピュータ記憶媒体は、磁気テープカセット、フラッシュメモリカード、ＤＶＤ、デジタルビデオテープ、固体ＲＡＭ、固体ＲＯＭ等を含むが、これらに限らない。ハードディスクドライブ３４１は、典型的に、インタフェース３４０等の取り外し不可能なメモリインタフェースを介して、システムバス３２１に接続され、磁気ディスクドライブ３５１および光ディスクドライブ３５５は、典型的に、インタフェース３５０等の取り外し可能なメモリインタフェースによって、システムバス３２１に接続される。システムバス３２１への他の接続は、電力およびデータ接続サービスを、シリアルインタフェース装置３５８に提供する直列インタフェース接続３５７を含む。シリアル接続３５７の例は、ファイヤーワイヤ・インタフェース、ＵＳＢインタフェース、および光インタフェースを含む。シリアルインタフェース装置の例は、フラッシュメモリ装置、媒体装置、および、スキャナならびに組み合わせ装置等の他の周辺機器装置を含む。
【００３６】
上記および図３に示されたドライブおよびそれらに関連したコンピュータ記憶媒体は、コンピュータ読み取り可能命令、データ構造、プログラムモジュール、およびコンピュータシステム３１０の他のデータを提供する。例えば図３で、ハードディスクドライブ３４１は、オペレーティングシステム３４４、アプリケーションプログラム３４５、他のプログラムモジュール３４６、およびプログラムデータ３４７を格納するものとして示される。ここで留意すべきは、これらのコンポーネントは、オペレーティングシステム３４４、アプリケーションプログラム３４５、他のプログラムモジュール３４６、およびプログラムデータ３４７と同じであるかまたは異なるかのどちらかにできることである。オペレーティングシステム３４４、アプリケーションプログラム３４５、他のプログラムモジュール３４６、およびプログラムデータ３４７は、それらが異なるコピーであることを最小限に示すために、本明細書で異なる数字を与えられている。ユーザは、キーボード３６２、および、一般にマウス、トラックボールまたはタッチパッドと呼ばれるポインティングディバイス３６１等の入力装置を介して、コマンドおよび情報をコンピュータシステム３１０に入力できる。他の入力装置（図示せず）は、マイクロホン、ジョイスティック、ゲームパッド、パラボラアンテナ、スキャナ等を含むことができる。これらのものおよび他の入力装置は、システムバス３２１に接続されたユーザ入力インタフェース３６０を介して、処理装置３２０に接続されることが多いが、パラレルポート、ゲームポート、またはＵＳＢ（universal serial bus）等の他のインタフェースおよびバス構造によって接続できる。モニタ３９１または他の種類のディスプレイ装置は、ビデオメモリ（図示せず）と次々に通信できるビデオインタフェース３９０等のインタフェース経由で、システムバス３２１に接続することもできる。モニタ３９１に加えて、コンピュータシステムは、出力周辺インタフェース３９５を介して接続できるスピーカ３９７およびプリンタ３９６等の他の周辺出力装置を含むこともできる。
【００３７】
コンピュータシステム３１０は、リモートコンピュータ３８０等の１または２以上のリモートコンピュータへの論理接続を使用しているネットワークまたは分散環境で動作できる。リモートコンピュータ３８０は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピア装置または他の共通のネットワークノードにでき、メモリ記憶装置３８１のみが図３に示されているが、典型的にコンピュータシステム３１０に対する上記の機器の多くまたはすべてを含む。図３に示された論理接続は、ＬＡＮ（local area network）３７１およびＷＡＮ（wide area network）３７３を含むが、他のネットワークまたはバスを含むこともできる。このようなネットワーク環境は、家庭、オフィス、企業規模のコンピュータネットワーク、イントラネット、およびインターネットにおいて一般的である。
【００３８】
ＬＡＮネットワーク環境で使用された場合、コンピュータシステム３１０は、ネットワークインタフェースまたはアダプタ３７０を介して、ＬＡＮ３７１に接続される。ＷＡＮネットワーク環境で使用された場合、コンピュータシステム３１０は、典型的にモデム３７２、またはインターネット等の、ＷＡＮ３７３上の通信を確立する他の方法を含む。内部または外部の用途にできるモデム３７２を、ユーザ入力インタフェース３６０経由でシステムバス３２１に接続できる。ネットワーク環境で、コンピュータシステム３１０またはその一部に対して示されたプログラムモジュールは、リモートメモリ記憶装置に格納できる。一例として、図３に、メモリ装置３８１に常駐するものとしてリモートアプリケーションプログラム３８５を示す。当然のことながら、示されているネットワーク接続は、例示的であり、コンピュータ間の通信リンクを確立する他の方法を使用できる。
【００３９】
本明細書に説明されたさまざまな技術は、ハードウェアもしくはソフトウェア、または必要に応じてその両方の組み合わせに関連して実施できる。従って、本発明の方法および装置、または、それらのある態様もしくは部分は、フロッピー（登録商標）ディスケット、ＣＤ−ＲＯＭ、ハードドライブ、または他の機械可読記憶媒体等の目に見える媒体で具体化されるプログラムコード（例えば、命令）の形式をとることができ、そのプログラムコードが、コンピュータ等の機械によってロードされるおよび実行されると、その機械は、本発明を実行する装置になる。
【００４０】
本発明の態様が、さまざまな形状の好適実施形態に関連して説明されている中、当然のことながら、他の類似の実施形態を、本発明から逸脱することなく、本発明の同じ機能を実行するために、説明された実施形態を使用することができる、またはそれらの改良および追加を行うことができる。さらに、強調すべきは、携帯端末オペレーティングシステムおよび他のアプリケーション専用オペレーティングシステムを含んださまざまなコンピュータプラットホームが、特に無線ネットワーク装置の数が増加し続けるために、検討されることである。さらに、本特許請求の発明は、いかなる単一の実施形態に制限するべきでなく、むしろ添付の請求に従った範囲と解釈するべきである。
【図面の簡単な説明】
【００４１】
【図１】本発明の態様を有する例示的な媒体記憶装置を示す図である。
【図２】本発明の態様を示す例示的なフロー図である。
【図３】例示的なホストコンピュータ環境を示すブロック図である。
【図１】
2009528616.tif 000003
【図２】
2009528616.tif 000004
【図３】
2009528616.tif 000005
【国際調査報告】
2009528616.tif 000006
2009528616.tif 000007