![]() 直接ユーザアクセスを受ける記憶デバイス
专利摘要:
分散形記憶サービスを提供する様々な方法、デバイスおよびシステムを開示する。データ記憶デバイスは、データ記憶デバイスに直接結合されたローカルホストコンピュータなどの外部エンティティ、リモートサーバコンピュータ、または直接リモートデータ記憶デバイスと、ローカルホストコンピュータによる介入があるかまたは介入なしで通信セッションを開始することができる(逆の場合も同様である)。 公开号:JP2011513804A 申请号:JP2010541483 申请日:2008-12-19 公开日:2011-04-28 发明作者:ガルシア,ホセ;カルロス サントス;スターン,オリ;ノチモウスキー,アラン;ポメランツ,イツハック;マーク,アロン;モーゼク,アミール;レイブ,ミカ;マーティン,アントニオ;マヌエル ロペス 申请人:サンディスク アイエル リミテッド; IPC主号:G06F13-10
专利说明:
[0001] 本発明は、全般的にデジタルデバイスに関する。特に、本発明は、デジタルデバイス用のクロスプラットフォーム大容量記憶サービスを提供することに関する。本発明はさらに、キャッシュ管理に関し、デジタルコンテンツのセキュアな配布および消費を提供すること、およびローカル記憶デバイスを用いて仮想記憶を提供することに関する。本発明はさらに、ローカル記憶デバイスが動作可能なように結合されているホストデバイスの関与なしに、ローカル記憶デバイス内のデータにインデックスを付ける能力を含むローカル記憶デバイスに関する。] 背景技術 [0002] 従来技術では、リムーバブルメディア(例えば、CD−ROMまたはフラッシュメディア)が挿入されると何らかのアクションを自動的に行う能力を、「自動実行」または「自動再生」機能がコンピュータOSに提供している。リムーバブルメディア上で配布されるソフトウェアが、ディスク挿入時にインストーラを自動的に起動できるため、これは便利な機能である。しかし、残念ながら、「自動実行」機能はセキュリティリスクをもたらす(すなわち、悪意のあるソフトウェアが配布される可能性がある)と一部の製造業者に考えられている。このリスクを回避するために、自動実行(または自動再生)機能は無効化されることが多く、ローカル記憶デバイスが直接ユーザと対話することができるメカニズムが提供されない。] [0003] インターネットテクノロジーは、特にネットワーク最適化の領域において、特にエンドユーザのブラウジング体験を改善するように急速に発展している分野であり、過去も、さらに今もなおそうあり続けている。コンピュータネットワークにおいて、プロキシサーバは、そのクライアントのリクエスト(例えば、ウェブページ、接続確立などのリクエスト)を、他のサーバへ、典型的にはウェブサーバへリクエストを送信することによって処理するサーバ(コンピュータシステムまたはアプリケーションプログラム)である。] [0004] インターネットアプリケーション(例えば、FTPプロトコルを使用するFTPクライアント、またはそのほかWEBブラウザなどの任意のインターネットアプリケーション)は、通常、少なくとも2つの関連インターフェイスを管理する。ローカル大容量記憶デバイスへの第1のインターフェイスは大容量記憶装置インターフェイスと呼ばれ、これを介してインターネットアプリケーションは、ホストデバイスファイルシステム(HDFS)を使用しキャッシュマネージャによりキャッシュに格納されているコンテンツを管理する。なお、より一般的には、任意の数のインターネットアプリケーションそれぞれが、その個別の論理インターフェイスを介して、ローカル大容量記憶デバイスに格納されているそれ用のコンテンツを管理することができ、こうした個々の記憶エリアはそれぞれ、それ用の規則のセットによって管理される。代表的なインターネットアプリケーションがブラウザアプリケーションという形をとる場合、ブラウザキャッシュマネージャが、ブラウザキャッシュポリシーとも呼ばれる規則のセットを使用して、適切なコンテンツをブラウザに供給する。レスポンスタイムを改善してネットワーク帯域幅を保つために、典型的にブラウザキャッシュは、キャッシュポリシーによって規定される関連規則(単数または複数)に基づいてコンテンツを格納する。例えば、ブラウザキャッシュマネージャ(特定のブラウザ向けに確立された関連キャッシュポリシーに従う)は、以前に読み出されたWEBページに基づき、近い将来ブラウザが再びその特定のWEBページをリクエストする可能性があると予想して、コンテンツ(例えば、WEBページ形式)を格納することができる。こうすることで、ブラウザキャッシュマネージャは、ブラウザキャッシュにローカルに格納されている関連WEBページを、貴重なネットワークリソースを使用せずに読み出すことができる。] [0005] インターネットアプリケーションによって使用されるもう1つのインターフェイスは、ネットワークリソースとの通信においてネットワーク接続上で送られるHTTPコマンドの管理など、インターネット接続性のために使用することができ、ネットワークリソースは、ローカルリソースまたはリモートリソースのいずれかとすることができる。モバイルブラウジングの場合、ブラウザは通常、プロキシサーバを介してリモートリソース/サーバにアクセスする。プロキシサーバは、貴重なモバイルリンクリソースを保つためにコンテンツ最適化/適合/フィルタリング/圧縮などを実行することができる。プロキシサーバは、インターネットのエッジでアクセス制御などの付加的なタスクを必要とする企業システムにおいても使用することができる。もう1つの有用な点は、プロキシキャッシュの管理にあり、「インターネットのエッジ」(すなわち、ユーザのブラウザのより近く)にコンテンツをプリキャッシュするために「コンテンツプリフェッチテクニック」を適用することができる。こうすることで、必要とされるとき、リクエスト対象のコンテンツが保有されていることから、ブラウジング体験を加速することができる。] [0006] しかし、ブラウザキャッシュおよびプロキシキャッシュは互いに独立して管理されるため、互いのキャッシュポリシーからの、またはそれについての「学習」は、ほとんどあり得ないか全くあり得ない。したがって、プロキシキャッシュおよびブラウザキャッシュはそれ用の規則のセットを指針とするが、ブラウザアプリケーションおよびプロキシが別々のベンダによって供給される可能性があることから、この規則のセットを他方が知っていることも知らないこともあり、そのため全体的なキャッシュ管理ポリシーが存在しないことがある。このような全体的なキャッシュ管理ポリシーの欠如は、効率の悪さをもたらす恐れがあり、その結果、記憶リソースの非効率的な割り当てが一因となり、最適とはいえないブラウジング体験をもたらしかねない。前述した非効率性として、例えば、プロキシキャッシュおよびブラウザキャッシュの両方に重複したコンテンツが格納されることが考えられ、これにより、ネットワークおよび記憶リソースの非効率的な使用(すなわち、ネットワークリンク上でブラウザコンテンツが不必要に送られること)をもたらす。] [0007] 提案される解決策は、ブラウザと、プロキシキャッシュとの同期のために、クライアントエージェントをモバイルハンドセット上に統合することを含む。なお、クライアントエージェントは、典型的にアプリケーション特有であることから、その使用は特定のプラットフォームに限られている。特にモバイルプラットフォームでは、ホストオペレーティングシステムの異機種性が一因となり、クライアントエージェントの実用性がかなり制限されることもある。この異機種性は、Windows(登録商標)、Symbian(登録商標)、および同様のものなどの「オープン」オペレーティングシステムの場合とは対照的に、「クローズド」オペレーティングシステム(Nucleusなど)の場合にさらに悪化する。種々のモバイルハンドセットが異なるオペレーティングシステム上で実行され得ることから、典型的に、前述した実施例には、複雑なソフトウェア統合が必要となる。このソフトウェア統合は、非オープンオペレーティングシステム上で実行されるモバイルハンドセットを使用する場合、さらに複雑であると分かることもある。] [0008] デジタルコンテンツの配布には、コンテンツダウンロードおよびコンテンツストリーミングという少なくとも2つの異なる手法がある。一般的に言えば、コンテンツダウンロードとは、第1のデバイスに格納されているデジタルコンテンツを、転送されたデジタルコンテンツが格納される第2のデバイスへ転送することであると考えることができる。コンテンツダウンロードは、第1のデバイスから第2のデバイスへデジタルコンテンツを転送するための、「プッシュ」および「プル」の両方の手法を包含することができる。例えば、デジタルコンテンツの転送を開始するのが第1のデバイスであるということで、第1のデバイスに格納されているデジタルコンテンツが第1のデバイスから第2のデバイスに「プッシュされる」ことが可能である。あるいは、第1のデバイスから第2のデバイスへのデジタルコンテンツの転送を開始するのが第2のデバイスであるということで、第1のデバイスに格納されているデジタルコンテンツは、第1のデバイスから第2のデバイスにプルされることが可能である。プッシュまたはプルのどちらも、通常のダウンロード(HTTPベースなど)によって、またはプログレッシブダウンロードテクノロジー(すなわち、コンテンツをダウンロードしている間に再生を開始する)によって実現することができる。いずれにせよ、デジタルコンテンツが第2のデバイスにて受け取られると、そのデジタルコンテンツは第2のデバイスにてローカルに永続的に格納される。こうすることで、第2のデバイスに格納されたデジタルコンテンツを1つのデジタルデバイスから別のデバイスに移動させることができ(完全にユーザの制御の下で)、ユーザのプライバシーが保護される(例えば、アダルトコンテンツの場合)などということになる。] [0009] しかし、1つの欠点は、「コンテンツをコピー」しようとする著作権侵害者の試みを阻止するためにコンテンツプロバイダ(例えば、ハリウッドスタジオなど)が高いセキュリティレベルを要求し、その結果コンテンツの移植性が制限されるということにある。ここでは、通常、デジタル著作権管理(DRM)テクノロジーが、コンテンツの利用/コピーの制限を目的とした権利オブジェクト(RO)の定義を用いて介入する。DRM ROは、典型的には、カリフォルニア州ミルピタスのサンディスクコーポレイションによって製造されたTrustedFlash(登録商標)メモリデバイスなどの専用ハードウェアソリューションと関係している。そのようなハードウェアソリューションは、本物のコンテンツおよびRO移植性を提供するために、ユーザがリムーバブルメディア(例えば、SD(セキュアデジタル)記憶デバイス)上にROをセキュアに格納できるようにする。しかし、現実には、ROはDRM方式に依存し、全面的に採用されたDRM標準がない状態では、対応するDRMテクノロジーをサポートするデジタルメディアプレーヤ(またはホストプラットフォーム)のみに完全な移植性が限定されるため、移植性は実現されていない。] [0010] コンテンツストリーミングは、少数の業界標準化プロトコル(例えば、RTSP/RTPなど)によって実装可能であるが、ユーザは、ストリーミングサーバへのネットワーク接続性を得ている場合にのみコンテンツにアクセスできることから、コンテンツを永続的にローカルに格納することは不可能である。この手法の利点の1つは、サポートされているストリーミングプロトコルに対応しているプレーヤに、広いコンテンツアクセスが保証されるということである(すなわち、レガシープレーヤの多くは標準のRTSP/RTPを利用する)。コンテンツプロバイダのセキュリティ要件がより軽いことから、ストリーミングインターフェイスを通るコンテンツの「スニッフィングおよび記録」以外には、コンテンツコピーのリスクはほとんどまたは全くない。これは、制約のある環境と、クローズドであることの多いオペレーティングシステムとが、潜在的な著作権侵害に対して大きな障害となるモバイルデバイスに特に当てはまるが、保護されていないストリームの記録を広く利用可能なツールによってかなり容易に実行できるパーソナルコンピュータの場合はそうではない。] [0011] このようなリスクは、ストリーミングクライアントと、サーバとの間の相互認証(モバイルシステムでは必要と考えられることも、または考えられないこともある)によるセキュアな通信チャネルの構築などの、標準のサービスレベル保護によって部分的になくすことができる。しかし、この手法の欠点の1つは、接続されているデバイスのみがコンテンツにアクセスできる(接続性がないときはストリーミングサーバにアクセスできないため)ことから、完全な移植性(購入したコンテンツをユーザが制御する)を実装できないということである。さらに、この移植性の欠如によって、有効なビジネスモデルが制限される。さらに、サービスプロバイダがユーザの好みおよび利用を知ることになるため、プライバシーの侵害となり得る。] [0012] このコンセプトは、従来、予め静的に定められた物理メモリアレイに基づいて構築されるが、この物理メモリアレイの一部は、ホストファイルシステムから、したがってユーザから隠され、ユーザのリクエストに応じてのみ有効化が可能である。そのようなユーザのリクエストは、デバイスコントローラによってリモートで開始可能であり、支払いを含むこともある。しかし、この手法には、重要なこととして以下のことを含むいくつかの欠点がある。製造されるメモリアレイのサイズが生産時に決定され、その結果ユーザは、所定の隠し容量を超えてメモリアレイの記憶容量をそれ以上拡大できず、すなわち利用に柔軟性などがなく、さらに、隠しメモリと公開メモリとの比率が、生産時、またはいずれにせよローカル記憶デバイスがユーザに届く前には決定されている。例として、デバイスのベンダは、2GBの総記憶容量をそれぞれ有するいくつかのメモリデバイスを製造することもある。しかし、このメモリデバイスは、1GBのメモリデバイスとして販売されることもあり、残りの1GBは、ユーザから隠されるか、または少なくともユーザがアクセスできない状態にされる。ユーザが支払いを行うと2番目の1GBがアクセス可能になる場合であっても、メモリデバイスの製造業者はリスクを負う。つまり、ユーザはまず製造業者に支払いを行わなければ2番目の隠された1GBにアクセスできない。] [0013] このような、物理的に拡張可能な記憶デバイスの限界を克服する1つの方法が、ローカル(すなわち、レガシー大容量記憶装置コマンドを介してエージェントによりアクセスされる)またはリモート(すなわち、ネットワークプロトコルを介してエージェントによりアクセスされる)にかかわらず記憶装置の抽象化を提供する、ホストに統合された専有クライアントエージェントによるものである。この特定の手法は、Personalite Numerique製造の、仏国公開特許出願第0412199号(特許文献1)に記載されているものなど、様々な製品において実装されてきた。しかし、クライアントエージェントは典型的にアプリケーション特有であることから、その使用は特定のプラットフォームに限られている。特にモバイルプラットフォームでは、ホストオペレーティングシステムの異機種性が一因となり、クライアントエージェントの実用性がかなり制限されることもある。さらに、種々のモバイルハンドセットが、異なる様々なオペレーティングシステム上で実行され得ることから、前述したような実施例には、典型的に複雑なソフトウェア統合が必要となる。このソフトウェア統合は一般的に、Windows、Symbian、および同様のものなどの「オープン」オペレーティングシステムのものとは対照的に、「クローズド」オペレーティングシステム(Nucleusなど)上で実行されるモバイルハンドセットが使用される場合、さらに複雑であることが分かっている。] [0014] したがって、前述した制限を克服する一方で、依然としてレガシーLBA/大容量記憶モードでの動作可能性を提供する(すなわち、流通している従来のホストファイルシステムに対応する)方法、システムおよび装置が望まれている。 大容量記憶デバイス(SDおよびMMC(マルチメディアカード)タイプの大容量記憶デバイスを含むFLASHメモリデバイスなど)は、記憶容量と、関連した大容量記憶デバイスコントローラの能力(すなわち、処理リソース)との両方において大きく拡大した。このような利用可能な記憶容量の拡大は、利用可能なメモリに能力が大きく左右されるデバイス(「ホストデバイス」)の全般的な利用可能性に相乗効果をもたらした。前述したデバイスには、携帯メディアプレーヤなどの携帯デジタルデバイス、インタラクティブパーソナル通信デバイス(携帯電話、PDA(個人用携帯情報端末)など)、および同様のものがある。こうして、フラッシュメモリなどの大容量記憶デバイスの記憶能力を使用するデジタル製品にデジタルコンシューマが接触することが非常に増えた。] [0015] このような接触は主として、接続または未接続の複数のホストデバイスにまで広がったり、有線対無線、固定対モバイルなどの複数アクセスモードにまで広がったりしている。そのそれぞれは特有の記憶要件を有する。大容量記憶デバイス上に格納されているデータのインデックス生成に対して提案されている構成は、一般に、各ホストデバイスに対して異なるホスト特有プログラムを使用することを含む。当該プログラムは、典型的には、ホストデバイス上、および/またはホストデバイスが常にもしくは時々接続されるリモートサーバ上にインストールされる。] [0016] その結果、提案されているインデックス付け構成は、概して、ホストデバイスに密結合されたプログラムを含む。したがって、例えば、ホストデバイスに密結合されているそのようなインデックス付けプログラムは、一般に、当該ホストデバイスとともに動作するようにカスタマイズされなければならない。さらに、データのインデックス付けにおけるホストデバイスの関与が大きいと、他の機能に望まれ得るかまたは必要とされ得るホストデバイスの処理能力が、奪われる可能性がある。] [0017] レガシーインデックス付け構成について考えられるもう1つの欠点は、例えばモバイルホストデバイスがUSBケーブルを介してコンピュータに接続され、コンテンツが記憶デバイスに格納される「コンテンツサイドロード」に見られる。この場合、デバイスを管理するのは、モバイルホストが接続されているコンピュータのファイルシステムであり、結果として、モバイルインデックス付けアプリケーションは、コンピュータによって実行される記憶動作を感知しないため、コンテンツにインデックス付けを行わない。] [0018] 典型的には周知の標準に従う「バス」と呼ばれる複数の導線を使用して、ホストプロセッサを種々のデバイスに接続することは、普通のこととなった。バスに接続されるデバイスには、メモリ/記憶デバイス、通信デバイス、検出デバイスなどが含まれると考えられ、こうしたデバイスは、固定またはリムーバブルのいずれでもよい。多くの場合、バスを定義するワイヤの一部または全部が、バスに接続されているデバイスのいずれかおよび/または全部に共有される。バスに結合されているデバイスは、同じ導線を共有することから、各デバイスは、典型的に一意のIDまたはバス上のアドレスを付与され、その一意のID/アドレスに宛てられたメッセージのみに応答するように設定される。このようにして、バスを形成する同じ導線を複数のデバイスが共有することができ、そうでない場合に必要とされるバスサイズよりも大幅に縮小されたバスサイズがもたらされる。] [0019] 典型的に、バスにはマスタ/スレイブバスプロトコルが採用される。マスタ/スレイブは、1つのデバイスまたはプロセスが、1つ以上の他のデバイスに対して一方向の制御権を有する通信プロトコルのモデルである。従来のシステムでは、デバイス間またはプロセス間のマスタ/スレイブ関係が確立されると、制御の方向は常にマスタからスレイブであり、すなわち、スレイブはトランザクションを開始できない。一部のシステムでは、適格な複数デバイスのグループからマスタが選ばれ、他のデバイスはスレイブの役割を果たす。従来のシステムでは、データがスレイブデバイス間で直接転送されることはない。代わりに、データは典型的に、共通バス上でソーススレーブ記憶デバイスからホストコントローラまたはそのほかの中間段階へ渡され、データはそこに一時的にキャッシュされてから、ホストコントローラによって共通バス上に再出力されて宛先スレイブ記憶デバイスがターゲットとされ、続いて宛先スレイブ記憶デバイスにおいてデータがバスから読み込まれて格納される。] [0020] 従来のシステムは十分に機能するが、デバイス間でデータを転送するのに必要なホストCPUリソースを軽減し、さらにホストおよび/または他の一時記憶デバイスのバス利用およびメモリ要件を軽減することが望ましい。 市場に出ている携帯形(すなわち、小さな形態的要素でハンドヘルドの)コンシューマ電子製品の数および種類は急増している。こうした携帯コンシューマ電子製品には、例えば、PDA、メディアプレーヤ、セルラー電話、およびカメラがある。競争および他の理由から、こうしたコンシューマ電子製品の機能性が拡大されてきた。例えば、セルラー電話にPDAおよびカメラの機能性が追加され、PDAにセルラー電話および音楽プレーヤの機能性が追加され、メディアプレーヤにPDAおよびビデオゲームの機能性が追加されるなどしている。] [0021] 携帯コンシューマ電子製品は、その主要機能を提供するために、ホストデバイスを使用してホストアプリケーションを実行し、ホストアプリケーションは従来の大容量記憶デバイスに格納されているコンテンツを使用する。その結果として、ホストアプリケーションは、ハンドヘルドコンシューマ製品の主要機能に直接関係するコアサービスと、記憶デバイスに格納されているコンテンツの操作および管理に関係する補助サービスとの両方を提供することができる。例えば、メディアプレーヤがMP3ファイルなどのメディアファイルを再生するために、ホストアプリケーションは、メディアプレーヤアプリケーションという形のコアアプリケーションを使用して、記憶デバイスに格納されている音楽ファイル(MP3ファイル形式)を読み出して再生することができる。ホストアプリケーションは、補助サービスアプリケーションを使用して、記憶デバイスに格納されている音楽ファイルを管理する機能をユーザに提供することもできる。そのようなユーザ管理には、プレイリストの操作および生成、特定の音楽ファイル、音楽ジャンル、アーティストなどの並べ替えおよび検索が含まれ得る。イメージ(静止およびビデオの両方)を表示するように構成されているメディアプレーヤの場合には、コアアプリケーションは、赤目軽減、白黒変換、イメージクロッピング、および回転などの修整機能をユーザに提供するフォト表示・編集用アプリケーションという形をとることができる。関連の補助サービスアプリケーションは、ユーザがイメージの並べ替え、記憶、および分類を行えるようにするイメージおよび/またはビデオ管理プログラムという形をとることができる。] [0022] したがって、コアサービス(MP3ファイルの再生、イメージファイルの表示、またはビデオファイル(MP4)の再生など)と、コンテンツ管理および操作に関係する補助サービス(イメージの並べ替えおよび分類、MP3ファイルの並べ替え、プレイリストの編集、コンテンツ検索、インデックス付けなど)との両方を提供するには、ホストアプリケーションを要求することができる。なお、ホストアプリケーションがコアサービスを提供するように要求されるか、または補助サービスを提供するように要求されるかにかかわらず、ホストアプリケーションは、記憶デバイス内に格納されているデータにアクセスしなければならない。記憶デバイスには、論理ブロックフォーマットを使用してすべてのファイルが格納されている。典型的には、データを論理ブロックフォーマットで格納することによってコアアプリケーション(例えば、音楽ファイルの再生)に過度の負担がもたらされることはないが、大容量記憶デバイスが、論理ファイルレベルではなく大容量記憶デバイスブロックの粒度で動作することから、補助サービスが最適に構成されない可能性がある。多くのファイル(MP3など)は所定サイズのものであり、こうしたファイルは、従来の大容量記憶デバイスによって強いられる論理ブロックとしてではなくデータオブジェクトとして格納されるほうがより自然であることから、特に当てはまる。] [0023] こうした携帯製品は、処理リソースおよび利用可能なRAMの両方が限られていることから、論理ブロックとして格納されているが、データオブジェクトとして格納されたほうがより自然であろうデータを、ホストアプリケーション(特に、補助アプリケーション)が処理することを必要とするプロセス集中形のタスクの実行を携帯コンシューマ電子製品が要求されると、問題が生じる恐れがある。特に、補助サービスとの関連でホストの処理リソースを最も消費するのは、典型的に検索/クエリ動作(すなわち、「読み込み関係」コマンド)であり、これは、ホストプロセッサによる過度の電力消費につながる恐れがあり、さらに、実行時間が長くなり、結果として応答性が遅くなる恐れがある。こうして、ユーザは通常、遅くてバッテリー寿命が短い製品を好まないことから、ユーザが不快なユーザ体験をすることになる恐れがある。 したがって、こうした欠点に対処するインデックス付け方法、システム、および装置が望まれる。] 先行技術 [0024] 仏国公開特許出願第0412199号 米国特許出願第12/029,356号] [0025] 本発明の種々の実施形態により、分散形記憶サービスを提供する様々な方法、デバイスおよびシステムについて開示する。前述したサービスには、ローカル記憶デバイスとエンドユーザとの直接対話を提供することが含まれる。] [0026] 本発明の一実施形態では、少なくともホストデバイス(HD)およびHDに管理されているローカル記憶デバイス(LSD)を備えるコンピューティングシステムについて記載する。LSDは、HDによって提供される当該インターフェイス以外にはHDの外部にあるデバイスに対する何らのインターフェイスも利用しない。LSDは、LSD論理リクエストを使用して、LSDと起動アプリケーション(launching application)との間に通信パスを確立するようにHDに指示することで、HDにリクエストされたプロセスの実行を間接的に指示する。LSDおよび起動アプリケーションは、HDによる介入なしに通信パス上で論理的に対話する。論理的対話は、リクエストされたプロセスをHDが実行するように起動アプリケーションに指示させる。] [0027] 本発明の一態様において、起動アプリケーションは、HDによって管理されるSIM(加入者識別モジュール)カードに関連する。SIMカードは、SIMアプリケーションツールキットコマンドセットまたはUSIMアプリケーションツールキットセットコマンドセット準拠とすることができる。] [0028] 別の実施形態では、コンピューティングシステムにおいて、リクエストされたプロセスを実行するように間接的にHDに指示する方法について記載する。コンピューティングシステムは、ホストデバイス(HD)と、HDによって管理されているローカル記憶デバイス(LSD)とを備え、LSDは、HDによって提供される当該インターフェイス以外にはHDの外部にあるデバイスに対する何らのインターフェイスも利用しない。この方法は、少なくとも以下の動作、すなわち、 HDによって開始されたプロセスに役立つように作成されるものではないLSD論理リクエストを使用して、LSDと起動アプリケーションとの間に通信パスを確立するようにHDに指示することと、通信パス上で論理的に対話することと、リクエストされたプロセスをHDが実行するように起動アプリケーションに指示させることと、リクエストされたプロセスを実行することとによって実行される。] [0029] 本発明の種々の実施形態による、改善されたインターネットアプリケーション(ブラウザなど)パフォーマンスを提供する様々な方法、デバイスおよびシステムについて記載する。一実施形態では、ローカル記憶デバイス(LSD)について記載する。LSDは、互いに独立して管理されている、少なくとも第1の部分および少なくとも第2の部分を含むように論理的に構成されたメモリアレイを少なくとも含む。第1のアプリケーションは、第1の部分内の第1のアプリケーションコンテンツを管理し、第2のアプリケーションは、第2の部分内の第2のアプリケーションコンテンツを管理する。第1および第2のアプリケーションは、互いに独立して実行され、第1のアプリケーションコンテンツの第1のアプリケーションによる管理は、第2のアプリケーションコンテンツの第2のアプリケーションによる管理から独立している。LSDは、ホストデバイスから独立して、第1の部分に格納されている第1のアプリケーションコンテンツを第2のアプリケーションに通知する。] [0030] 別の実施形態では、ホストデバイスファイルシステム(HDFS)およびネットワークインターフェイスを含むホストデバイスと、少なくとも第1の部分および少なくとも第2の部分を含むように論理的に構成されたメモリアレイを含むローカル記憶デバイスLSDとを少なくとも備えるコンピューティングシステムについて記載し、第1および第2の部分は互いに独立して管理される。第1の部分は、第1のアプリケーションがHDFSを使用して第1の部分内の第1のアプリケーションコンテンツを管理するように、HDFSによって管理され、第2の部分は、第2の部分がHDFSに認識されないように、HDFSによって管理されない。第1および第2のアプリケーションは、互いに独立して実行され、第1のアプリケーションコンテンツの第1のアプリケーションによる管理は、第2のアプリケーションコンテンツの第2のアプリケーションによる管理から独立している。LSDは、第1の部分において利用可能な第1のアプリケーションコンテンツを第2のアプリケーションに通知し、この通知はHDから独立している。] [0031] ローカル記憶デバイス(LSD)によって実行される方法について記載する。LSDは、少なくとも第1の部分および少なくとも第2の部分を含むように論理的に構成されたメモリアレイを含み、第1および第2の部分は、互いに独立して管理され、第1のアプリケーションが、第1の部分内の第1のアプリケーションコンテンツを管理し、第2のアプリケーションが、第2の部分内の第2のアプリケーションコンテンツを管理する。第1および第2のアプリケーションは、互いに独立して実行され、第1のアプリケーションコンテンツの第1のアプリケーションによる管理は、第2のアプリケーションコンテンツの第2のアプリケーションによる管理から独立している。この方法は、少なくとも以下の動作、すなわち、LSDによって、第1の部分内に格納されている第1のアプリケーションコンテンツをホストデバイスから独立して第2のアプリケーションに通知することによって実行される。] [0032] 別の実施形態では、ホストデバイス(HD)と通信しているローカル記憶デバイス(LSD)を備えるシステムによって実行されるコンピュータプログラム製品について記載する。LSDは、互いに独立した、少なくとも第1の部分および少なくとも第2の部分を含むように論理的に構成されたメモリアレイを含む。第1のアプリケーションは、第1の部分内の第1のアプリケーションコンテンツを管理し、第2のアプリケーションは、第2の部分内の第2のアプリケーションコンテンツを管理する。第1および第2のアプリケーションは、互いに独立して実行され、第1のアプリケーションコンテンツの第1のアプリケーションによる管理は、第2のアプリケーションコンテンツの第2のアプリケーションによる管理から独立している。このコンピュータプログラム製品は、LSDによって、第1の部分内に格納されている第1のアプリケーションコンテンツを第2のアプリケーションに通知するコンピュータコードと、このコンピュータコードを格納するコンピュータ可読媒体とを含み、通知はHDから独立している。] [0033] 本発明の種々の実施形態による、保護されているデジタルコンテンツをセキュアに配布および消費する様々な方法、デバイスおよびシステムについて記載する。一実施形態では、デジタルコンテンツプロバイダによってDRM方式に従い少なくとも1つの制限が加えられた、保護されているデジタルコンテンツを取得および消費する方法について記載する。この方法は、メモリアレイを有するローカル記憶デバイス(LSD)を備えるシステムによって実行可能であり、LSDは、メモリアレイの少なくとも一部分を管理するように構成されているホストデバイスファイルシステム(HDFS)を少なくとも有するホストデバイス(HD)と結合されている。この方法は、保護されているデジタルコンテンツをLSDによって取得すること、取得された保護されているデジタルコンテンツをLSDによってメモリアレイにセキュアに格納すること、および保護されているデジタルコンテンツを消費することによって実行でき、当該取得することおよびセキュアに格納することといった動作はそれぞれ、DRM方式に従い、どちらもHDFSによって開始されるものではない。保護されているデジタルコンテンツの消費は、セキュアに格納された保護されているデジタルコンテンツの少なくとも一部をデジタルデータストリームに変換することと、そのデジタルデータストリームをLSDによってストリーミングすることとによって実行可能である。デジタルデータストリームに、使用制限である少なくとも1つの制限が加えられていれば、LSDはその使用制限を強制する。] [0034] 別の実施形態では、デジタルコンテンツプロバイダによってDRM方式に従い少なくとも1つの制限が加えられた、保護されているデジタルコンテンツを取得および消費するためのコンピュータプログラム製品について記載する。このコンピュータプログラム製品は、メモリアレイを有するローカル記憶デバイス(LSD)を備えるシステムに含まれているプロセッサによって実行可能であり、LSDは、メモリアレイの少なくとも一部分を管理するように構成されているホストデバイスファイルシステム(HDFS)を少なくとも有するホストデバイス(HD)と結合されている。このコンピュータプログラム製品は、保護されているデジタルコンテンツをLSDによって取得するためのコンピュータコードと、取得された保護されているデジタルコンテンツをLSDによってメモリアレイにセキュアに格納するためのコンピュータコードであって、当該取得することおよびセキュアに格納することはそれぞれ、DRM方式に従い、どちらもHDFSによって開始されるものではないコンピュータコードと、セキュアに格納された保護されているデジタルコンテンツの少なくとも一部をデジタルデータストリームに変換して、このデジタルデータストリームをLSDによってストリーミングすることによって、保護されているデジタルコンテンツを消費するためのコンピュータコードであって、このデジタルデータストリームに、使用制限である少なくとも1つの制限が加えられていれば、LSDはその使用制限を強制するものであるコンピュータコードと、コンピュータコードを格納するコンピュータ可読媒体とを少なくとも含む。] [0035] さらに別の実施形態では、デジタルコンテンツプロバイダによってDRM方式に従い少なくとも1つの制限が加えられた、保護されているデジタルコンテンツを取得および消費するためのシステムについて記載する。このシステムは、少なくともホストデバイスファイルシステム(HDFS)を有するホストデバイス(HD)と、メモリアレイを含みホストデバイス(HD)と結合されているローカル記憶デバイス(LSD)とを含み、メモリアレイの少なくとも一部分はHDFSによって管理されている。LSDは、保護されているデジタルコンテンツを取得し、メモリアレイにセキュアに格納し、当該取得することおよびセキュアに格納することはそれぞれ、DRM方式に従い、どちらもHDFSによって開始されるものではない。保護されているデジタルコンテンツは、セキュアに格納された保護されているデジタルコンテンツの少なくとも一部をデジタルデータストリームに変換することと、そのデジタルデータストリームをLSDによってストリーミングすることとによって消費される。デジタルデータストリームに、使用制限である少なくとも1つの制限が加えられていれば、LSDはその使用制限を強制する。] [0036] さらに別の実施形態では、コンピューティングシステムについて記載する。このコンピューティングシステムは、少なくともホストデバイスファイルシステムおよびLSDドライバを有するホストデバイス(HD)と、ホストデバイスファイルシステム(HDFS)によって管理される少なくとも1つの記憶エリアを有するローカル記憶デバイス(LSD)と、LSDの外部にありHDと通信しているリクエスト元アプリケーションとを備え、リクエスト元アプリケーションは、HDFSまたはLSDドライバのいずれとも、何らの通信パスも利用しない。リクエスト元アプリケーションは、HDFSによる介入なしに、少なくとも1つの記憶エリアに格納されているデータの選択された部分を、LSDに強制的に読み込ませ、次にLSDは、少なくとも1つの記憶エリアから読み込まれた選択されたデータを外部アプリケーションにストリーミングする。] [0037] 本発明の一態様では、少なくとも1つの記憶エリアに格納されたデータの選択された部分が、デジタルコンテンツプロバイダによってDRM方式に従い少なくとも1つの制限が加えられた、保護されているデジタルコンテンツであれば、LSDは、少なくとも1つの記憶エリアから読み込まれた保護されているデジタルコンテンツを、少なくとも1つの制限が加えられているデジタルデータストリームに変換することによって、少なくとも1つの記憶エリアから読み込まれた保護されているデジタルコンテンツを外部アプリケーションにストリーミングする。デジタルデータストリームに加えられている少なくとも1つの制限が使用制限であれば、LSDはその使用制限を強制する。] [0038] 本発明の特定の実施形態による、ホストデバイス(HD)からローカル記憶デバイス(LSD)へ送られる管理コマンドを処理する様々な方法、デバイスおよびシステムについて記載する。一態様では、ホストデバイス(HD)内のホストデバイスファイルシステム(HDFS)から送られた管理コマンドを、HDと通信しているローカル記憶デバイス(LSD)によって処理する方法について記載する。この方法は、関連した論理アドレスに対して動作を実行するようにLSDに命令する第1の管理コマンドをLSDにて受け取ることを含む。第1の管理コマンドが論理アドレスの少なくとも第1のセットと関連していれば、この方法は、少なくとも、リモートデバイス(RD)内のメモリ位置に対して動作を実行するようにRDに命令する第2の管理コマンドをLSDの外部にあるRDに送ることによって、第1の管理コマンドをLSDによって処理することを含む。様々な実施形態において、第2の管理コマンドをRDへ送ることおよび第1の管理コマンドに関連した動作をRD内のメモリ位置に対して実行することは、HDFSに認識されない。第1の管理コマンドが、論理アドレスの第1のセットと関連していなければ、この方法は、LSD内のメモリ位置に対してLSDによって実行される動作によってのみ、LSDによって第1の管理コマンドを処理することを含む。様々な実施形態おいて、LSDは、HDを介して提供される物理インターフェイス以外には、LSDの外部にある他のいかなるデバイスに対して、他の何らの物理インターフェイスも利用しない。] [0039] 特定の実施形態によれば、管理コマンドが、論理アドレスの少なくとも第1のセットと関連していれば、この方法は、LSDによって、LSDとRDとの間にHDを介する通信パスを確立するようにHDに指示することをさらに含む。好適な実施形態では、通信パスが確立されると、その通信パスの保持を除いて、HDによるそれ以上の介入は必要ない。] [0040] 本発明のシステムの態様において、少なくともホストデバイスファイルシステム(HDFS)を有するホストデバイス(HD)と、HD/LSDインターフェイスを用いてHDと結合されたローカル記憶デバイス(LSD)とを備えるコンピューティングシステムについて記載する。LSDは、メモリアレイと、このメモリアレイをローカルで管理するように構成されているLSDコントローラとを含む。メモリアレイは、HD/LSDインターフェイスを経由してLSDコントローラに管理コマンドを送ることによって、LSDコントローラを介してHDFSにより外部から管理される、少なくとも1つの大容量記憶領域を含むように論理的に構成されている。管理コマンドは、関連したメモリアドレス上で動作を実行するように、LSDに命令するとよい。特定の実施形態によれば、HDFSから受け取られた第1の管理コマンドが論理アドレスの少なくとも第1のセットに関連するとLSDコントローラが判断すれば、LSDコントローラは少なくとも、LSDの外部にあるデバイス(RD)に、RD内のメモリ位置に対して動作を実行するようにRDに命令する第2の管理コマンドを送ることによって、第1の管理コマンドを処理し、RDへ第2の管理コマンドを送ること、および第1の管理コマンドに関連した動作をRD内のメモリ位置に対して実行することは、HDFSに認識されない。さらに、一部の実施形態では、HDFSから受け取られた第1の管理コマンドが、論理アドレスの少なくとも第2の部分に関連するとLSDコントローラが判断すると、LSDコントローラは、LSD大容量記憶領域内のメモリ位置に対してLSDによって実行される動作によって、第1の管理コマンドを処理する。] [0041] 別の態様では、少なくともホストデバイスファイルシステム(HDFS)を有するホストデバイス(HD)を備えるコンピュータシステムについて記載する。このシステムは、HD/LSDインターフェイスを用いてHDに結合されたローカル記憶デバイス(LSD)をさらに含み、LSDは、メモリアレイと、メモリアレイをローカルで管理するように構成されているLSDコントローラとを含み、かつHD/LSDインターフェイスを経由してLSDコントローラへ管理コマンドを送ることによって、HDFSによりLSDコントローラを介して外部から管理される、少なくとも1つの大容量記憶領域を含むように論理的に構成されている。様々な実施形態において、HDFSは、第2の管理コマンドをリモートデバイス(RD)に送信するようにLSDに命令する第1の管理コマンドをLSDに送ることによって、LSDの外部にあるRDを、LSDを介して管理するようにさらに設定されている。] [0042] さらに別の態様において、LSDと通信しているホストデバイス(HD)内のホストデバイスファイルシステム(HDFS)から送られた管理コマンドを処理するように、ローカル記憶デバイス(LSD)内の1つ以上の有形媒体に符号化された論理について記載する。この論理は実行されると、LSDにて、関連した論理アドレス上で動作を実行するようにLSDに命令する第1の管理コマンドを受け取り、第1の管理コマンドが論理アドレスの少なくとも第1のセットに関連していれば、少なくとも、リモートデバイス(RD)内のメモリ位置に対して動作を実行するようにRDに命令する第2の管理コマンドを、LSDの外部にあるRDに送ることによって、第1の管理コマンドをLSDによって処理し、RDへ第2の管理コマンドを送ること、および第1の管理コマンドに関連した動作をRD内のメモリ位置に対して実行することは、HDFSに認識されず、第1の管理コマンドが論理アドレスの少なくとも第1のセットに関連していなければ、LSD内のメモリ位置に対してLSDによって実行される動作によってのみ、LSDによって第1の管理コマンドを処理するように動作可能である。] [0043] 一態様に従い、ホストデバイス(HD)を有するコンピューティングデバイスは、ローカル記憶デバイス(LSD)と通信し、LSDはメモリアレイを含む。方法は、LSDのメモリアレイに格納されたデータに関する検索インデックスを生成するように動作する。LSDによって、HDの関与なしに、LSDのメモリアレイに格納されたデータに関してインデックスデータが生成される。生成されたインデックスデータは、LSDによって、少なくとも検索インデックスの一部としてLSD上に格納される。このインデックスは、LSDのデータに関する検索クエリに応答するために使用可能なデータを含むとよい。クエリは、HDからまたはLSD内から生じるとよい。インデックスの使用は、検索クエリへの応答に限定されない。例えば、インデックスは、コンテンツの選別に使用され得る。] [0044] 種々の実施形態による、記憶サービスを提供する様々な方法、デバイスおよびシステムについて記載する。一実施形態は、システムについて記載する。このシステムは、少なくとも、データ記憶アレイ、論理データブロックとしてデータ記憶アレイに格納されているデータを管理するのに適した第1の論理インターフェイスと、論理データブロックとして格納されているデータに対応するデータオブジェクトを管理するのに適した第2の論理インターフェイスとを備える。論理データブロックとして格納されているデータの少なくとも一部が、第1のインターフェイスを経由して変更されると、変更されたデータは、第1および第2のインターフェイスの両方を経由してアクセス可能であり、第2のインターフェイスを経由してアクセス可能であることは、データオブジェクトプロパティの所定のセットを同時に管理することを伴う。] [0045] 別の実施形態では、ローカル記憶デバイス(LSD)について記載する。このローカル記憶デバイスは、データ記憶アレイ、論理データブロックとしてデータ記憶アレイに格納されているデータを管理するのに適した第1の論理インターフェイスと、論理データブロックとして格納されているデータに対応するデータオブジェクトを管理するのに適した第2の論理インターフェイスとを備える。論理データブロックとして格納されたデータの少なくとも一部が、第1のインターフェイスを経由して変更されると、変更されたデータは、第1および第2のインターフェイスの両方を経由してアクセス可能である。第2のインターフェイスを経由してアクセス可能であることは、データオブジェクトプロパティの所定のセットを同時に管理することを伴う。] [0046] さらに別の実施形態では、方法について記載する。この方法は、データ記憶アレイにおいて少なくとも以下の動作を実行することによって実行される。論理データブロックとしてデータ記憶アレイに格納されているデータを第1のインターフェイスを経由して管理することと、データ記憶アレイに格納されているデータオブジェクトを第2のインターフェイスを経由して管理することとであり、データオブジェクトは、論理データブロックとして格納されているデータに対応する。論理データブロックとして格納されたデータが、第1のインターフェイスを経由して変更されると、変更されたデータは、第1および第2のインターフェイスの両方を経由してアクセス可能である。第2のインターフェイスを経由してアクセス可能であることは、データオブジェクトプロパティの所定のセットを同時に管理することを伴う。] 図面の簡単な説明 [0047] 本発明の実施形態に従ったシステムの象徴的表現を示す。 本発明の実施形態に従ったホストデバイス/ローカル記憶デバイスシステムを示す。 本発明の実施形態に従ったホストデバイス/ローカル記憶デバイスシステムを示す。 本発明の実施形態に従ったホストデバイス/ローカル記憶デバイスシステムを示す。 本発明の実施形態に従ったコンピューティングシステムを示す。 本発明の実施形態に従ったコンピューティングシステムを示す。 本発明の実施形態に従ったコンピューティングシステムを示す。 図3に示されているネットワークのさらに詳細な図を示す。 図3に示されているネットワークのさらに詳細な図を示す。 本発明の実施形態に従ったプロセスを詳述するフローチャートを示す。 本発明の実施形態に従ったプロセスを詳述するフローチャートを示す。 本発明の実施形態に従った典型的なメディアネットワークを示す。 本発明に従った典型的なコンピューティングシステムを示す。 図9に示されているコンピューティングシステムの特定の実施例を示す。 本発明の実施形態に従ったローカル記憶デバイスの典型的な実施例を示す。 本発明の実施形態を示す。 本発明の実施形態を示す。 本発明の実施形態に従ったホストデバイス/ローカル記憶デバイスシステムを示す。 本発明の実施形態に従ったローカル記憶デバイス(LSD)のマッピングテーブルの図表現を示す。 本発明の実施形態に従ったローカル記憶デバイス(LSD)の把握される記憶容量の図表現を示す。 本発明の実施形態に従った管理コマンドを処理するプロセスを示すフローチャートである。 図15のプロセスで使用するのに適したシステムを示す。 LSDのメモリアレイに格納されたデータにインデックスを付けるようにLSDが設定されている、ホストデバイス(HD)およびローカル記憶デバイスを含むコンピューティングシステムを示す。 HDによるLSDに対するデータアクセスに基づきインデックスデータが生成される例を示す。 インデックス付けデータがHDにより獲得および/または使用され得るシステムの構成例を示す。 インデックス付けデータがマスタ/スレイブパラダイム外の外部デバイスに転送されることが可能な構成例を示す。 LSDのメモリアレイに格納されたデータを示すインデックス付けデータをLSDが判断していける方法を広い見方で示すフローチャートである。 本発明の実施形態に従ったシステムの簡略化したブロック図を示す。 本発明の実施形態に従った記憶デバイスの例の簡略化したブロック図を示す。 記憶デバイス間で直接データを転送するプロセスを示すフローチャートを示す。 本発明の実施形態に従ったデイジーチェーン構成で配列された複数の記憶デバイスを含むシステムの簡略化したブロック図を示す。 ホストデバイス(HD)およびローカル記憶デバイス(LSD)を含むシステムを示す。 同期化装置の実施形態である。 記載される実施形態との関連で実行可能な様々な動作を示す。 記載される実施形態との関連で実行可能な様々な動作を示す。 記載される実施形態に従ったフローチャートを示す。 ホストデバイス204において典型的に見られる追加コンポーネントを示す典型的なシステム900を示す。] 図15 図9 実施例 [0048] 以下、本発明の特定の実施形態を詳しく参照するが、その例が添付の図面に示されている。本発明について、特定の実施形態と併せて記載するが、当然のことながら、記載されている実施形態に本発明を限定することを目的としていない。反対に、添付の特許請求の範囲によって定義される本発明の意図および範囲内に含まれると考えられる代替物、変更物、等価物を対象とするものとする。なお、本願明細書に記載されるいずれの機能ブロックまたは機能構成も、物理エンティティもしくは論理エンティティのいずれかとして、または両方の組み合わせとして実装することができる。] [0049] 記憶デバイスコントローラの能力が向上することで、記憶デバイスコントローラによって利用可能にされる処理リソースを使用して記憶デバイス内からソフトウェアアプリケーションを実行することが可能になる。このような記憶デバイスコントローラの運用性の強化により、ユーザ指向の記憶サービスなど、新たな(かつ従来は実行不可能であった)対話モードのパラダイムがもたらされる。このようなユーザ指向の記憶サービスは、主として、特有の記憶要件をそれぞれが有する、接続もしくは未接続の複数のデバイスにまで広がったり、または有線対無線、固定対モバイルなどの複数アクセスモードにまで広がったりしている、ユーザのデジタルコンテンツ消費体験を改善するために使用することができる。] [0050] 「ユーザ中心」(従来の「デバイス中心」とは対照的)の記憶管理手法のサポートを提供するために、本発明は、ホストにより管理されるLBAベースの大容量記憶パラダイムの厳しい制限を越えて、レガシー大容量記憶デバイスと完全な下位互換性があると同時に他の種類の対話を用いて大容量記憶装置を強化する記憶サービスパラダイムを提供する。他の種類の対話は、例えば、記憶リソースおよびサービス構築ブロックを、場合によっては様々な物理的位置(すなわち、データ記憶デバイス、ホストコンピュータ内、またはネットワーク中)にわたって分散させることを可能にする。] [0051] これを考慮して、この記憶サービスパラダイムは、ローカルデータ記憶デバイスが今後、(1)同じホストコンピュータに存在する他のデータ記憶デバイスまたはリモートサーバコンピュータ上で実行されているアプリケーションとの対話を行うことができ、(2)その対話が、データ記憶デバイス自体によっても、ホストアプリケーションによっても、またはリモートサーバによっても開始可能となるように規定する。] [0052] 本発明はさらに、前に説明したメモリデバイスを含む電子システムに関することができる。メモリデバイス(すなわち、メモリカード)は、様々な電子製品で使用されるデジタルデータを格納するために一般に使用されている。メモリデバイスは、格納されたデジタルデータを持ち運び可能なように電子システムからリムーバブルであることが多い。本発明によるメモリデバイスは、比較的小さな形態的要素を有することができ、カメラ、ハンドヘルドまたはノートブック形コンピュータ、ネットワークカード、ネットワークアプライアンス、セットトップボックス、ハンドヘルドまたはそのほかの小形メディア(例えば、オーディオプレーヤ/レコーダ(例えば、MP3デバイス))、および医療用モニタなど、データを取得する電子製品のデジタルデータを格納するために使用可能である。] [0053] 以下、本発明の実施形態について、図1〜31を参照しながら説明する。なお、当業者には当然のことながら、本発明はこうした限られた実施形態に収まらないため、こうした図面に関して本願明細書で与えられる詳細な説明は、単に説明を目的としたものである。なお、本発明は、マルチメディアカード(MMC)およびセキュアデジタルカード(SD)などの不揮発性メモリを含むことができる、任意のタイプのローカルデータ記憶デバイスに使用可能であると考えられる。] 図1 図10 図11 図12A 図12B 図13 図14A 図14B 図15 図16 [0054] 図1は、本発明の実施形態に従ったマスタデバイス/スレイブシステム100の象徴的表現を示す。例として、本願明細書に記載される特定の実施形態によれば、スレイブデバイスは、限定はされないが、前に説明したローカル記憶デバイスのいずれかなどのローカル記憶デバイスという形をとるとよく、マスタデバイスは、限定はされないが、前に説明したホストデバイスのいずれかなどのホストデバイスという形をとる。なお、マスタ/スレイブは、1つのデバイスまたはプロセスが1つ以上の他のデバイスに対して一方向の制御権を有する通信プロトコルのモデルである。従来のシステムでは、デバイス間またはプロセス間のマスタ/スレイブ関係が確立されると、制御の方向は常にマスタからスレイブである。一部のシステムでは、マスタは、適格な複数デバイスのグループから選ばれ、他のデバイスがスレイブの役割を果たす。したがって、マスタ/スレイブシステム100(以下、簡単にシステム100と呼ぶ)は、従来のマスタ/スレイブパラダイム106もあって互いに関係し合ったマスタデバイス102およびスレイブデバイス104を含む。なお、さらに、スレイブデバイス104は、マスタデバイス102によって提供されるインターフェイス以外には、マスタデバイス102の外部にあるいずれのデバイスに対しても、何らのインターフェイスも利用しない。] 図1 [0055] マスタデバイス102は、いくつかのマスタデバイスプロセス108を動作させることができる。マスタデバイスプロセスとは、マスタデバイスのためだけに実行されるプロセスのことである。そのようなマスタデバイスプロセスには、例えば、マスタデバイス102に実行可能な命令を提供するのに役立つフェッチ命令コマンドなど、任意の数およびタイプのプロセスが含まれ得る。マスタデバイスプロセス108は、マスタデバイスプロセス110、112および114を含むことができ、そのそれぞれが、処理ユニット116によって実行されるとよい。プロセス110、112または114のうちの任意のものが、スレイブデバイスサービス118からのサービスをリクエストすることができる。例えば、プロセス110は、マスタデバイスリクエスト120を生成することで、スレイブデバイスサービス118のサービスをリクエストすることができる。スレイブデバイスサービス118は、スレイブサービスレスポンス122を用いてマスタデバイスリクエスト120に応答するとよい。例えば、マスタデバイスリクエスト120は、READコマンドという形をとってもよく、リクエストされたスレイブサービスレスポンス122は、DATAという形をとってもよい。しかし、従来のマスタ/スレイブパラダイム106の範囲の中では、スレイブデバイス104はマスタデバイス102に、マスタデバイスプロセス108のほかのいかなるプロセスも実行するように指示できず、いかなる方法でも実行させることができない。言い換えれば、従来のマスタ/スレイブパラダイム106という状況の中では、マスタデバイス102のみが、マスタデバイスプロセス108のうちの少なくとも1つを実行できる。] [0056] しかし、本発明は、スレイブデバイス104が、リクエストされるプロセス124をスレイブデバイス104のために実行するようにプロセッサ116に指示できるようにすることで、従来のマスタ/スレイブパラダイム106を回避する。このようにして、リクエストされるプロセス124は、プロセッサ116によって実行可能であり、なおかつマスタデバイスプロセス108のいずれからも完全に独立して無関係とすることができる。スレイブデバイス104は、スレイブデバイスプロセス128とスレイブデバイス論理リクエスト130とを関連付けることができるスレイブデバイスエージェント126を含むとよい。マスタデバイス102は、プロセッサ116と通信し、さらにスレイブデバイス論理リクエスト130によってスレイブデバイス104と通信するマスタデバイスエージェント132を含むとよい。こうすることで、マスタデバイスエージェント132は、スレイブデバイス論理リクエスト130を使用して、リクエストされるスレイブデバイスプロセス124を実行するようにプロセッサ116に指示することができる。このようにして、スレイブデバイスによって生成された論理リクエストは、マスタデバイスによって開始されるいかなるプロセスとも無関係かつ独立した、マスタデバイス提供の物理的レスポンスに変換されることが可能である。] [0057] 図2Aは、本発明の実施形態に従ったコンピューティングシステム200を示す。システム200は、スレイブデバイス104を含むことができ、スレイブデバイス104は、ローカル記憶デバイス(LSD)204という形をとることができる。LSD204は、比較的小さな形態的要素を有するメモリカードなどのリムーバブルメモリデバイスという形をとることができ、カメラ、ハンドヘルドまたはノートブック形コンピュータ、ネットワークカード、ネットワークアプライアンス、セットトップボックス、ハンドヘルドまたはそのほかの小形オーディオプレーヤ/レコーダ(例えば、MP3デバイス)、および医療用モニタなど、電子製品のデジタルデータを格納するために使用可能である。メモリカードの例には、PCカード(以前はPCMCIAデバイス)、フラッシュカード(例えば、コンパクトフラッシュタイプIおよびII)、セキュアデジタル(SD)カード、マルチメディアカード(MMC)、ATAカード(例えば、コンパクトフラッシュカード)、メモリスティック、SmartMedia(登録商標)カードがある。さらに、LSD204は、カリフォルニア州ミルピタスのサンディスクコーポレイションによって製造されたSD対応のiNAND(登録商標)を組み込んだフラッシュドライブなどの非リムーバブルメモリデバイスという形をとることもできる。] 図2A [0058] LSD204は、ホストデバイス(HD)202という形のマスタデバイス102とHD/LSDインターフェイス206を経由して通信することができる。なお、HD/LSD206は、HD202およびLSD204が機械的に接続することができる機械的エンティティ(ソケットまたは相互接続バスなど)として構成可能である。いくつかの実施形態では、HD/LSD206は無線インターフェイスという形をとることができる。HD202がマスタデバイスであることから、HD202はプロセッサを含む。なお、明瞭にするために、HD202に含まれているプロセッサは、図に示されることも、この説明の中でさらに言及されることもないが、それでも想定上は存在しているものとする。LSD204は、物理的に、HD202に排他的に接続可能であり、したがって、HD202による介入なしにコンピューティングシステム200の外部の回路および/またはアプリケーションにアクセスすること、または他の形でそれと通信することはできない。典型的には、LSD204は、HD202によって提供される当該インターフェイス以外には、HD202の外部のデバイスに対する何らのインターフェイスも利用しない。] [0059] HD202は、LSDドライバ210と通信しているホストデバイスファイルシステム(HDFS)208を含む。記載されている実施形態では、HDFS208は、LSD管理コマンド212をLSDドライバ210へ発行することができる。LSDドライバ210は、次に、LSD管理コマンド212(適切にフォーマットされている)を、HD/LSDインターフェイス206を経由してLSD204に渡すことができる。例えば、LSD管理コマンド212は、LSD204が論理ブロックアドレス(LBA)アーキテクチャを有するデータ記憶アレイを含むように設定されている場合、ブロックコマンドという形をとることができる。HD202は、(内部)ソフトウェアアプリケーション214も含むことができる。内部アプリケーションとは、ソフトウェアアプリケーション214が、HDFS208およびLSDドライバ210を利用してLSD204と通信できるということである。そのようなソフトウェアアプリケーションは、ホストデバイスオペレーティングシステム(HDOS)216およびアプリケーション218を含むことができ、それぞれ、典型的に、ホストデバイスのメインメモリ(ハードディスクドライブ、すなわちHDDならびにフラッシュメモリなどの不揮発性メモリという形をとることができる)に存在する。] [0060] 記載されている実施形態では、ソフトウェアアプリケーション214は、HDFS208およびLSDドライバ210を利用してLSD204と通信することができ、したがって、HDFS208に「認識」される。しかし、アプリケーション214とは対照的に、外部アプリケーション220(以下、ターゲットアプリケーションと呼ぶ)は、ターゲットアプリケーション220と、HDFS208およびLSDドライバ210のいずれとの間にも何らの通信パスも利用せずにLSD204と通信することから、HDFS208に「認識」されない。記載される実施形態では、ターゲットアプリケーション220は、ローカルまたはリモートのいずれかで、任意数の位置およびデバイスに存在することができる。そのような位置およびデバイスには、例えば、HD202(ローカルアプリケーション220−1を有する)または外部デバイス222(ローカルアプリケーション220−2を有する)など、HD202およびLSD204の外部にあるがそれでもシステム200内にある任意のデバイスが含まれると考えられる。記載される実施形態では、外部デバイス222は、インターフェイス223を経由してHD202に結合された第2のLSD222という形をとることができる。さらに、当該位置およびデバイスは、HD202とネットワークリンク228を経由してネットワークインターフェイス230にて通信しているネットワーク226に含まれシステム200の外部にあるデバイス224(リモートアプリケーション220−3を有する)も含むことができる。このようにして、ネットワークリンク228を使用するコマンドパスを、外部デバイス224とHD202との間に確立可能であり、ここを情報232が通ることができる。] [0061] HD202は、ネットワークインターフェイス230を経由して、ネットワーク226と通信することができる。記載される実施形態では、ネットワークインターフェイス230は、ネットワークリンク228を経由した、HD202とネットワーク226との間の通信を促進する。例えば、ネットワーク226がIP(インターネットプロトコル)プロトコルタイプのネットワークであれば、ネットワークインターフェイス230は、例えばアプリケーション218とネットワーク226に含まれる任意のネットワークデバイス(ND)224との間にIPプロトコルベースのネットワークリンク228(URLなど)を確立することができる。なお、ネットワークインターフェイス230は、適切と判断される任意の場所に物理的に位置することができる。例えば、ネットワークインターフェイス230をHD202に組み入れることが可能である。ただし、ネットワークインターフェイス230は、HD202(またはシステム200)に含まれない任意の物理的位置に位置するが、それでもHD202によってネットワーク226との適切なネットワークリンク228を確立するために利用することも可能である。したがって、ネットワークインターフェイス230は、HD202内に物理的に組み入れられるように、またはその極めて近くにあるように制限されるものではない。] [0062] マスタデバイスエージェント132は、マスタデバイスエージェント132に関して前述した機能に加えて、LSD204により提供される記憶サービスと任意の利用可能な外部リソースとの間のブリッジ機能性を少なくとも提供するホストデバイスエージェント234という形をとることができる。記載される実施例では、ホストデバイスエージェント234は、適切な任意の手段(以下にさらに詳しく記載するポーリングまたは割り込みなど)によるLSD論理リクエストを特定するために使用可能である。さらに、ホストデバイスエージェント234は、ターゲットアプリケーションへの通信パス/ターゲットアプリケーションからの通信パスがホストデバイスエージェント234によって確立されてからは、このルーティングおよび/または保持を行うように設定可能である。さらに、ホストデバイスエージェント234は、任意のタイプのターゲットアプリケーションに役立つように、アプリケーション中立とすることができる。] [0063] LSD204は、コントローラ236と、第1の記憶アレイ240および第2の記憶アレイ242を含む大容量記憶アレイ238とを含むことができる。なお、記憶アレイ238は、メモリセル(フラッシュメモリセルなど)のアレイから形成可能である。この特定の場合では、大容量記憶アレイ238をフラッシュメモリセルのアレイと仮定することができるが、本発明は任意の適切なタイプのメモリセルとともに使用可能であると考えられるため、本発明はフラッシュタイプのメモリセルのみに限定されない。コントローラ236は、第1の記憶アレイ240を、ホスト/LSDパラダイム106の範囲内で管理する(すなわち、HDFS208の命令通りに機能する)ことができるファイルマネージャ243を含む。特に有用な構成では、第1の記憶エリア240は、LBAベースの大容量記憶アレイとすることができる。こうすることで、第1の記憶アレイ240はレガシー設置基盤に対応する。したがって、第1の記憶エリア240に格納されるデータのブロックの位置は、論理ブロックアドレッシング(LBA)を使用して指定することができ、各ブロックは、例えばそれぞれ512または1,024バイトのオーダとすることができる。こうすることで、第1の記憶エリア240は、任意の考えられるレガシー大容量記憶装置アーキテクチャと完全な下位互換性を持つことができ(すなわち、従来のホストとともに機能できる)、より詳しく言えばLBAタイプのシステムと完全な下位互換性を持つことができる。特に、LSD204(特に、第1の記憶エリア240)は、レガシーインターフェイス、バス、およびすべての関連したプロトコルを使用する標準のLBAアーキテクチャのもとで動作することができ、レガシー製品の設置基盤との完全な互換性が提供される。] [0064] コントローラ236は、インターフェイス246を使用して、第1の記憶エリア240と第2の記憶領域242との間のブリッジ(後述する)として機能することができるLSDエージェント244も含むことができる。LSDエージェント244は、内部LSDアプリケーション250が、外部デバイスおよび/またはターゲットアプリケーションと、標準プロトコル(インターネットプロトコル、すなわちIPなど)および任意の利用可能なネットワークリソースを使用しLSDインターフェイス252を経由して通信するためのメカニズムとを提供するネットワークスタック/インターフェイス248も管理することができる。特に、LSD204は、ホストデバイスエージェント234が、命令(メッセージフェッチなど)をHD/LSDインターフェイス206のLBAベースの実施例に適切な形で実行できるようにするために、任意のネットワーク通信(LSD論理リクエスト130など)を標準フォーマット(物理バスベースのフォーマットなど)に変えることができる。このようにして、例えば、フェッチされた任意のメッセージを、ホストデバイスエージェント234とリモートアプリケーション220−3との間に作成されたネットワークリンク228(またはローカルアプリケーション220−1もしくは220−2とLSD204との間のローカル通信パス)上で無事に伝達可能である。この関連で、ネットワークスタック/インターフェイス248は、LSDエージェント244の一部と考えることが可能である。LSDエージェント244はさらに、認証およびセキュリティサービスをLSDアプリケーション250に提供すること、ならびに到着する任意のサービスリクエストを管理することができる。] [0065] 第1の記憶エリア240もしくは第2の記憶エリア242のいずれか(または両方)は、別々の内部領域に分割可能である。この分割された領域はそれぞれ、互いに、さらに/またはLSD204の外部にある回路および/もしくはソフトウェアアプリケーションと任意の適切な形で対話できるように作用することが可能である。そのような外部電気回路は、例えば、HD202(その中にホストファイルシステム208などのすべてのコンポーネントを含む)、LSD222、またはND224などのネットワーク226に含まれるいくつかの外部デバイスのいずれかを含むことができる。] [0066] 第2の記憶エリア242は、領域254を含むように分割可能である。記載される実施形態では、領域254は、HDFS208に「認識」されないように設定することが可能であり、したがって、隠された記憶エリア(CSA)254として指定することができる。こうすることで、CSA254のいかなるデータコンテンツまたはデータコンテンツに対する変更も、HDFS208による検出はできなくなる(それについて報告されない限り)。ただし、HDFS208は、前述した任意のデータコンテンツまたはデータコンテンツの変更について報告を受けることができる。例えば、以下にさらに詳しく記載するように、HDFS208と通信していない任意の回路またはソフトウェアアプリケーション(ND224に存在するリモートアプリケーション220−3、HD202内のローカルアプリケーション220−1、およびLSD222内のローカルアプリケーション220−2など)が、それ自体とCSA254との間にHDFS208によって認識されることなく通信パス256を確立するように、HD202に指示することができる。反対に、LSD204は、LSD204と任意の指定のアプリケーション220との間に通信パス256を確立するように、HD202に指示することができる。なお、確立されると、情報(情報232、情報258、および情報260など)はHD202によるそれ以上の介入なしで(データパケットルーティングなど、データの受け渡しに関係する任意の介入を除き)、かつHDFS208に認識されずに渡されることが可能である。しかし、場合によっては、CSA254が、そのような任意の変化についてHDFS208に報告を提供することができる。] [0067] 第1の記憶エリア240は、領域260を含むように分割可能である。記載される実施形態では、領域260は、HDFS208または通信がHDFS208によって取り次がれる限りはそのほか任意の適切な外部回路にとって、完全にアクセス可能とすることができる(例えば、いくつかの実施形態において前に多少詳しく記載したLBAベースのコマンドを使用して)。したがって、領域260は、ホストデバイスファイルシステム208がホスト記憶エリア(HSA)260を管理するということを踏まえて、HSA260と表すことができる。本発明の一態様では、CSA254およびHSA260は、HDFS208から独立しているインターフェイス246を経由して互いに通信することができる。記載される実施形態では、インターフェイス246は、LSDエージェント244の一部として、第1の記憶エリア240と第2の記憶エリア242との橋渡しをすることができる。LSDエージェント244は、内部ファイル管理システム(例えば、LSDFS)を含むことができ、これは例えば、HDFS208によって管理されているファイルアロケーションテーブル(FAT)を読み取ることができる。LSDエージェント244はさらに、CSA254への書き込み、CSA254からHSA260への書き込みを、例えばダミーコンテンツを有するプレースホルダファイルを使用して行うことができる。このように、CSA254およびHSA260は、HDFS208には見えない通信パス262上で互いに通信することができる。場合によっては、CSA254および/またはHSA260のすべて(または一部のみ)を、それぞれ保護されている部分264および266として指定可能である。保護されているとは、HDFS208が、許可されない限りはこうした保護されている領域にアクセスできないということである。そのような許可は、例えば許可サーバなど、コンピューティングシステム200の外部にあるデバイスによって提供可能である。前述したように、LSD204は、リクエストされたプロセス124をLSD204のために実行するように、HD202に指示することができる。なお、ホストコマンド(例えば、読み込み/書き込み)がLSD論理リクエスト130の生成をトリガする場合でも、LSD論理リクエスト130が、ホストコマンドに役立つものであることはない。] [0068] このように、リクエストされたプロセス124は、ホストプロセス108のいずれとも完全に独立し、無関係とすることができる。特に、LSD204は、例えば、ローカルアプリケーション220−1および/または220−2のいずれかに対するネットワークリンク228の確立および/または通信パス256の確立を、HD202に指示することができ、これはすべてHDFS208に認識されない。なお、リクエストされたプロセス124が実行される(すなわち、例えば適切な通信パスが確立される)と、HD202によるそれ以上の介入は何ら必要ない(任意のルーティングまたはそのほかのハウスキーピング機能を除いて)。HD202は、LSD論理リクエスト130の実行を、いくつかの方法でLSD204により指示することが可能である。] [0069] 場合によっては、リクエストされたプロセスの実行をHD202に間接的に指示することが、LSD204にとって望ましいことがある。間接的とは、LSD204が、リクエストされたプロセスを実行するように、HDエージェント234とは別の異なる中間エージェントを使用して、HD202に指示するということである。リクエストされたプロセスの間接的な指示について、図2Bのコンピューティングシステム270を参照して説明することができる。図に示すように、LSD204内のエージェント244は、エージェント244とターゲットアプリケーション274(起動アプリケーションとも呼ばれる)との間に通信パス272を確立するように、LSD論理リクエスト130を使用してHD202に指示することができる。なお、起動アプリケーション274は、ローカルまたはリモートに位置することができる。例えば、エージェント244がLSD204に存在し、起動アプリケーション274がND224に存在することができ、その場合、HD202は、ネットワークインターフェイス230を使用して、通信パス272(すなわち、ネットワークリンク228に類似する)を確立する。あるいは、起動エージェント274は外部デバイス222またはHD202内に存在することができ、その場合、通信パス272はローカル通信パス256に類似することになる。] 図2B [0070] いずれの場合でも、通信パス272が確立されると、エージェント244は、通信パス272上で、HD202によるそれ以上の介入なしに(通信パス272の保持を除いて)起動アプリケーション274と論理的に対話できる。この論理的対話の一部として、エージェント244は、トリガコマンド276を起動アプリケーション274に渡すことができる。起動アプリケーション274は、コマンド280を送ることで、リクエストされたプロセス278を実行するようにHD202に指示することによって、トリガコマンド276に応答することができる。その結果、HD202は、リクエストされたプロセス278を実行することができる。リクエストされたプロセス278は、もとのエージェント244をポイントすることができる。このように、エージェント244と、リクエストされたプロセス278とは、論理的に対話することができる。] [0071] 本発明のこの態様の特に有用な実施形態は、ユーザと論理的に対話することがLSD204にとって望ましいと考えられる状況で実現される。この実施形態の特定の実施例が図2Cに示され、起動アプリケーション274は、外部デバイス222に存在することができる(ただし、前述したように、起動アプリケーション274は、リモートまたはローカルに存在することができることに留意するべきである)。この例では、外部デバイス222は、加入者識別モジュール(SIM)カード222という形をとることができる。当該技術分野では周知のように、SIMカード222は、モバイルコンピュータおよびモバイル電話などのモバイルセルラー電話デバイスに使用することができる。SIMカードは、加入者を識別するために使用されるサービス加入者キー(IMSI)をセキュアに格納することができる。さらに、SIMカードは、ユーザが、単にSIMカードを1つのモバイル電話から取り外してそれを別のモバイル電話または広帯域電話デバイスに挿入することで、その加入を保ちながら電話(またはそのほかの広帯域通信デバイス)を変更できるようにする。この例では、SIMカード222は、SIMカード222がHD202(例えば、携帯電話という形をとることができる)上のプロセスを主体的に起動できるようにするSIMアプリケーションツールキット(STK)コマンドセットに準拠している。STKコマンドセットは、SIMカードがどのようにして外界と直接対話すべきかを定義するSIMカードにプログラムされた命令を含み、ハンドセットおよびネットワークから独立してコマンドを開始する。これによって、SIMカードは、ネットワークアプリケーションとエンドユーザとの間のインタラクティブなやり取りを確立し、ネットワークにアクセスすることまたはネットワークへのアクセスを制御することができる。SIMカードは、ハンドセットにも、メニューを表示してユーザ入力を求めるなどのコマンドを与える。] 図2C [0072] したがって、直接の通信パスを確立し、その結果エンドユーザと対話するためにLSD102が使用できる1つの手法は、次のように実装することができる。リクエストされたプロセスのHD202上での実行を、起動アプリケーション274を使用してHD202に主体的に指示するように構成されたSIMカード222への通信パス272を確立するように、エージェント244がHD202に指示することができる。なお、ISOインターフェイスベースのSIMカードでは、通信パス272は、SIM側でBIP(ベアラ独立プロトコル)を使用して確立可能である。一方、USBインターフェイスベースのSIMカードでは、通信パス272は、SIM側でイーサネットエミュレーション(EEM)クラスを使用して確立可能である。] [0073] この場合、SIMカード222は、STK準拠のSIMカード222とすることができる。しかし、以下のように、本発明は特定の通信テクノロジーにもネットワークタイプにも限定されない。いずれの場合でも、エージェント244は、例えばブラウザアプリケーション278という形をとることができるリクエストされたプロセス278を実行するようにHD202に指示するべく、STK準拠のSIMカード222(起動アプリケーション274を使用する)をトリガすることができる。記載される実施形態では、ブラウザアプリケーション278はエージェント244(およびLSD204)をポイントする。ブラウザアプリケーション278は、ユーザインターフェイス(UI)280を、例えばディスプレイユニット282上に表示させることができる。UI280は、ユーザ入力284をアイコン286にて受け取ることができる。このように、UI280およびエージェント244は論理的に対話することができ、その結果、LSD204に、UI280およびユーザ入力284を提供するユーザに対する直接アクセスを提供する。場合によっては、SIM222が、ブラウザ278とLSD204との間の中間段階として機能する必要があることもある。いずれの場合でも、LSD204およびUI280は、HD202の介入なしに論理的に対話することができる(HD202がブラウザ278を実行して、様々な通信パスの保持に関して適切なハウスキーピング任務を提供するということを除いて)。] [0074] 例えば、UI280は、ユーザ入力284を受け取ることができる。ユーザ入力284を、例えばユーザ選択イベント288として、ブラウザアプリケーション278により処理することが可能である。ブラウザアプリケーション278は、エージェント244をポイントすることができることから、エージェント244は、ブラウザアプリケーション278とエージェント244との間の論理的対話の一部として、ユーザ選択イベント288をHD202による介入なしに(HD202が、様々な通信パスを保持し、ブラウザアプリケーション278を実行するということを除いて)受け取ることができる。ほぼ同じように、エージェント244は、論理的対話によって、UI280またはディスプレイユニット282を使用して情報をユーザに渡すことができる。そのような情報には、例えば、LSD204の現在の状態、選択された格納されているコンテンツのリストなどが含まれ得る。] [0075] なお、ネットワークおよび対応するテクノロジーに応じて、SIMカードには様々な呼び方がある。例えば、3Gタイプのネットワークでは、SIMカードはUSIMカードと呼ばれる。したがって、USIMアプリケーションツールキット、すなわちUSATを参照することになる。いずれの場合でも、本発明は、任意のネットワークおよび対応するテクノロジー(STK、USATなど)で使用可能である。] [0076] 図3Aは、本発明の実施形態に従ったポーリング方式300を示す。HD202は、ポーリング信号(PS)302をLSD204へ送ることによって、LSD204にポーリングを行うことができる。PS302は、LSDエージェント244によって傍受される。記載される実施形態では、LSDエージェント244は、LSD論理リクエスト130を生成することによってPS302に応答する論理リクエストジェネレータ304を含むことができる。論理リクエストジェネレータ304は、その後、LSD論理リクエストをホストデバイスエージェント234に送り返す。なお、記載されるポーリングプロセスは、HD202が、LSD204から特定の応答があることを要求または期待していることを条件としたものではない。このように、LSD204は、単にポーリング信号302にLSD論理リクエスト130を用いて応答することによって、HD204に、リクエストされたプロセス124を実行するようにいつでも指示することができる。記載される実施形態では、LSD論理リクエスト130は、LSDによりリクエストされたプロセス124を実行するようにHD202に指示することができるコマンド情報を含む。なお、コマンド情報は、HD202によって完了されるべき特定の動作(コマンドパス256の設定など)を示すコマンドコードなどのデータを含むことができる。] 図3A [0077] コマンド情報は、例えばターゲットデバイス識別(ID)、ターゲットデバイス位置(例えば、IPアドレス)などのデバイス情報も含むことができる。しかし、場合によっては、LSD204もHD202も、要求されるタスクを完了するための十分な情報を保有していない。例えば、LSD204は、特定の動作を示すコマンド情報を提供することができるが、特定のターゲットデバイスIDまたはターゲットデバイス位置を欠くこともある。こうした状況では、例えば、欠けているが必要な情報を獲得するために、LSD204がネットワークリンク228を経由してクエリを行うことができる発見サーバコンピュータを利用することができることもある。例えば、LSD204は、いつでも単にLSD論理リクエスト130を用いてPS302に応答することによって、ターゲット記憶デバイス上での記憶動作を開始することができる。LSD論理リクエスト130は、LSD204とターゲット記憶デバイスとの間のコマンドパスを確立するための、HD202に対する命令を備えたコマンドを含むことができる。なお、ターゲット記憶デバイスは、HD202が適切なコマンドパスを確立できる限り、任意の位置にあってよい。例えば、ターゲット記憶デバイスがネットワーク226内のND224であれば、HD202は、ネットワークインターフェイス230とND224との間にネットワークリンク228を確立することによって、LSD論理リクエスト130に応答することができる。] [0078] リクエストされたプロセス124を実行するようにLSD204がHD202に指示することができるもう1つのメカニズムについて、図3Bに示されているLSDによって生成される割り込みの観点から記載する。LSD論理リクエストジェネレータ304から受け取られたLSD論理リクエスト130と、LSDが生成した割り込み404とを関連付けるLSD割り込みアソシエータ402とを使用して、LSD204は、リクエストされたプロセス124を実行するようにHD202に指示することができる。LSD論理リクエスト130がLSD割り込み404と関連付けられると、LSD204は、HD202宛てに割り込み404を発生させる。HD202は、リクエストされたプロセス124を実行することによって、LSD割り込み404に関連付けられた論理リクエスト130に応答する。] 図3B [0079] LSD204は、第2のLSD222などの他のローカル記憶デバイス(単数または複数)との通信を確立するようにHD202に命じることもできる。例えば、コンピューティングシステム200を、例えば第2のLSD222とLSD204との間でメディアファイルを同期するためにパーソナルコンピュータに結合可能な携帯メディアプレーヤとすることができる(この場合、LSD204は、MP3形式のオーディオファイルなど、様々なデジタルメディアファイルを格納する)。この例では、LSD204は、適切な同期化動作を開始することができ、それによって、HDFS208には認識されずに、LSD222およびLSD204の両方の間でデータコンテンツを比較しかつ更新する。] [0080] 別の例では、LSD204は、任意の数の動作を実行して結果を生成し、その結果に基づいて関連した論理リクエストを生成することができる。次に、この論理リクエストを、適切なLSDプロセスを実行するようにHD204に指示するためにLSD204によって使用することが可能である。例えば、LSD204は、LSDパラメータのセットの検出動作を実行することができる。記載される実施形態では、検出されるLSDパラメータのセットには、データコンテンツバックアップパラメータ、データコンテンツパラメータ(ファイルサイズ、ファイルタイプ、ファイル名、およびファイルキーワードなど)、論理記憶パラメータ(残りの容量、および適切な場合はLSDIPアドレスなど)、物理記憶パラメータ(摩耗度、不良ブロック数、ビット反転数など)、規則違反パラメータ、およびホストデバイスIPアドレスなどのパラメータが含まれ得る。LSD204が検出動作を完了すると、検出動作の結果が生成される。なお、場合によっては、生成される結果は、検出されたパラメータがLSDの動作を統制する規則のセットの範囲に入るということでNULL結果となる。一方、他の場合には、生成される結果を、ターゲットアプリケーションへの通信パスを確立するようにHD202に指示することができる検出論理リクエスト130として、LSD論理リクエスト130と関連付けることが可能である。前述したターゲットアプリケーションには、ローカルアプリケーション220−1、220−2、またはリモートアプリケーション220−3が含まれ得る。なお、ローカルアプリケーション220−1および220−2の場合には、通信パスはローカル通信パスと呼ばれる。前述した通信パスが確立されると、LSD204およびターゲットアプリケーション220は、リクエストされた検出プロセスを実行するために論理的に対話することができる。なお、通信パスが確立されると、通信パスの保持およびそのほか任意のハウスキーピング任務を除いて、HD202によるそれ以上の介入は必要ない。リクエストされる検出プロセスには、コンテンツバックアッププロセス、コンテンツ共有プロセス、イベント報告プロセス、リモート命令のリクエストプロセス、使用/アクセス権のリクエストプロセス、リモートサーバへのレジストレーションプロセスが含まれ得る。] [0081] 一実施形態では、LSD204は、検出論理リクエストと、ホストデバイスによるポーリングとを関連付ける。一方、他の実施形態では、LSD204は、検出論理リクエストと、LSD割り込みとを関連付け、HD202宛てにLSD割り込みを発生させる。いずれの場合も、HD202は、リクエストされた適切な検出プロセスを実行するように指示を受けることができる。] [0082] なお、LSD204および/またはシステム200の外部にある任意の回路またはソフトウェアアプリケーションが、リクエスト元デバイスとターゲットデバイスLSD204との間に通信パスを確立するためのメカニズムとしてHD204を使用して、LSD204をターゲットとすることができることから、本発明は、本質的に対称的である。このように、LSD204は、外部回路または外部ソフトウェアアプリケーションから生じるリクエストに応答することができる(例えば、現在のステータス情報、現在の容量の提供など)。例えば、図4は、リモートアプリケーション220−3が、HDFS208から独立して、第1の記憶エリア240にいくつかの記憶動作のうちのいずれかを強制的に実行させる状況を示している。例えば、ホストデバイスファイルシステム(HDFS)208に認識され、したがって管理可能である事前確立されているプロキシファイル450(プレースホルダファイルとも呼ばれる)にデータを書き込むことによって、外部アプリケーション220−3は記憶エリア240にデータを書き込むことができる。しかし、プレースホルダファイル450は、リモートアプリケーション220−3が、HDFS208に「目撃される」ことなく(報告されない限り)プロキシファイル内のデータに対するアクセス/変更を行うことができるメカニズムの一部にすぎないということから、プレースホルダファイル450に含まれるあらゆるデータは、「ダミー」データと見なすことができる。] 図4 [0083] 例えば、外部アプリケーション220−3は、プレースホルダファイル450に書き込まれるべきデータ454を送信することによって、HDFS208の介入なしに、プレースホルダファイル450にデータ454を書き込むことができる。一実施例では、データ454は、プレースホルダファイル450へ直接送られるか、またはデータ454の選択された部分をバッファに入れるためにCSA254をキャッシュとして使用することができる。CSA254が、データ454をキャッシュするために使用される場合、データ454は、通信パス256を経由して、HD202による介入なしに(通信パス256の確立を除いて)プレースホルダファイル450に渡される。このように、リモートアプリケーション220−3(またはさらに言えば任意の外部アプリケーション220)は、HDFS208の介入なしに、プレースホルダファイル450にデータを書き込むか、またはデータ454をプレースホルダファイル450からストリーミングすることができる。] [0084] 例えば、LSD204は、第1の記憶アレイ240の利用可能な記憶容量が所定量に満たないと判断する検出動作を実行することができる。その結果に基づいて、LSD論理リクエストジェネレータ304は、LSD204とリモートアプリケーション220−3との間に通信パス228を確立するようにHD202に指示するLSD検出論理リクエスト130を生成することができる。通信パス228が確立されてからは、HD202は例えばモデム、ルータ、またはそのほかデータパケットのルーティングに使用される同様のデバイスに等しい役割を担うことから、HD202は介入できない。リモートアプリケーション220−3およびLSD204が通信パス228を経由して結合されると、LSD204およびリモートアプリケーション220−3は通信パス228上で論理的に対話することができる。例えば、LSD204は、検出動作の結果をリモートアプリケーション220−3に送信する。リモートアプリケーション220−3は、データ454(ユーザ通知、宣伝などの形)をプレースホルダファイル450にプッシュする(書き込む)ことによって応答することができる。データ454がプレースホルダファイル450に格納されると、それからデータ454は、HDFS208により認識され、様々な方法でHD202による処理を行うことが可能である。例えば、データ454は、追加の記憶容量が必要であるという報告を表示するために、さらには購入製品、購入場所および購入価格を提案するために、HD204によって使用可能である。] [0085] 図5Aは、本発明の実施形態に従ったネットワーク500のさらに詳細な図を示す。具体的には、ネットワーク500は、図3に示されているネットワーク226の一実施形態である。具体的には、ネットワーク500は、分散したコマンドパスを経由してコンピューティングシステム200に結合されたサーバコンピュータ502を含むように示されている。このような分散したコマンドパスは、無線通信(WiFi、ブルートゥースなど)ならびに有線通信などを含むことができる。記載されている実施形態では、サーバコンピュータ502は、例えば、HTTP/SOAPベースのウェブサービスなど、標準のウェブテクノロジーなどを使用した何らかの明瞭かつ明確なインターフェイスを、デベロッパおよびそのほかのユーザに提供することも行うサーバコンポーネント504を含む。記載される実施形態では、例えばリモートアプリケーションとLSD204との間のセキュアなチャネルが必要なときはいつでも、サーバコンポーネント504が少なくとも許可および認証サービスを提供できる。こうすることで、ネットワークからもたらされる攻撃、スパイウェア、マルウェアなどの可能性に対する効率的な防御を提供することができる。さらに、許可されていない第三者によってエンドユーザコンテンツ使用が追跡されないことを保証するためのプライバシー保護、場合によっては何らかの圧縮テクニックを使用する記憶デバイスを用いた最適化された通信プロトコルが提供され、さらに、サーバコンピュータはブロードキャストおよび/またはマルチキャスト機能も含むことができる。デバイスレジストレーションモジュール506および/または発見サービスモジュール508を、サーバコンピュータ502に含むか、または結合することが可能である。] 図5A [0086] デバイスレジストレーションモジュール506および発見サービスモジュール508は、それぞれレジストレーションサービスおよび発見サービスを提供する。レジストレーションサービスとは、ネットワーク226に含まれるか、追加されるか、またはそこから削除されるデバイスレジストレーションモジュール506に登録された任意のデバイスが関連したレジストレーションデータを有するということであり、このデータは、対応するデバイスの現在のステータスと一致するように更新される。このようなレジストレーションデータは、デバイスタイプ、デバイス位置(ネットワークIPプロトコルベースのネットワークであればIPアドレス)などを含むことができる。] [0087] 一実施形態では、デバイス(またはソフトウェアアプリケーション)に関連したレジストレーションデータは、いくつかの異なる方法でレジストレーションモジュール506によって更新することができる。1つの手法は、レジストレーションモジュール506がデバイスステータスの変化(すなわち、デバイスが追加された、削除された、またはネットワーク226内で位置が移動したなど)の報告を受けることに依存する。本発明の一部の態様では、処理リソースならびにネットワーク帯域幅を保つために、すべての変化がレジストレーションモジュール506に報告するほど重要と見なされるとは限らない。しかし、デバイスステータスの変化が生じ、報告が保証されている状況では、レジストレーションモジュール506がネットワーク226に含まれているすべてのデバイスに継続的にpingを実行して各デバイスに現在のステータス情報を返すようにリクエストすることによって、レジストレーションモジュール506はステータスの変化について報告を受けることができる。前のデバイスステータスに関して変化し、報告すべきステータスを表すと判断された任意のステータス情報が、デバイスレジストレーションモジュール506での報告イベントを呼び出すことになる。] [0088] この報告イベントに応答して、レジストレーションモジュール506は、変化したステータスを有するデバイスが現在のデバイスステータス情報をレジストレーションモジュール506に送信するようにリクエストすることができる。そのデバイスに関連するステータス情報は、レジストレーションモジュール506により受け取られると、レジストレーションモジュール506において更新され、発見サーバ508に送信されることが可能である。別の手法は、各デバイスが、ステータスに変化が生じるたびに、その現在の詳しいステータスをデバイスレジストレーションモジュール506に送ることができるということから、デバイスレジストレーションモジュール506により受動的な手法をとらせることができる。この場合もやはり、コンピューティングリソースおよびネットワーク帯域幅を保つために、本発明の一部の態様は、すべてのステータス変化ではなく特定のステータス変化のみのレポートだけを提供する。] [0089] いずれの場合でも、現在のステータス情報が受け取られて適切に処理されると、レジストレーションモジュール506は、現在のステータス情報を発見サービスモジュール508に送信することができ、発見サービスモジュール508では、リクエスト元デバイスまたはソフトウェアアプリケーションに後から発見サービスを提供するためにそのステータス情報が格納される。そのような情報は、例えば、リクエスト元デバイス(ソフトウェアアプリケーションがあればそれを含む)と、ターゲットデバイスまたはターゲットアプリケーションとの間のコマンドパスの確立を促進するために、ネットワーク324に含まれている任意のデバイスに関係する任意の情報を含むことができる。] [0090] さらに図5Aを参照すると、LSD222が以前にHD204と結合されたことがなくても、LSD204をインターフェイス223に挿入することによってある時点でLSD222がHD204に結合される(例えば、セキュアデジタル(SD)カードを、ネットワークと通信している携帯用コンピュータ、デジタルカメラなどに挿入するなど)と、その結果LSD222は、本発明の一態様において、それがネットワーク226に参加したことをデバイスレジストレーションモジュール506に報告することができる。しかし、本発明のさらに別の態様では、デバイスレジストレーションサービス506は、例えばコンピューティングシステム200にpingを実行して、報告すべき変化が生じたと判断することによって、ネットワーク226にLSD222が入ったことを能動的に判断することができる。] 図5A [0091] LSD222が、ステータスの変化(この場合はネットワーク226にLSD222が追加されたこと)をデバイスレジストレーションサービス506に能動的に報告する場合、LSD222は、HD202からネットワーク226へのネットワークリンク228およびネットワーク226からレジストレーションサービス506へのコマンドパスを含むコマンドパスを、LSD222とデバイスレジストレーションサービス506との間に確立するように、前述したメカニズムのうちの少なくとも1つを使用してHD202にリクエストすることができる。なお、LSD204が、デバイスレジストレーションサービス506の位置を知らなければ、HD202がその位置をデフォルト位置として提供するか、またはネットワークサービスがステータス変化を所定の位置へ自動的にダイレクトする。] [0092] LSD204とレジストレーションサービスとの間の通信が確立すると、続いてデバイスレジストレーションサービス506は、LSD222の現在のステータスを更新(受動的または能動的に)することができる(LSD222の現在のステータスは、LSD222によってプッシュされるか、またはレジストレーションサーバ506によってプルされる)。更新されると、次にデバイスレジストレーションサービス506は、LSD222の現在のステータスを発見サービスモジュール508へ送信することができ、そこで、このステータスは、リモートデバイスがLSD222をターゲットとするときに後からいつでも読み出しできるように格納される。なお、レジストレーション情報は、デバイスに関係する任意の関連情報を含むことができる。そのような関連情報(データ記憶デバイスの場合)は、デバイスの、どちらかというと不変の特徴である、論理記憶デバイスパラメータ(残っている利用可能な記憶容量、デバイスのIPアドレス、デバイス上の利用可能な記憶アプリケーション、ファームウェアバージョンおよび特徴など)を含むことができる。さらに、前述した情報は、例えば現在利用可能なデータ記憶容量、格納されているデータの質、デバイスの位置など、ならびにファイルサイズ、ファイルタイプ、ファイル名、およびファイルキーワードを含むことができるデータコンテンツパラメータなど、より一時的な情報を含むことができる。] [0093] 発見サービス508が更新されると、発見サービス508は、そこにデータが格納されている任意のターゲットデバイス(またはターゲットソフトウェアアプリケーション)について、リクエストされた発見情報を、任意のリクエスト元デバイス(またはソフトウェアアプリケーション)に提供することができる。例えば、リモート記憶デバイス514に加えてリモートホストデバイス512を有するリモートコンピューティングデバイス510は、まずリモートコンピューティングデバイス510とLSD204との間にコマンドパスを確立することによって、発見サービス508を使用してLSD204などのターゲットデバイス上での記憶動作をリモート呼び出しすることができる。コマンドパスは、リモートコンピューティングデバイス510が、発見リクエスト516を発見サービス508に送ってターゲットデバイスLSD204の発見情報をリクエストすることによって確立することができる。そのような発見情報には、ターゲットデバイス位置情報、ターゲットデバイスの現在の動作ステータス情報、ターゲットデバイスの現在のパラメータ情報などが含まれ得る。発見リクエストに応答して、発見サービス508は、適切なターゲットデバイス発見情報を含む発見サーバレスポンス518を、リクエスト元デバイス(すなわち、リモートコンピューティングデバイス510)に送り返すことができる。] [0094] リモートコンピューティングデバイス510が、ターゲットデバイスLSD204に関する適切なターゲット発見情報を受け取ると、続いて図5Bに示されているように、リモートコンピューティングデバイス510は、ターゲットデバイスLSD204との間に(HD104を中継点として使用して)、少なくともネットワークリンク228を含むコマンドパスを確立することができる。コマンドパスがターゲットデバイスLSD204とリモートコンピューティングデバイス510との間に確立されると、次に、リモートコンピューティングデバイス510は、ターゲットデバイスLSD204上での任意の数およびタイプの記憶動作をリモート呼び出しすることができる。そのような動作には、例えば、データの読み込み、書き込みおよび/または消去が含まれ得る。] 図5B [0095] 図6は、本発明の実施形態に従ったプロセス600を詳述するフローチャートを示す。プロセス600は、602にて、ホストデバイスがローカル記憶デバイスと通信しているかどうかを判断することで開始する。通信とは、ホストデバイスおよびローカル記憶デバイスの間に有効なコマンドパスが確立されているということである。有効な通信とは、ホストデバイスと、ローカル記憶デバイスとの間に、情報を渡すことができる物理接続が確立されているか、無線接続が確立されているか、または論理接続が確立されているかということである。ホストデバイスとローカル記憶デバイスとの間に有効な通信パスが存在すると判断されると、次に604にて、ローカル記憶デバイスに、LSDにより開始された保留中イベントがあるかどうかが判断される。LSDにより開始されたイベントとは、いかなるホストデバイスまたはホストデバイスファイルシステムのプロセスとも無関係であり、それらと独立しているイベントのことである。604にて、LSDにより開始された保留中イベントがないと判断されると、その結果プロセス600は終了する。そうでなければ、606にて、ホストデバイスがローカル記憶デバイスに継続してポーリングを行っているか否かが判断される。ホストデバイスがローカル記憶デバイスにポーリングを行っていなければ、その結果、ローカル記憶デバイスが608にて、LSDにより開始された保留中イベントに関係する情報を含むLSD論理リクエストを生成し、612にて、ローカル記憶デバイスがLSD論理リクエストに関連した割り込みフラグを立てる。612にて、ホストデバイスが割り込みフラグに応答する。 606に戻ると、ホストデバイスが継続してローカル記憶デバイスにポーリングを行っていれば、614にて、ローカル記憶デバイスは、LSDにより開始された保留中イベントに関係する情報を含むLSDポーリングレスポンスを用いて、ホストデバイスのポーリングに応答する。618にて、ホストデバイスがLSDポーリングレスポンスに応答する。] 図6 [0096] 図7は、本発明の実施形態に従ったプロセス700を示す。プロセス700は、702にて、リモートデバイスがローカルターゲットデバイス上の動作を呼び出したいかどうかを判断することで開始する。肯定であれば、次に704にて、ターゲットデバイス情報を獲得するためにリモートデバイスが発見サーバへクエリを送るかどうかが判断される。リモートデバイスが、発見サーバにクエリを行う必要がないと判断すれば、次に706にてリモートデバイスは、ローカルデバイスとコンタクトを取る。一方、リモートデバイスが、ターゲットデバイスの発見情報が必要であると判断すれば、次に708にて、発見サーバがターゲットデバイス発見情報を有するか否かが判断される。発見サーバがリクエストされたターゲットデバイス発見情報を有しないと判断されると、次に710にて、リクエストされたターゲットデバイス情報をレジストレーションサーバが有するか否かが判断される。レジストレーションサーバがリクエストされたターゲットデバイス情報を有しないと判断されると、その結果プロセス700は終了する。そうでなければ、レジストレーションサーバは、712にて、リクエストされたターゲットデバイス発見情報を発見サーバへ送信する。708に戻ると、発見サーバが、リクエストされたターゲットデバイス発見情報を有すると判断した場合、次に714にて、リモートデバイスが、発見情報リクエストを発見サーバへ送り、716にて、リクエストされたターゲットデバイス発見情報を発見サーバが提供する。706にて、リモートデバイスは、ターゲットデバイスとコンタクトを取り、いずれの場合でも718にて、ターゲットデバイスがリモートデバイスに応答する。] 図7 [0097] 図8は、本発明の背景を提供するものである。ネットワーク226の特定の構成としてのメディアネットワーク800は、メディアプレーヤなどのメディアデバイスをいくつか含む。この例では、コンピューティングシステム200は、いくつかのデジタルメディア項目(例えば、ビデオ、MP3ファイルとしてのこともあるオーディオなど)を格納するように構成されたメディアプレーヤ100とすることができる。ネットワーク800は、有線ネットワーク802および無線ネットワーク804のいずれかまたは両方として構成された分散通信を含むことができる。記載される実施形態では、有線データネットワーク802はワールドワイドウェブのある一部に関連する。パーソナルコンピュータ806は、有線ネットワーク802に結合できる(この場合、第2のインターフェイスにてUSBケーブルを経由してコンピューティングシステム100に接続されている)。無線データネットワーク804も、有線データネットワーク802に結合可能である。無線データネットワーク804は、例えばセルラーネットワーク、WiFiネットワーク、WiMAXネットワークなどの1つ以上の無線データネットワークを含むことができる。] 図8 [0098] メディアネットワーク800は、多数のメディア項目を格納するか、または多数のメディア項目にアクセスできる中央メディアサーバ808を含む。さらに、ネットワーク800は、携帯メディアプレーヤ200、810、812および814などの携帯メディアデバイスという形をとることができるネットワークデバイスとして構成された1つ以上の追加のコンピューティングシステム810をサポートし、この携帯メディアプレーヤの一部は、レガシー大容量記憶装置のみを有するものとして構成可能であり、他のものは、図2に示されているコンピューティングシステム200として構成可能である。携帯メディアデバイス200、810、812および814の任意のものが、有線リンク816または無線リンク818上でパーソナルコンピュータ806と通信することができる。例として、有線リンク816は、可能な場合には携帯メディアデバイス810をパーソナルコンピュータ806に相互接続することができるケーブル(例えば、USBケーブル)に相当するものとすることができる。無線リンク818は、例えばブルートゥース、赤外線などの無線機能によって提供可能である。典型的には、携帯メディアデバイス810は、有線リンク816、無線リンク818のいずれかまたは両方を使用して、パーソナルコンピュータ806と通信できると考えられる。] [0099] 携帯メディアデバイス814は、無線リンク820によって無線データネットワーク804に結合することができる。同じく、携帯メディアデバイス812は、無線リンク822によって無線データネットワーク804に結合することができる。この関連で、携帯メディアデバイス814および812は、無線データネットワーク804を介して中央メディアサーバ808にアクセスすることができる。さらに、携帯メディアデバイス810、812および814は、互いに無線でアクセスすることができ、それによってメディア項目データを携帯メディアデバイス間で交換することができる。] [0100] コンピューティングシステム200は、MP3プレーヤなどの携帯メディアプレーヤに関連できるメディアデバイス、ならびにLSD204およびHD202を含むことができるモバイル電話などの無線デバイスという形をとることができる。こうしたモバイルデバイスは、モバイルデバイス上で動作するホストコンピュータ上のメディア管理アプリケーションを含むことができる。モバイルデバイスの携帯性を考えると、モバイルデバイスは、小形化され、リソース(例えば、記憶容量)が縮小されている。したがって、モバイルデバイス上で使用されるように設計されたメディア管理アプリケーションは、例えばパーソナルコンピュータなどのより大きく性能の高いコンピューティングデバイス上で動作するメディア管理アプリケーションに相当するものが提供すると考えられる機能および能力よりも、少ない機能および能力を提供すると考えられる。モバイルデバイスが、中央メディアサーバ808に無線アクセスできることを前提とすると、モバイルデバイスは、メディアサーバ808と対話してメディア項目データ(または他のデータ)をリクエストしかつ/または受け取ることができる。この関連で、モバイルデバイス上で動作しているメディア管理アプリケーションは、メディアサーバ808と通信して、サーバにある利用可能なメディアコンテンツをナビゲートすること(メディア格納のナビゲーションなど)、メディアデバイスに対するメディアコンテンツの定期的な配信を受け取ること(サーバからメディアデバイスへのメディア項目データの毎日のプッシュなど)などを含む様々なタスクを実行することができる。] [0101] 本願明細書で説明されるローカル記憶デバイスは、オーディオ、ビデオまたはピクチャファイルなどのデジタルメディアを管理するために使用されるセキュアデジタル(SD)メモリカードフォーマットおよびプロトコルなど、任意のメモリカードフォーマットまたはプロトコルに対応しているとよい。記憶デバイスは、マルチメディアカード(MMC)メモリカードフォーマット、コンパクトフラッシュ(CF)メモリカードフォーマット、フラッシュPC(例えば、ATAフラッシュ)メモリカードフォーマット、スマートメディアメモリカードフォーマット、またはそのほか任意の業界標準仕様に対応しているとよい。こうしたメモリカードの供給業者の1つが、カリフォルニア州ミルピタスのサンディスクコーポレイションである。不揮発性メモリは、そのメモリまたは格納された状態を電源がなくなっても維持する。この記憶デバイスは、これらに限定されるものではないが、電気的に消去可能でプログラム可能な読み出し専用メモリ(EEPROM)、EPROM、MRAM、FRAM強誘電体および磁気メモリを含む他の消去可能でプログラム可能なメモリテクノロジーにも適用可能である。なお、記憶デバイスの構成は、リムーバブルメモリのタイプに依存せず、フラッシュメモリであっても別のタイプのメモリであっても、任意のタイプのメモリを用いて実装されるとよい。記憶デバイスは、ワンタイムプログラマブル(OTP)メモリチップおよび/または3次元メモリチップテクノロジーを用いて実装されることもできる。] [0102] そのようなメモリカードが使用されるホストシステムには、セルラー電話、パーソナルコンピュータ、ノートブック形コンピュータ、ハンドヘルドコンピューティングデバイス、カメラ、オーディオ再生デバイス、およびそのほかリムーバブルデータ記憶装置を必要とする電子デバイスが含まれる。フラッシュEEPROMシステムは、ホストシステムに組み込まれたバルク大容量記憶装置として利用することもできる。記憶デバイスは、PDA(個人用携帯情報端末)、モバイルハンドセット、およびそのほかの様々な電子デバイス上に実装され得るローカルプロキシシステムの一部としてもよい。PDAは典型的に、数例を挙げればアドレス帳、予定表、および電子手帳など、様々な個人情報管理アプリケーションを用いて実装される、ユーザが持つコンピュータシステムとして既知である。] [0103] 本願明細書に記載されているように、コンピューティングシステムは、ホストデバイス(HD)およびローカル記憶デバイス(LSD)を含むことができる。LSDは、大容量記憶デバイスとしても、またはネットワークアクセス可能なデバイスとしても、同時に機能できる。こうすることで、いくつかのアプリケーションの、コンピューティングシステムによる実行が可能である。そのようなアプリケーションは、互いに独立して実行可能であり、それぞれ、LSD上に格納されているコンテンツの対応するセットを独立して管理することができる。なお、コンテンツの管理には、LSDによって実行されるか、またはLSD上に格納されているコンテンツに対して実行される任意の数の動作が含まれ得る。そのような動作には、これらに限定されるものではないが、データの読み込み、データの書き込み、データの消去、データのコピー、データのフォーマットなどが含まれ得る。本発明により提示される利点の1つは、各アプリケーションには互いに何の関係がなくても、一方のアプリケーションに、もう一方のアプリケーションがLSD上で利用可能にするコンテンツについて通知するLSDの能力にある。こうすることで、独立したアプリケーション間の相乗効果を得ることができ、協力的な環境が提供され、例えばコンピューティングシステムの動作改善、リソース(すなわち、メモリ、帯域幅、処理)割り当ておよび使用、ならびにそのほかの要素の改善をもたらすことができる。] [0104] 例えば、図9は、本発明の実施形態に従ったコンピューティングシステム1100を示す。システム1100は、メモリアレイ1106を有するLSD1104と通信しているホストデバイス(HD)1102を含む。HD1102は、アプリケーション1108を実行しているとよい。アプリケーション1108は、LSD1104上の関連したローカル(ブラウザ)キャッシュ1114を管理するブラウザキャッシュマネージャ(BCM)1112を有するブラウザアプリケーション1110などのインターネットアプリケーションを含むことができる。BCM1112は、メモリコントローラ1120およびLSDドライバ1122を含むことができ大容量記憶パス1118と呼ぶことができるものを使用して、HDFS1116を経由してブラウザキャッシュ1114を管理できる。LSD1104は、ネットワークインターフェイス1130を含むネットワークパス1128を経由してリモートプロキシキャッシュマネージャ(RPCM)1126によって管理されるプロキシキャッシュ1124を含むことができる。なお、ネットワークパス1128を、HDFS1116から独立して、LSD1104の指示に応じてHD1102によって確立することが可能である。さらに、ネットワークパス1128がHD1102によって確立されると、ネットワークパス1128の何らかの保持(およびそのほか任意の「ハウスキーピング」任務)を除いて、HD1102によりそれ以上介入されることはない。] 図9 [0105] 動作中、RPCM1126は、先行方式で、LSD1104に、プリフェッチされたコンテンツ1138を直接プッシュすることができる。先行方式とは、BCM1112によってコンテンツ1138の任意のリクエストが実際にあるより前に、プリフェッチされたコンテンツ1138をLSD1104にプッシュ可能であるということであり、その結果、ネットワークパス1128上でRPCM1126へ実際のリクエストが送られる必要がなくなる。こうすることで、ネットワーク帯域幅が保たれる。] [0106] その結果、BCM1112とRPCM1126とは、違う形で使用されるということは明らかである。例えば、BCM1112は、大容量記憶パス1118を介して、ブラウザアプリケーション1110によって既にリクエストされたコンテンツ1140を、LSD1104内のブラウザキャッシュ1114にローカルにキャッシュするように機能することができる。その一方で、RPCM1126は、典型的には、コンテンツのプリフェッチ(すなわち、その特定のコンテンツがリクエストされる前にコンテンツを読み出すこと)など、BCM1112をサポートする機能を実行する。しかし、BCM1112およびRPCM1126は、典型的には様々なベンダから提供されることから、BCM1112およびRPCM1126は別々のキャッシングポリシーを有する可能性が高い。さらに、大容量記憶パス1118およびネットワークパス1128が互いに交差(すなわち、通信)しないことから、BCM1112およびRPCM1126が同期された形で機能することはできない。] [0107] この同期性の欠如は、BCM1112/RPCM1126の全体的なパフォーマンスの観点から、明らかに最適とは言えない。例えば、RPCM1126が、BCM1112によって既に格納されたコンテンツを格納し(およびその逆も)、その結果、貴重なメモリ、処理、および帯域幅リソースを無駄にする可能性がある。このリソースの無駄は、ほとんどまたはすべてのリソースの価値が非常に高いモバイル環境では特に問題となり得る。しかし、本発明は、従来通り構成されたシステムにはできない形で協働するRPCM1126およびBCM1112を提供する。例えば、LSD1104は、BCM1112がブラウザキャッシュ1114にキャッシュするブラウザコンテンツ1140のタイプおよび性質についてRPCM1126に通知することができる。こうすることで、RPCM1126は、例えば、BCM1112によってブラウザキャッシュ1114に既にキャッシュされたページのリンクに対応する任意のページを自動的にプリフェッチすることができる。さらに、RPCM1126は、既にブラウザキャッシュ1114に格納されているコンテンツ1140をキャッシュするのに必要な作業の繰り返しを避け、貴重なリソースの非生産的使用をさらに削減することができる。さらに、RPCM1126は、BCM1112のキャッシングポリシーの「リバースエンジニアリング」を行い、それによって、RPCM1126がBCM1112のアクションを予測する能力が改善され、その結果、RPCM1126とBCM1112との対話の全体的な効率を改善することができる。この効率改善は、エンドユーザのインターネット体験の大幅な改善をもたらすことができる。] [0108] 図10は、図9に示されているシステム100の特定の実施形態を例示するシステム1200を示す。システム1200は、ローカル記憶デバイス(LSD)1204に接続されているか、または他の方法でLSD1204と通信しているホストデバイス(HD)1202を含むことができる。LSD1204とは、HD/LSDインターフェイス1206を経由してHD1202と通信できる。LSD1204は、比較的小さな形態的要素を有するメモリカードなどのリムーバブルメモリデバイスという形をとることができ、カメラ、ハンドヘルドまたはノートブック形コンピュータ、ネットワークカード、ネットワークアプライアンス、セットトップボックス、ハンドヘルドまたはそのほかの小形オーディオプレーヤ/レコーダ(例えば、MP3デバイス)、および医療用モニタなどの電子製品のデジタルデータを格納するために使用可能である。メモリカードの例には、PCカード(以前はPCMCIAデバイス)、フラッシュカード(例えば、コンパクトフラッシュタイプIおよびII)、セキュアデジタル(SD)カード、マルチメディアカード(MMC)、ATAカード(例えば、コンパクトフラッシュカード)、メモリスティック、SmartMediaカードがある。さらに、LSD1204は、カリフォルニア州ミルピタスのサンディスクコーポレイションによって製造されたSD対応のiNAND(登録商標)を組み込んだフラッシュドライブなどの非リムーバブルメモリデバイスという形をとることができる。] 図10 図9 [0109] なお、HD/LSDインターフェイス1206は、HD1202およびLSD1204が機械的に接続することができる機械的エンティティ(ソケットまたは相互接続バスなど)として構成可能である。いくつかの実施形態では、HD/LSD1206は、無線インターフェイスという形をとることができる。HD1202はプロセッサを含むが、明瞭にするために、HD1202に含まれているプロセッサは、図に示されることも、この説明の中でさらに言及されることもない。しかし、それでもなお存在しているものと想定される。LSD1204は、物理的に、HD1202に排他的に接続可能であり、したがって、HD1202による介入なしにシステム1200の外部の回路および/またはアプリケーションにアクセスしたり、または他の形でそれと通信したりすることはできない。典型的には、LSD1204は、HD1202によって提供される当該インターフェイス以外には、HD1202の外部のデバイスに対する何らのインターフェイスも利用しない。] [0110] HD1202は、ホストデバイスファイルシステム(HDFS)1208を含む。HDFS1208は、LSD管理コマンド1210を発行することができ、このコマンド1210を、LSDドライバ(図示せず)およびHD/LSDインターフェイス1206を経由してLSD1204に渡すことが可能である。例えば、LSD管理コマンド1210は、LSD1204が論理ブロックアドレス(LBA)アーキテクチャを有するデータ記憶エリアを含むように設定されている場合には、ブロックコマンドという形をとることができる。システム1200は、LSD1204またはHD1202上に常駐するいくつかのアプリケーションを有することができ、このアプリケーションは互いに独立して実行可能である。さらに、アプリケーションはそれぞれ、それ自体のデータの特定のキャッシュをLSD1204上で管理することができ、これもそれぞれ互いに独立している。そのようなアプリケーションには、例えば、HDFS1208を利用して、前に説明した大容量記憶パス1118を使用しLSD1204と通信することができるBCM1112によってサポートされる、ブラウザ1212などのインターネットアプリケーションが含まれ得る。ブラウザアプリケーション1212に加えて、独立したアプリケーション1214が、HDFS1208を利用してLSD1204と通信することができ、したがってこれはHDFS1208に「認識」される。一方、アプリケーション1214とは対照的に、特定の独立したアプリケーションは、大容量記憶パス1118を利用せずにデータをLSD1204に格納する。そのようなアプリケーションは、外部またはターゲットアプリケーション1216と呼ぶことができ、したがってこれはHDFS1208に「認識」されない。] [0111] 記載される実施形態では、ターゲットアプリケーション1216は、ローカルまたはリモートのいずれかで、任意の数の位置およびデバイスに存在することができる。そのような位置およびデバイスには、例えば、HD1202(ローカルアプリケーション1216−1を有する)または外部デバイス1218(その中にローカルアプリケーション1216−2が存在する)など、HD1202およびLSD1204の外部にあるがそれでもシステム1200内にある任意のデバイスが含まれると考えられる。記載される実施形態では、外部デバイス1218は、インターフェイス1220を経由してHD1202に結合された第2のLSD1218という形をとることができる。さらに、前述した位置およびデバイスは、リモートデバイス1222(その中に、プロキシキャッシュ1124を管理するのに適したRPCM1126という形をとることができるリモートアプリケーション1216−3が存在する)も含むことができる。] [0112] LSD1204は、コントローラ1224およびデータ記憶エリア1226を含むことができる。データ記憶エリア1226は、HDFS1208によって大容量記憶パス1118を使用して管理される大容量記憶エリア1228を少なくとも含むように論理的に構成可能である。特に有用な構成では、大容量記憶エリア1228は、LBAベースの大容量記憶エリアとすることができる。データ記憶エリア1226はさらに、HDFS1208に認識されない部分1230を含むように論理的に構成可能である。HDFS1208に認識されないとは認識されない部分1230は、HDFS1208によって管理されず、その結果HDFS1208にとって直接アクセス可能でないということになる。] [0113] 大容量記憶エリア1228は、ブラウザ1212のサポートとしてBCM1112によって提供されるブラウザコンテンツ1140を含むことができるブラウザキャッシュ1114を含むように、さらに論理的に構成可能である。ブラウザ1212によって以前に使用された情報をブラウザキャッシュ1114にてローカルにキャッシュすることによって、ブラウザ1212を提供するために使用されるネットワーク帯域幅の量が削減される。利用可能なネットワーク帯域幅は限られていると考えられるため、特に、モバイルネットワーク帯域幅の削減は、モバイルネットワークの効率的な動作に不可欠であることもある。認識されない部分1230は、プロキシキャッシュ1124を含むように論理的に構成可能である。] [0114] キャッシングメカニズムのパフォーマンスに関係する問題は、コンテンツがどのようにキャッシュに入れられそこから削除されるかを決定するキャッシングポリシーである。キャッシングポリシーは、典型的には、アプリケーションデベロッパによって公布される最適化命令から形成され、これに従ってコンピュータ上に格納されている情報のキャッシュが管理される。キャッシュサイズは通常限られ、キャッシュが満杯であれば、キャッシングポリシーによって、どの項目を破棄するかが選択され、新たな項目の空間がつくられなければならない。最も効率的なキャッシングアルゴリズム(キャッシングヒューリスティックとも呼ばれる)は、常に、将来最も長時間にわたって必要とされない情報を破棄することであると考えられる。どのくらい先に情報が必要となるか予測することは不可能であることから、これは実用的ではない。実用上の最小は実験をしてからのみ計算でき、実際に選択されたキャッシュアルゴリズムの有効性と最適最小とを比較することは可能である。様々なキャッシングポリシーの例には、最長時間未使用法(LRU)、最短時間未使用法(MRU)、擬似LRU、および適応置換キャッシュ(ARC)が含まれる。] [0115] キャッシュに格納されたリソースの一時的な性質に加えて、格納されているコンテンツ自体の性質も重要な検討事項であり得る。格納されているコンテンツの性質は、コストが異なる項目(入手に長時間かかる項目など、獲得コストが高い項目を保持する)、より多くキャッシュを占有する項目(各項目のサイズが異なれば、キャッシュは大きな項目を破棄していくつかの小さな項目を格納したいこともある)、ならびに時間が経つと満期になる項目とすることができる。アプリケーションデベロッパが、アプリケーションに関連するキャッシュに適用されるキャッシングポリシーを策定するとき、こうした検討事項の全部または一部のみを、程度の差はあっても考慮に入れることができる。] [0116] ブラウザ1212の場合、ブラウザキャッシュ1114に適用される適切なキャッシングポリシーは、特にブラウザ1212が使用されることになるモバイル環境の観点から見て、前述した検討事項のいずれかまたは全部によって決めることができる。ブラウザ1212はモバイル環境で使用されることになるため、ネットワークトラフィック、利用可能な帯域幅などのことになると特に大きな負担となる項目に特別に配慮することができる。したがって、ブラウザデベロッパは、特にモバイルWEB環境で使用されたときにブラウザ1212のパフォーマンスを最適化するように調整されたブラウザキャッシュポリシーを作成する。プロキシキャッシュ1124に適用される任意のキャッシングポリシーは、ブラウザキャッシュ1114に適用される当該キャッシュポリシーとは大きく異なる可能性がある。プロキシキャッシュのキャッシングポリシーと、ブラウザキャッシュのキャッシングポリシーとについて生じ得るずれは、ブラウザ1212によって示される大きな非効率性およびパフォーマンス損失をもたらす恐れがある。例えば、プロキシキャッシュ1124に適用されるプロキシキャッシュのキャッシングポリシーが、そこに格納されるリソースの「新しさ」を犠牲にして利用可能なキャッシュメモリスペースを保つことを目的とすることもあり、その一方で、ブラウザキャッシュ1114に適用されるブラウザキャッシングポリシーは、まさに正反対のことを目的とし、「最も新しい」リソースを、他のいかなる要因も犠牲にして維持することに焦点を合わせることもある。その結果、この例では、プロキシキャッシュのキャッシングポリシーとブラウザキャッシュのキャッシングポリシーとが相反する目的で機能し、そのプロセスにおいて、プロキシキャッシュ1124とブラウザキャッシュ1114との動作に基本的対立が引き起こされる。明らかに、ローカルキャッシュシステムの全体的な効率および利用を改善するためには、プロキシキャッシュ1124およびブラウザキャッシュ1114が可能な限り協調して機能することが望ましい。] [0117] 本発明の特徴の1つは、LSD1204が、ブラウザキャッシュ1114に格納されているデータの性質(すなわち、ファイルのサイズ、ファイルの種類)とブラウザ1114に格納されているデータの動態(すなわち、ファイル保存の長さ)とに基づき、ブラウザキャッシュのキャッシングポリシーを推定(すなわち、リバースエンジニア)できるということである。例えば、ブラウザキャッシュコンテンツ1140の現在の状態と、ブラウザキャッシュコンテンツ1140の任意の数の以前の状態とを比較することができる。こうすることで、ブラウザキャッシュコンテンツ1140の経時的な状態変化を示すパターンを作成することができる。次にこのパターンを、LSD1204によって、例えばブラウザキャッシュのキャッシングポリシーを推定するために使用することが可能である。例えば、LSD1204が、ブラウザキャッシュ1114は最長時間未使用の項目を最初に破棄していると判断すると、その結果LSD1204は、ブラウザキャッシュ1114がLRUタイプのキャッシングポリシーに沿って構築されたブラウザキャッシュのキャッシングポリシーにより指示されていると推定することができる。その一方で、LSD1204が、ブラウザキャッシュ1114は最短時間未使用の項目を最初に破棄していると推定すると、その結果LSD1204は、ブラウザキャッシュ1114がMRUタイプのキャッシングポリシーに沿って構築されたキャッシュポリシーに従っていると推定することができる。いずれの場合でも、LSD1204がブラウザキャッシュのキャッシングポリシーを推定すると、次にLSD1204は、推定したブラウザキャッシュのキャッシングポリシーを使用してプロキシキャッシュのキャッシングポリシーに変更を加え、ローカルキャッシュシステムの効率性の全般的な改善をもたらすことができる。] [0118] 例えば、LSD1204が、ブラウザキャッシュ1114はLRUタイプのキャッシングポリシーに従っていると推定すれば、LSD1204は、プロキシキャッシュのキャッシングポリシーに変更を加えて、最長時間未使用のプロキシキャッシュコンテンツを優先的に破棄することができる。このようにして、全体的なコンテンツの重複が削減され、ローカルキャッシュシステムの利用を全体的に改善することができる。反対に、LSD1204がブラウザキャッシュ1114はMRUタイプのキャッシングポリシーに従っていると推定すれば、LSD1204は、プロキシキャッシュのキャッシングポリシーに変更を加えて、最短時間未使用のプロキシキャッシュコンテンツを優先的に破棄することができる。いずれの場合でも、LSD1204は、適切であると考えられる通りに、プロキシキャッシュのキャッシングポリシーに自由に変更を加えることができる。] [0119] 例えば、モバイルWEB環境では、ウェブページのプリフェッチを実行することが、プロキシキャッシュマネージャの重要な用途である。ブラウザは、エンドユーザに最も近いインターネットのエッジにあることから、ブラウザパフォーマンスのあらゆる改善により、エンドユーザの全般的なブラウジング体験を大幅に向上させることができる。したがって、プロキシキャッシュマネージャの動作を指示するのに使用されるキャッシュポリシーに変更を加えることによって、プロキシキャッシュマネージャは、例えば、ブラウザキャッシュに既に格納されているブラウザキャッシュコンテンツに関連したプロキシキャッシュコンテンツ(WEBページなど)を自動的にプリフェッチすることによって、確認されるブラウザパフォーマンスを改善することができる。例えば、ブラウザキャッシュにページPが格納されていれば、プロキシキャッシュは、ページPのリンクに現れる任意のWEBページを自動的にプリフェッチすることができる(すなわち、ページP+1など)。] [0120] 図11は、本発明の実施形態に従ったLSD1104に含まれる典型的なコントローラ1300を示す。コントローラ1300は、図9に示されているコントローラ1120の特定の実施形態であり、コントローラ1120上で実行されるアプリケーションを表す様々な機能ブロックを示す。したがって、コントローラ1300は、HDFS1208と通信している管理ブロック1302を含む。管理ブロック1302はさらに、大容量記憶フィルタブロック1304と通信している。大容量記憶フィルタブロック1304は、インターネットファイルマネージャブロック1306およびプロキシキャッシュマネージャブロック1308の両方と通信する。インターネットファイルマネージャブロック1306およびプロキシキャッシュマネージャブロック1308は、どちらもそれぞれプロキシサーバブロック1310と通信できる。記載される実施形態では、大容量記憶フィルタブロック1304は、ブラウザキャッシュ1114に格納されているブラウザキャッシュコンテンツ1140についての情報を、プロキシキャッシュマネージャブロック1308に提供することができる。格納されているコンテンツの性質を推論し、この推論をRPCMに伝達するために使用することができるテクニックがいくつかある。テクニックの1つは、格納されているコンテンツファイルに関連した名前およびその対応するファイル拡張子(「.htm」など)の判断を提供する。この情報が分かれば、RPCMに伝達するとよい。プロキシキャッシュマネージャブロック1308は、LSD1104のローカルにあるとよい。一部の実施例では、プロキシキャッシュマネージャブロック1308は、リモートプロキシサーバ1126などのリモートデバイスに存在することができる。] 図11 図9 [0121] コンテンツ配布に対して少なくともプッシュ/プル手法の利点を提供する、保護されているデジタルコンテンツのセキュアな配布および消費のためのソリューションを提供する方法、システム、および装置について記載する。この説明の中で、「保護されているデジタルコンテンツ」は、使用およびアクセスの制限などの制限をコンテンツプロバイダによって課されているデジタルコンテンツを指す。例えば、使用制限には、例えばコンテンツを特定回数または特定期間のみ再生できること、ならびに不正コピーを防ぐことが含まれ得る。アクセス制限は、保護されているデジタルコンテンツへのアクセスを、適切なアクセス資格を持つエンティティのみに制限することができる。保護されているデジタルコンテンツは、コンテンツプロバイダによって課されるすべての制限を保つように、特定のDRM方式に応じて任意の関連する設定をカバーすることができる。LSDにて受け取られる保護されているコンテンツは、コンテンツのみを含むかまたは「結合配信 (combined delivery)」と呼ばれ、保護されている1つのコンテンツおよび任意の関連した権利オブジェクト(RO)を含むかまたは対応する保護されている1つのコンテンツが既にLSDに格納されていれば「分離配信 (separate delivery)」と呼ばれ、ROを含むことができる。]
权利要求:
請求項1 コンピューティングシステムであって、ホストデバイス(HD)と、前記HDによって管理されるローカル記憶デバイス(LSD)であって、前記LSDは、前記HDによって提供されるインターフェイス以外には前記HDの外部にあるデバイスに対する何らのインターフェイスも利用せず、またLSD論理リクエストを使用して、前記LSDと起動アプリケーションとの間に通信パスを確立するように前記HDに指示することで、前記HDにリクエストされたプロセスを実行するように間接的に指示し、前記LSDおよび前記起動アプリケーションは前記HDによる介入なしに前記通信パス上で論理的に対話し、前記論理的対話は前記リクエストされたプロセスを前記HDが実行するように前記起動アプリケーションに指示させ、前記LSD論理リクエストはHDによって開始されたプロセスに役立つように作成されたものではないローカル記憶デバイス(LSD)と、を備えるコンピューティングシステム。 請求項2 請求項1記載のコンピューティングシステムにおいて、前記HDと前記LSDとの間の通信パスを提供するHD/LSDインターフェイスと、前記HD内にあり、ブロックコマンドを生成するように構成されたホストデバイスファイルシステム(HDFS)と、前記LSD内にあり、少なくとも前記HDFSによって管理される少なくとも1つの記憶エリアであって、前記HDFSは、前記HD/LSDインターフェイスを経由して前記少なくとも1つの記憶エリアに渡されるブロックコマンドを生成することによって、前記少なくとも1つの記憶エリアを管理するものである少なくとも1つの記憶エリアと、をさらに備えるコンピューティングシステム。 請求項3 請求項2記載のコンピューティングシステムにおいて、前記LSDは、前記ホストデバイスが前記LSDにポーリングを行っていれば、前記LSDが前記LSD論理リクエストを用いて前記ホストデバイスのポーリングに応答するが、前記ホストデバイスのポーリングはHDFSにより開始されたプロセスまたはLSDドライバにより開始されたプロセスのいずれからも独立している場合、そうでなければ、前記LSD論理リクエストを生成し、前記LSD論理リクエストとLSD割り込み信号とを関連付け、前記ホストデバイス宛てに前記LSD割り込み信号を発生させる場合のいずれかによって、前記LSD論理リクエストを使用して、前記LSDと前記起動アプリケーションとの間に前記通信パスを確立するように前記HDに指示するコンピューティングシステム。 請求項4 請求項3記載のコンピューティングシステムにおいて、前記LSD論理リクエストは、前記ホストデバイスと、前記HDおよび前記LSDの外部にありネットワークに含まれるデバイスに関連したリモート起動アプリケーションとの間に、ネットワークインターフェイスを利用してネットワークリンクとして前記通信パスを提供するように前記ホストデバイスに指示するか、または前記LSDと、前記LSDの外部にあるローカルデバイスに関連したローカル起動アプリケーションとの間に、前記ネットワークリンクではないローカル通信パスとして前記通信パスを提供するように前記ホストデバイスに指示するコンピューティングシステム。 請求項5 請求項4記載のコンピューティングシステムにおいて、前記ローカルデバイスは前記HDにより管理されるSIMカードであり、前記SIMカードは、SIMアプリケーションツールキットコマンドセットに準拠するか、またはUSIMアプリケーションツールキットコマンドセットに準拠するコンピューティングシステム。 請求項6 請求項4記載のコンピューティングシステムにおいて、前記ホストデバイスおよび前記LSDの外部にあるデバイスは、ネットワークデバイス(ND)であるコンピューティングシステム。 請求項7 請求項6記載のコンピューティングシステムにおいて、前記ネットワークがIPプロトコルベースのネットワークであるならば、前記LSDおよび前記SIMカードはそれぞれLSDIPアドレスおよびSIMIPアドレスを付与され、前記ホストデバイスはホストデバイスIPアドレスを付与され、前記NDはNDIPアドレスを付与されるコンピューティングシステム。 請求項8 請求項7記載のコンピューティングシステムにおいて、前記リクエストされたプロセスは、ブラウザアプリケーションの起動であるコンピューティングシステム。 請求項9 請求項8記載のコンピューティングシステムにおいて、前記ブラウザアプリケーションは、前記LSDをポイントし、またユーザ入力を受け取るように構成されたユーザインターフェイス(UI)を開くコンピューティングシステム。 請求項10 請求項9記載のコンピューティングシステムにおいて、前記ブラウザアプリケーションは、前記LSDと前記UIとの間の論理的対話を促進し、その結果、前記LSDにユーザに対する直接アクセスを提供するコンピューティングシステム。 請求項11 ホストデバイス(HD)と前記HDによって管理されるローカル記憶デバイス(LSD)とを有するコンピューティングシステムにおいて、リクエストされたプロセスを実行するように間接的に前記HDに指示する方法であって、前記LSDは、前記HDによって提供されるインターフェイス以外には前記HDの外部にあるデバイスに対する何らのインターフェイスも利用しないものである前記方法において、HDによって開始されたプロセスに役立つように作成されたものではないLSD論理リクエストを使用して、前記LSDと起動アプリケーションとの間に通信パスを確立するように前記HDに指示するステップと、前記HDによる介入なしに前記通信パス上で論理的に対話するステップと、前記リクエストされたプロセスを前記HDが実行するように前記起動アプリケーションに指示させるステップと、前記リクエストされたプロセスを実行するステップと、を含む方法。 請求項12 請求項11記載の方法において、前記コンピューティングシステムは、前記HDと前記LSDとの間の通信パスを提供するHD/LSDインターフェイスと、前記HD内にあり、ブロックコマンドを生成するように構成されたホストデバイスファイルシステム(HDFS)と、前記LSD内にあり、少なくとも前記HDFSによって管理される少なくとも1つの記憶エリアであって、前記HDFSは、前記HD/LSDインターフェイスを経由して前記少なくとも1つの記憶エリアに渡されるブロックコマンドを生成することによって、前記少なくとも1つの記憶エリアを管理するものである少なくとも1つの記憶エリアと、をさらに備える方法。 請求項13 請求項12記載の方法において、前記LSDは、前記ホストデバイスが前記LSDにポーリングを行っていれば、前記LSDが前記LSD論理リクエストを用いて前記ホストデバイスのポーリングに応答するが、前記ホストデバイスのポーリングはHDFSにより開始されたプロセスのいずれからも独立している場合、そうでなければ、前記LSD論理リクエストを生成し、前記LSD論理リクエストとLSD割り込み信号とを関連付け、前記ホストデバイス宛てに前記LSD割り込み信号を発生させる場合のいずれかによって、前記LSD論理リクエストを使用して、前記LSDと前記起動アプリケーションとの間に前記通信パスを確立するように前記HDに指示する方法。 請求項14 請求項13記載の方法において、前記LSD論理リクエストは、前記ホストデバイスと、前記HDおよび前記LSDの外部にありネットワークに含まれるデバイスに関連した前記起動アプリケーションとの間に、ネットワークインターフェイスを利用してネットワークリンクとして前記通信パスを提供するように前記ホストデバイスに指示するか、または前記LSDと、前記LSDの外部にあるローカルデバイスに関連したローカル起動アプリケーションとの間に、前記ネットワークリンクではないローカル通信パスとして前記通信パスを提供するように前記ホストデバイスに指示する方法。 請求項15 請求項14記載の方法において、前記ローカルデバイスは前記ホストデバイスにより管理されるSIMカードであり、前記SIMカードは、SIMアプリケーションツールキットコマンドセットに準拠するか、またはUSIMアプリケーションツールキットコマンドセットに準拠する方法。 請求項16 請求項15記載の方法において、前記ホストデバイスおよび前記LSDの外部にあるデバイスは、ネットワークデバイス(ND)である方法。 請求項17 請求項16記載の方法において、前記ネットワークがIPプロトコルベースのネットワークであるならば、前記LSDおよび前記SIMカードはそれぞれLSDIPアドレスおよびSIMIPアドレスを付与され、前記ホストデバイスはホストデバイスIPアドレスを付与され、前記NDはNDIPアドレスを付与される方法。 請求項18 請求項17記載の方法において、前記リクエストされたプロセスは、ブラウザアプリケーションの起動である方法。 請求項19 請求項18記載の方法において、前記ブラウザアプリケーションは、前記LSDをポイントし、またユーザ入力を受け取るように構成されたユーザインターフェイス(UI)を開く方法。 請求項20 請求項19記載の方法において、前記ブラウザアプリケーションは、前記LSDと前記UIとの間の論理的対話を促進し、その結果、前記LSDにユーザに対する直接アクセスを提供する方法。 請求項21 少なくとも第1の部分および少なくとも第2の部分を含むように論理的に構成されたメモリアレイを備えるLSDであって、前記第1および前記第2の部分は互いに独立し、第1のアプリケーションが前記第1の部分内の第1のアプリケーションコンテンツを管理し、第2のアプリケーションが前記第2の部分内の第2のアプリケーションコンテンツを管理し、前記第1および前記第2のアプリケーションは互いに独立して実行され、前記第1のアプリケーションによる前記第1のアプリケーションコンテンツの管理は前記第2のアプリケーションによる前記第2のアプリケーションコンテンツの管理から独立し、前記LSDは前記第1の部分に格納される前記第1のアプリケーションコンテンツを前記第2のアプリケーションに通知し、前記LSDによる通知はホストデバイス(HD)から独立しているLSD。 請求項22 請求項21記載のLSDにおいて、前記第1のアプリケーションによる管理は第1のアプリケーションコンテンツ管理ポリシーに基づいて実行され、前記第2のアプリケーションによる管理は第2のアプリケーションコンテンツ管理ポリシーに基づいて実行されるLSD。 請求項23 請求項22記載のLSDにおいて、前記第2のアプリケーションは、前記第1の部分に格納される前記第1のアプリケーションコンテンツの情報であって、前記LSDによって前記第2のアプリケーションに提供される情報を使用して、前記第1のアプリケーションコンテンツ管理ポリシーを推定するLSD。 請求項24 請求項23記載のLSDにおいて、前記第2のアプリケーションは、前記推定された第1のアプリケーションコンテンツ管理ポリシーを使用して、前記第2のアプリケーションコンテンツ管理ポリシーを更新するLSD。 請求項25 請求項24記載のLSDにおいて、前記第2のアプリケーションは、前記更新された第2のアプリケーションコンテンツ管理ポリシーを使用して、その後の第1のアプリケーション管理動作を予測するLSD。 請求項26 請求項25記載のLSDにおいて、前記第2のアプリケーションは、前記予測されたその後の第1のアプリケーション管理動作に基づいて、第2の部分の管理動作を開始するLSD。 請求項27 請求項26記載のLSDにおいて、前記LSDは前記HDと通信し、前記HDはホストデバイスファイルシステム(HDFS)を含み、前記LSDによる通知は前記HDFSから独立しているLSD。 請求項28 請求項27記載のLSDにおいて、前記第1の部分は前記HDFSによって管理され、前記第1のアプリケーションは前記HDFSを使用して前記第1の部分内の前記第1のアプリケーションコンテンツを管理し、前記第2の部分は前記HDFSによって管理されず、また前記HDFSに認識もされないLSD。 請求項29 請求項28記載のLSDにおいて、前記ホストデバイス(HD)は前記HDが通信パスを確立するために使用するネットワークインターフェイスを含み、前記通信パス上で、前記第2の部分は前記ネットワークインターフェイスにアクセスし、前記HDが前記通信パスを確立すると、前記通信パスの保持を除いて前記HDによるそれ以上の介入はないLSD。 請求項30 請求項29記載のLSDにおいて、前記第1のアプリケーションはブラウザキャッシュマネージャであり、前記第2のアプリケーションはプロキシキャッシュマネージャであるLSD。 請求項31 請求項30記載のLSDにおいて、前記第2の部分は前記プロキシキャッシュマネージャによって管理されるプロキシキャッシュを少なくとも含み、前記プロキシキャッシュマネージャはプロキシキャッシュ管理ポリシーに従って前記プロキシキャッシュ内の前記プロキシキャッシュコンテンツを管理するLSD。 請求項32 請求項31記載のLSDにおいて、前記第1の部分は前記ブラウザキャッシュマネージャによって管理されるブラウザキャッシュを少なくとも含み、前記ブラウザキャッシュマネージャはブラウザキャッシュ管理ポリシーに従って前記ブラウザキャッシュ内の前記ブラウザキャッシュコンテンツを管理するLSD。 請求項33 請求項32記載のLSDにおいて、前記プロキシキャッシュマネージャは、前記LSDによって提供される前記ブラウザキャッシュコンテンツについての情報に基づいて、前記プロキシキャッシュ管理ポリシーを変更するLSD。 請求項34 請求項33記載のLSDにおいて、前記プロキシキャッシュマネージャは、前記変更されたプロキシキャッシュ管理ポリシーを使用して、ブラウザキャッシュ動作を予測するLSD。 請求項35 請求項34記載のLSDにおいて、前記プロキシキャッシュマネージャは、前記予測されたブラウザキャッシュ動作を使用して、前記プロキシキャッシュコンテンツを更新するLSD。 請求項36 コンピューティングシステムであって、ホストデバイスファイルシステム(HDFS)およびネットワークインターフェイスを含むホストデバイスと、ローカル記憶デバイス(LSD)であって、少なくとも第1の部分および少なくとも第2の部分を含むように論理的に構成されたメモリアレイであって、前記第1および前記第2の部分は互いに独立し、前記第1の部分は第1のアプリケーションが前記HDFSを使用して前記第1の部分内の第1のアプリケーションコンテンツを管理するように前記HDFSによって管理され、前記第2の部分は前記第2の部分が前記HDFSに認識されないように前記HDFSによって管理されず、前記第1および第2のアプリケーションは互いに独立して実行され、前記第1のアプリケーションによる前記第1のアプリケーションコンテンツの管理は第2のアプリケーションによる第2のアプリケーションコンテンツの管理から独立し、前記LSDは前記第1の部分に格納される前記第1のアプリケーションコンテンツを前記第2のアプリケーションに通知し、前記通知は前記HDFSに認識されないものであるメモリアレイを含むローカル記憶デバイス(LSD)と、を備えるコンピューティングシステム。 請求項37 請求項36記載のコンピューティングシステムにおいて、前記第1のアプリケーションによる管理は第1のアプリケーションコンテンツ管理ポリシーに基づいて実行され、前記第2のアプリケーションによる管理は第2のアプリケーションコンテンツ管理ポリシーに基づいて実行されるコンピューティングシステム。 請求項38 請求項37記載のコンピューティングシステムにおいて、前記第2のアプリケーションは、前記第1の部分に格納される前記第1のアプリケーションコンテンツの情報であって、前記LSDによって前記第2のアプリケーションに提供される情報を使用して、前記第1のアプリケーションコンテンツ管理ポリシーを推定するコンピューティングシステム。 請求項39 請求項38記載のコンピューティングシステムにおいて、前記第2のアプリケーションは、前記推定された第1のアプリケーションコンテンツ管理ポリシーを使用して、前記第2のアプリケーションコンテンツ管理ポリシーを更新するコンピューティングシステム。 請求項40 請求項39記載のコンピューティングシステムにおいて、前記第2のアプリケーションは、前記更新された第2のアプリケーションコンテンツ管理ポリシーを使用して、その後の第1のアプリケーション動作を予測するコンピューティングシステム。 請求項41 請求項40記載のコンピューティングシステムにおいて、前記第2のアプリケーションは、前記予測されたその後の第1のアプリケーション動作に基づいて、第2の部分の動作を開始するコンピューティングシステム。 請求項42 請求項41記載のコンピューティングシステムにおいて、前記ホストデバイス(HD)は、前記HDが前記第2の部分へのネットワークアクセスを促進するために使用するネットワークインターフェイスを含むコンピューティングシステム。 請求項43 請求項42記載のコンピューティングシステムにおいて、前記第1のアプリケーションはブラウザキャッシュマネージャであり、前記第2のアプリケーションはプロキシキャッシュマネージャであるコンピューティングシステム。 請求項44 請求項43記載のコンピューティングシステムにおいて、前記第2の部分は前記プロキシキャッシュマネージャによって管理されるプロキシキャッシュを少なくとも含み、前記プロキシキャッシュマネージャはプロキシキャッシュ管理ポリシーに従って前記プロキシキャッシュ内のプロキシキャッシュコンテンツを管理するコンピューティングシステム。 請求項45 請求項44記載のコンピューティングシステムにおいて、前記第1の部分は前記ブラウザキャッシュマネージャによって管理されるブラウザキャッシュを少なくとも含み、前記ブラウザキャッシュマネージャはブラウザキャッシュ管理ポリシーに従って前記ブラウザキャッシュ内のブラウザキャッシュコンテンツを管理するコンピューティングシステム。 請求項46 請求項44記載のコンピューティングシステムにおいて、前記プロキシキャッシュマネージャは、前記LSDによって提供される前記ブラウザキャッシュコンテンツについての情報に基づいて、前記プロキシキャッシュ管理ポリシーを変更するコンピューティングシステム。 請求項47 請求項46記載のコンピューティングシステムにおいて、前記プロキシキャッシュマネージャは、前記変更されたプロキシキャッシュ管理ポリシーを使用して、ブラウザキャッシュ動作を予測するコンピューティングシステム。 請求項48 請求項47記載のコンピューティングシステムにおいて、前記プロキシキャッシュマネージャは、前記予測されたブラウザキャッシュ動作を使用して、前記プロキシキャッシュコンテンツを更新するコンピューティングシステム。 請求項49 デジタルコンテンツプロバイダによってDRM方式に従い少なくとも1つの制限を加えられた、保護されているデジタルコンテンツを取得および消費する方法であって、前記方法はメモリアレイを有するローカル記憶デバイス(LSD)を含むシステムによって実行され、前記LSDは前記メモリアレイの少なくとも一部分を管理するように構成されたホストデバイスファイルシステム(HDFS)を少なくとも有するホストデバイス(HD)と結合される前記方法において、前記保護されているデジタルコンテンツを前記LSDによって取得するステップと、前記取得された保護されているデジタルコンテンツを前記LSDによって前記メモリアレイにセキュアに格納するステップであって、前記取得するステップおよび前記セキュアに格納するステップはそれぞれ、前記DRM方式に従い、どちらも前記HDFSによって開始されるものではないようにしたセキュアに格納するステップと、前記保護されているデジタルコンテンツを消費するステップであって、前記セキュアに格納された保護されているデジタルコンテンツの少なくとも一部をデジタルデータストリームに変換するステップと、前記LSDによって前記デジタルデータストリームをストリーミングするステップであって、前記デジタルデータストリームに使用制限である前記少なくとも1つの制限が加えられていれば、前記LSDは前記使用制限を強制するようにしたストリーミングするステップと、によって前記保護されているデジタルコンテンツを消費するステップと、を含む方法。 請求項50 請求項49記載の方法において、前記保護されているデジタルコンテンツはデジタルコンテンツおよび対応する権利オブジェクトを含み、前記使用制限は前記保護されているデジタルコンテンツの不正コピーを防ぐことを含むかまたは前記保護されているデジタルコンテンツの所定回数の使用を許可する方法。 請求項51 請求項50記載の方法において、前記メモリアレイは、前記HDFSによって管理され、前記HDFSに認識される少なくとも第1の部分と、前記HDFSによって管理されず、前記HDFSに認識されない少なくとも第2の部分とをさらに含み、前記保護されているデジタルコンテンツをセキュアに格納するステップは、暗号化されたデジタルコンテンツを前記メモリアレイのうちの前記HDFSに認識される前記第1の部分に格納するステップと、前記デジタルコンテンツに対応する前記権利オブジェクトを前記メモリアレイのうちの前記HDFSに認識されない前記第2の部分に格納するステップと、をさらに含む方法。 請求項52 請求項50記載の方法において、前記保護されているデジタルコンテンツをセキュアに格納するステップは、前記保護されているデジタルコンテンツを暗号化するステップと、前記暗号化された保護されているデジタルコンテンツを前記メモリアレイのうちの前記HDFSに認識される第1の部分に格納するステップと、をさらに含む方法。 請求項53 請求項49記載の方法において、前記LSDは前記デジタルデータストリームを前記LSDの外部のエージェントへストリーミングし、前記少なくとも1つの制限がアクセス制限を含めば、前記外部エージェントが前記DRM方式にとって容認可能なアクセス資格を有する認証された外部エージェントである場合にのみ、前記外部エージェントは前記デジタルデータストリームを処理することができる方法。 請求項54 請求項53記載の方法において、前記外部エージェントは、インターフェイスを経由して前記HDに接続される第2のLSDに存在する方法。 請求項55 請求項54記載の方法において、前記外部エージェントは、前記HD内で実行されるローカルのデジタルメディアプレーヤレンダラアプリケーションである方法。 請求項56 請求項54記載の方法において、前記保護されているデジタルコンテンツは、前記HDおよび前記LSDの外部にありネットワークに含まれるリモートデバイス(RD)から取得される方法。 請求項57 請求項56記載の方法において、前記保護されているデジタルコンテンツの取得より前に、前記LSDおよび前記RDを相互認証するステップと、相互認証が無事に終了した場合にのみ、前記LSDによる前記RDからの前記デジタルコンテンツの取得を開始するステップと、をさらに含む方法。 請求項58 請求項57記載の方法において、前記HDは、前記HDにネットワークへのアクセスを提供するネットワークインターフェイスをさらに含む方法。 請求項59 請求項58記載の方法において、前記保護されているデジタルコンテンツを取得するステップは、前記RDによって、前記LSDと前記RDとの間に前記ネットワークインターフェイスを使用して通信パスを確立するように前記HDに指示するステップであって、前記HDによって前記通信パスが確立されると、前記通信パスの保持を除いて前記HDによるそれ以上の介入はないようにした指示するステップ、または前記LSDによって、前記LSDと前記RDとの間に前記ネットワークインターフェイスを使用して前記通信パスを確立するように前記HDに指示するステップであって、前記HDによって前記通信パスが確立されると、前記通信パスの保持を除いて前記HDによるそれ以上の介入はないようにした指示するステップと、前記LSDおよび前記RDによって、前記通信パス上で論理的に対話するステップであって、前記論理的対話は前記HDに認識されないようにした対話するステップと、をさらに含む方法。 請求項60 請求項59記載の方法において、前記論理的対話は、前記RDに前記保護されているデジタルコンテンツを前記RDから前記LSDへ送らせ、また前記LSDに前記保護されているデジタルコンテンツを前記メモリアレイに強制的に格納させるRDコマンドを含むか、または前記LSDに前記RDが前記デジタルコンテンツを前記RDから前記LSDへ送ることをリクエストさせるLSDコマンドを含む方法。 請求項61 請求項60記載の方法において、前記セキュアに格納された保護されているデジタルコンテンツの少なくとも一部を前記デジタルデータストリームに変換するステップは、前記保護されているデジタルコンテンツを前記メモリアレイから読み込むステップと、前記メモリアレイから読み込まれた前記保護されているデジタルコンテンツを少なくとも1つのデータストリームに構成するステップと、を含む方法。 請求項62 請求項61記載の方法において、前記保護されているデジタルコンテンツを前記LSDによって前記メモリアレイからストリーミングするステップは、ストリーミングチャネルを形成するステップと、前記保護されているデジタルコンテンツを前記ストリーミングチャネル上でストリーミングするステップと、を含む方法。 請求項63 請求項62記載の方法において、前記DRMが、前記ストリーミングチャネルがセキュアなストリーミングチャネルであることを要求すれば、前記セキュアなストリーミングチャネルを形成し、前記保護されているデジタルコンテンツを前記セキュアなストリーミングチャネル上でストリーミングする方法。 請求項64 請求項49記載の方法において、前記保護されているデジタルコンテンツは、MP3オーディオファイルおよび/またはビデオファイルを含むデジタルメディアファイルである方法。 請求項65 請求項49記載の方法において、前記システムは、別のDRM方式に従って少なくとも1つの制限を加えられる他の保護されているデジタルコンテンツを同時に取得および消費するように構成される方法。 請求項66 ローカル記憶デバイス(LSD)と通信するホストデバイス(HD)を有するコンピューティングデバイスであって、前記LSDは複数のデータブロックを含むメモリアレイを含み、前記メモリアレイは前記HDにとって前記データブロックによってアクセス可能であるコンピューティングデバイスにおいて、前記LSDの前記メモリアレイに格納されるデータに関して検索インデックスを生成する方法であって、前記LSDの前記メモリアレイに格納されるデータに関してインデックスデータを前記LSDによって前記HDの関与なしに生成するステップと、前記生成されたインデックスデータを前記LSDによって前記検索インデックスの少なくとも一部として前記LSD上に格納するステップと、を含む方法。 請求項67 請求項66記載の方法において、前記LSDの前記メモリアレイに格納される前記データに関してインデックスデータを生成するステップは、前記HDによる、前記LSDの前記メモリアレイに関連するデータアクセス動作の結果としての前記LSDに対するアクセスを前記LSDによって確認するステップであって、前記データアクセス動作の結果、前記メモリアレイへまたは前記メモリアレイからデータブロックが提供されるようにした確認するステップと、前記確認されたデータアクセス動作を特徴付けるデータを前記LSDによって判断するステップと、前記判断された特徴付けデータに少なくとも部分的に基づいて前記インデックスデータを生成するステップと、を含む方法。 請求項68 請求項67記載の方法において、前記確認されたデータアクセス動作を特徴付けるデータを判断するステップは、前記確認されたデータアクセス動作においてアクセスされる前記データのコンテンツ以外のデータを少なくとも含むデータを判断するステップを含む方法。 請求項69 請求項68記載の方法において、前記データアクセス動作は、メディアコンテンツのデータにアクセスする動作を含み、前記確認されたデータアクセス動作を特徴付けるデータを判断するステップは、前記メディアコンテンツに関連する確認されたデータアクセス動作によって表される挙動を特徴付けるデータと、前記アクセスされたメディアコンテンツ自体のデータ以外のデータを少なくとも含むデータとを判断するステップを含む方法。 請求項70 請求項67記載の方法において、前記HDはホストデバイスファイルシステム(HDFS)を含み、前記HDによる前記LSDの前記メモリアレイに関連するデータアクセス動作はHDFSの動作を含む方法。 請求項71 請求項66記載の方法において、前記LSDの前記メモリアレイに格納されるデータに関してインデックスデータを生成するステップは、前記メモリアレイに格納されるデータを少なくとも含むようにインデックスデータを生成するステップを含む方法。 請求項72 請求項71記載の方法において、前記メモリアレイに格納されるデータを少なくとも含むようにインデックスデータを生成するステップは前記メモリアレイに格納されるデータから成るコンテンツを抽出するステップを含み、前記コンテンツは前記メモリアレイに格納されるデータである方法。 請求項73 請求項66記載の方法において、前記LSDの前記メモリアレイに格納されるデータに関してインデックスデータを生成するステップは前記メモリアレイに格納されるデータに対して認識アルゴリズムを実行するステップを含み、前記生成されるインデックスデータは前記認識アルゴリズムの結果を示す方法。 請求項74 請求項66記載の方法において、前記LSDの前記メモリアレイに格納されるデータに関してインデックスデータを生成するステップは、前記HDの関与なしに前記LSDによって、前記LSDの前記メモリアレイの前記データにアクセスするステップと、前記データに関して前記インデックスデータを生成するステップとを含む方法。 請求項75 請求項66記載の方法において、前記LSDによって検索クエリを受け取るステップと、前記LSDによって、前記検索インデックスに関して前記検索クエリを処理し、前記検索クエリに応答して検索結果を提供するステップと、をさらに含む方法。 請求項76 請求項75記載の方法において、前記検索クエリを受け取るステップは、前記HDから検索クエリを受け取るステップを含む方法。 請求項77 請求項75記載の方法において、前記検索クエリを受け取るステップは、前記HD以外のデバイスから検索クエリを受け取るステップを含む方法。 請求項78 請求項66記載の方法において、前記検索インデックスを前記LSDから前記ホストデバイスに提供するステップをさらに含む方法。 請求項79 請求項66記載の方法において、前記検索インデックスを前記LSDから前記ホストデバイス以外のデバイスに提供するステップをさらに含む方法。 請求項80 請求項66記載の方法において、前記LSDによって、前記LSDの前記メモリアレイ内の特定のコンテンツのデータアクセスリクエストを前記HDから受け取るステップと、前記生成されたインデックスデータを、前記LSDによって、前記データアクセスリクエストに基づき前記データアクセスリクエストの前記特定のコンテンツを考慮して処理し、前記アクセスリクエストをブロックするかどうかを判断するステップと、をさらに含む方法。 請求項81 請求項66記載の方法において、前記LSD内に格納される前記生成されたインデックスデータを、前記HDによって、前記LSDの前記メモリアレイ内の特定のコンテンツのデータアクセスリクエストに基づき前記データアクセスリクエストの前記特定のコンテンツを考慮して処理し、前記アクセスリクエストをブロックするかどうかを判断するステップをさらに含む方法。 請求項82 システムであって、データ記憶アレイと、論理データブロックとして前記データ記憶アレイに格納されるデータを管理するようになっている第1の論理インターフェイスと、論理データブロックとして格納される前記データに対応するデータオブジェクトを管理するようになっている第2の論理インターフェイスであって、論理データブロックとして格納される前記データの少なくとも一部が前記第1の論理インターフェイスを経由して変更されると、前記変更されたデータは前記第1および前記第2の論理インターフェイスの両方を経由してアクセス可能であり、前記第2の論理インターフェイスを経由して前記アクセス可能であることはデータオブジェクトプロパティの所定のセットを同時に管理することと前記変更されることとを伴うものである第2の論理インターフェイスと、を備えるシステム。 請求項83 請求項82記載のシステムにおいて、前記データオブジェクトプロパティの所定のセットを同時に管理することは同期化ユニットによって促進され、前記促進は前記データオブジェクトと前記オブジェクトプロパティの所定のセットとを同期化することを含むシステム。 請求項84 請求項82記載のシステムにおいて、前記データオブジェクトプロパティの所定のセットは、オブジェクト名と、オブジェクトサイズと、前記オブジェクトがアクセスされた回数とを含むシステム。 請求項85 請求項82記載のシステムにおいて、前記データ記憶アレイ、前記第1の論理インターフェイス、および前記第2の論理インターフェイスは、ローカル記憶デバイス(LSD)に含まれるシステム。 請求項86 請求項85記載のシステムにおいて、前記LSDは、ホストアプリケーションと、ブロックコマンドを生成するように構成されたホストデバイスファイルシステム(HDFS)とを有するホストデバイス(HD)に結合されるシステム。 請求項87 請求項86記載のシステムにおいて、同期化ユニットは、前記HDに含まれるシステム。 請求項88 請求項83記載のシステムにおいて、前記データ記憶アレイは、第1の部分および第2の部分を含むように設定されるシステム。 請求項89 請求項88記載のシステムにおいて、前記第1の部分は前記論理データブロックおよび前記対応するデータオブジェクトを格納するように構成された前記第1および前記第2の論理インターフェイスと通信する大容量記憶部分であり、前記第2の部分は前記データオブジェクトプロパティの所定のセットを格納するように構成されるシステム。 請求項90 請求項89記載のシステムにおいて、前記第1の部分内のオブジェクトが変更されるならば、前記同期化ユニットは、前記第2の部分に格納される対応する前記データオブジェクトプロパティを更新するシステム。 請求項91 ローカル記憶デバイス(LSD)であって、データ記憶アレイと、論理データブロックとして前記データ記憶アレイに格納されるデータを管理するようになっている第1の論理インターフェイスと、論理データブロックとして格納される前記データに対応するデータオブジェクトを管理するようになっている第2の論理インターフェイスであって、論理データブロックとして格納される前記データの少なくとも一部が前記第1の論理インターフェイスを経由して変更されると、前記変更されたデータは前記第1および前記第2の論理インターフェイスの両方を経由してアクセス可能であり、前記第2の論理インターフェイスを経由して前記アクセス可能であることはデータオブジェクトプロパティの所定のセットを同時に管理することと前記変更されることとを伴うものである第2の論理インターフェイスと、を備えるローカル記憶デバイス(LSD)。 請求項92 請求項91記載のLSDにおいて、前記LSDは、ホストアプリケーションと、ブロックコマンドを生成するように構成されたホストデバイスファイルシステム(HDFS)とを有するホストデバイス(HD)に結合されるLSD。 請求項93 請求項92記載のLSDにおいて、前記データオブジェクトプロパティの所定のセットを同時に管理することは同期化ユニットによって促進され、前記促進は前記データオブジェクトと前記データオブジェクトプロパティの所定のセットとを同期化することを含むLSD。 請求項94 請求項93記載のLSDにおいて、前記同期化ユニットは、前記HDに含まれるLSD。 請求項95 請求項94記載のLSDにおいて、前記オブジェクトプロパティの所定のセットは、オブジェクト名と、オブジェクトサイズと、前記オブジェクトがアクセスされた回数とを含むLSD。 請求項96 請求項94記載のLSDにおいて、前記データ記憶アレイは、第1の部分および第2の部分を含むように設定されるLSD。 請求項97 請求項96記載のLSDにおいて、前記第1の部分は前記論理データブロックおよび前記対応するデータオブジェクトを格納するように構成された前記第1および前記第2の論理インターフェイスと通信する大容量記憶部分であり、前記第2の部分は前記データオブジェクトプロパティの所定のセットを格納するように構成されるLSD。 請求項98 請求項97記載のLSDにおいて、前記第1の部分内のオブジェクトが変更されるならば、前記同期化ユニットは、前記第2の部分に格納される対応する前記データオブジェクトプロパティを更新するLSD。 請求項99 方法であって、データ記憶アレイにおいて、論理データブロックとして前記データ記憶アレイに格納されるデータを第1のインターフェイスを経由して管理するステップと、前記データ記憶アレイに格納されるデータオブジェクトを第2のインターフェイスを経由して管理するステップであって、前記データオブジェクトは論理データブロックとして格納されるデータに対応し、論理データブロックとして格納されるデータが前記第1のインターフェイスを経由して変更されると、前記変更されたデータは前記第1および前記第2のインターフェイスの両方を経由してアクセス可能であり、前記第2のインターフェイスを経由してアクセス可能であることはデータオブジェクトプロパティの所定のセットを同時に管理することを伴うものである管理するステップと、を含む方法。 請求項100 請求項99記載の方法において、前記データオブジェクトプロパティの所定のセットを同時に管理することは同期化ユニットによって促進され、前記促進は前記データオブジェクトと前記データオブジェクトプロパティの所定のセットとを同期化することを含む方法。 請求項101 請求項100記載の方法において、前記データオブジェクトプロパティの所定のセットは、オブジェクト名と、オブジェクトサイズと、前記オブジェクトがアクセスされた回数とを含む方法。 請求項102 請求項100記載の方法において、前記データ記憶アレイ、前記第1の論理インターフェイス、および前記第2の論理インターフェイスは、ローカル記憶デバイス(LSD)に含まれる方法。 請求項103 請求項102記載の方法において、前記LSDは、ホストアプリケーションと、ブロックコマンドを生成するように構成されたホストデバイスファイルシステム(HDFS)とを有するホストデバイス(HD)に結合される方法。 請求項104 請求項103記載の方法において、同期化ユニットは、前記HDに含まれる方法。 請求項105 請求項104記載の方法において、前記データ記憶アレイは、第1の部分および第2の部分を含むように設定される方法。 請求項106 請求項105記載の方法において、前記第1の部分は、前記論理データブロックおよび前記対応するデータオブジェクトを格納するように構成された前記第1および前記第2のインターフェイスと通信する大容量記憶部分であり、前記第2の部分は前記データオブジェクトプロパティの所定のセットを格納するように構成される方法。 請求項107 請求項106記載の方法において、前記第1の部分内のオブジェクトが変更されるならば、前記同期化ユニットは、前記第2の部分に格納される対応する前記データオブジェクトプロパティを更新する方法。
类似技术:
公开号 | 公开日 | 专利标题 US10762055B2|2020-09-01|Utilizing user devices for backing up and retrieving data in a distributed backup system US10404821B2|2019-09-03|Providing access to managed content US10715314B2|2020-07-14|Cloud file system US10514901B2|2019-12-24|Application management within deployable object hierarchy US10091203B2|2018-10-02|Specialized network fileserver JP6621543B2|2019-12-18|Automatic update of hybrid applications AU2016225864B2|2018-06-28|Local server for synced online content management system KR101767719B1|2017-08-11|정보표시방법과 장치, 프로그램 및 저장매체 JP2016186800A|2016-10-27|ネットワーク・インターフェイス装置を使用しネットワークを介してメディアを転送するための方法及び装置 US9811329B2|2017-11-07|Cloud based file system surpassing device storage limits US9332063B2|2016-05-03|Versatile application configuration for deployable computing environments AU2015267625B2|2018-02-22|Activity continuation between electronic devices US9485305B2|2016-11-01|API platform that includes server-executed client-based code US20160029153A1|2016-01-28|Dynamic types for activity continuation between electronic devices JP4781822B2|2011-09-28|ホームネットワークでコンテンツに対する一つのビューを提供する方法及びシステム TWI482035B|2015-04-21|運算環境表示 US10667109B2|2020-05-26|Forwarding activity-related information from source electronic devices to companion electronic devices KR100476540B1|2005-03-18|자동업데이트가 가능한 mp3 플레이어, mp3 플레이어의자동업데이트 시스템 및 방법 JP5094709B2|2012-12-12|近隣メディアの凝集および同期 US7610187B2|2009-10-27|Lingual translation of syndicated content feeds AU2019283779A1|2020-01-16|Methods, systems, apparatus, products, articles and data structures for cross-platform digital content US20150006797A1|2015-01-01|Interface for extending functionality of memory cards US7483958B1|2009-01-27|Methods and apparatuses for sharing media content, libraries and playlists RU2629448C2|2017-08-29|Система и способ управления и организации кэша веб-браузера JP2016529599A|2016-09-23|コンテンツクリップボードの同期
同族专利:
公开号 | 公开日 TW200937198A|2009-09-01| CN101960426A|2011-01-26| CN102012790A|2011-04-13| KR20100106609A|2010-10-01| EP2249254A3|2011-02-23| EP2243083A2|2010-10-27| WO2009088709A2|2009-07-16| CN101976315A|2011-02-16| KR20100106610A|2010-10-01| EP2249254A2|2010-11-10| KR20100107479A|2010-10-05| WO2009088709A3|2009-10-15| EP2249253A1|2010-11-10|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
法律状态:
2011-12-16| A521| Written amendment|Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111215 | 2011-12-16| A621| Written request for application examination|Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111215 | 2012-11-09| A977| Report on retrieval|Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121109 | 2012-12-05| A131| Notification of reasons for refusal|Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121204 | 2013-02-28| A601| Written request for extension of time|Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20130227 | 2013-03-07| A602| Written permission of extension of time|Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130306 | 2013-04-03| A601| Written request for extension of time|Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20130402 | 2013-04-10| A602| Written permission of extension of time|Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130409 | 2013-05-01| A601| Written request for extension of time|Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20130430 | 2013-05-10| A602| Written permission of extension of time|Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130509 | 2013-09-11| A02| Decision of refusal|Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130910 |
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|