(57)【特許請求の範囲】
【請求項１】
データストレージ用のメモリを有する電子機器でデジタルアセットを提示するために、データにアクセスする方法であって、
前記電子機器によって提示すべきデジタルアセットを特定するステップと、
前記電子機器が利用可能なネットワークパフォーマンスを判定するステップと、
選択された品質バージョンを得るためにリモートクラウドストレージに要求すべき前記デジタルアセットの品質バージョンを、前記ネットワークパフォーマンスに基づいて判定するステップ、ここで前記デジタルアセットの前記選択された品質バージョンは、前記リモートクラウドストレージにおける前記デジタルアセットの複数のバージョンから選択されたものであり、前記デジタルアセットの前記複数のバージョンの各々は、対応する品質レベルを有する前記デジタルアセットの異なるバージョンであり、
前記デジタルアセットの前記判定された品質バージョンを前記リモートクラウドストレージに要求するステップ、ここで前記選択された品質バージョンは、前記選択された品質バージョンの品質レベルに対応する、前記デジタルアセットの前記異なるバージョンからなる電子ファイルとして前記電子機器に転送するように要求され、
前記選択された品質バージョンの前記品質レベルに従って、前記デジタルアセットの前記異なるバージョンに対応する前記電子ファイルを、前記電子機器で前記リモートクラウドストレージから受信するステップと、
前記電子ファイルを前記電子機器の前記データストレージに格納するステップと、を有することを特徴とする方法。
【請求項２】
前記デジタルアセットの前記選択された品質バージョンに関する前記電子ファイルを用いて、前記電子機器で前記デジタルアセットを提示するステップをさらに有することを特徴とする請求項１記載の方法。
【請求項３】
前記電子機器が携帯電話機を含むことを特徴とする請求項１記載の方法。
【請求項４】
前記ネットワークパフォーマンスが、データ転送に利用可能なネットワーク帯域幅またはビットレートに基づくことを特徴とする請求項１乃至請求項３のいずれか１項に記載の方法。
【請求項５】
データストレージ用のローカルメモリを有する電子機器でデジタルアセットを提示するために、データにアクセスする方法であって、
前記電子機器によって提示すべきデジタルアセットの指示を受信するステップと、
前記デジタルアセットの高品質バージョンが前記電子機器の前記ローカルメモリから入手不能であることを判定するステップと、
前記電子機器が利用可能なネットワークパフォーマンスが、前記高品質バージョンに関連付けられた高品質レベルに従った前記デジタルアセットのバージョンからなる電子ファイルとしてダウンロードされる、前記デジタルアセットの前記高品質バージョンのダウンロードに十分であることを判定するステップと、
前記デジタルアセットの前記高品質バージョンに関連付けられた前記電子ファイルが、クラウドデータリポジトリから入手可能であることを判定するステップと、
前記デジタルアセットが前記クラウドデータリポジトリから入手可能であり、前記電子機器の前記ローカルメモリから入手不能な場合、前記デジタルアセットの前記高品質バージョンに関連付けられた前記電子ファイルを前記クラウドデータリポジトリからダウンロードするステップと、
前記デジタルアセットの前記高品質バージョンに関連付けられた前記電子ファイルを前記ローカルメモリに格納するステップと、を有することを特徴とする方法。
【請求項６】
前記デジタルアセットの前記高品質バージョンに関連付けられた前記電子ファイルを、前記電子機器で提示するステップ、をさらに有することを特徴とする請求項５記載の方法。
【請求項７】
前記デジタルアセットの前記高品質バージョンに関連付けられた前記電子ファイルを提示する前記ステップが、前記電子ファイルをダウンロードする前記ステップと同時実行されることを特徴とする請求項６記載の方法。
【請求項８】
前記デジタルアセットが、前記電子機器で再生可能なデジタルメディアアセットであり、
前記デジタルアセットの前記高品質バージョンに関連付けられた前記電子ファイルを前記電子機器で提示する前記ステップが、前記デジタルアセットの前記高品質バージョンに関連付けられた前記電子ファイルを前記電子機器で再生するステップを有することを特徴とする請求項５乃至請求項７のいずれか１項に記載の方法。
【請求項９】
データストレージ用のメモリを有する電子機器でデジタルアセットを提示するためにデータにアクセスするためのコンピュータプログラムが少なくとも格納されたコンピュータ可読媒体であって、
前記電子機器によって提示すべきデジタルアセットを特定するためのコンピュータプログラムと、
前記電子機器が利用可能なネットワークパフォーマンスを判定するためのコンピュータプログラムと、
選択された品質バージョンを得るために、リモートクラウドストレージに要求すべき前記デジタルアセットの品質バージョンを、前記ネットワークパフォーマンスに基づいて判定するためのコンピュータプログラム、ここで前記デジタルアセットの前記選択された品質バージョンは、前記リモートクラウドストレージにおける前記デジタルアセットの複数のバージョンから選択されたものであり、前記デジタルアセットの前記複数のバージョンの各々は、対応する品質レベルを有する前記デジタルアセットの異なるバージョンであり、
前記デジタルアセットの前記判定された品質バージョンを前記リモートクラウドストレージに要求するためのコンピュータプログラム、ここで前記選択された品質バージョンは、前記選択された品質バージョンの品質レベルに対応する、前記デジタルアセットの前記異なるバージョンからなる電子ファイルとして前記電子機器に転送するように要求され、
前記選択された品質バージョンの前記品質レベルに従って、前記デジタルアセットの前記異なるバージョンに対応する前記電子ファイルを、前記電子機器で前記リモートクラウドストレージから受信するためのコンピュータプログラムと、
前記電子ファイルを前記電子機器の前記データストレージに格納するためのコンピュータプログラムと、を有するコンピュータ可読媒体。
【請求項１０】
データストレージ用のローカルメモリを有する電子機器でデジタルアセットを提示するためにデータにアクセスするためのコンピュータプログラムが少なくとも格納されたコンピュータ可読媒体であって、
前記電子機器によって提示すべきデジタルアセットの指示を受信するためのコンピュータプログラムと、
前記デジタルアセットの高品質バージョンが前記電子機器の前記ローカルメモリから入手不能であることを判定するためのコンピュータプログラムと、
前記電子機器が利用可能なネットワークパフォーマンスが、前記高品質バージョンに関連付けられた高品質レベルに従った前記デジタルアセットのバージョンからなる電子ファイルとしてダウンロードされる、前記デジタルアセットの前記高品質バージョンのダウンロードに十分であることを判定するためのコンピュータプログラムと、
前記デジタルアセットの前記高品質バージョンに関連付けられた前記電子ファイルが、クラウドデータリポジトリから入手可能であることを判定するためのコンピュータプログラムと、
前記デジタルアセットが前記クラウドデータリポジトリから入手可能であり、前記電子機器の前記ローカルメモリから入手不能な場合、前記デジタルアセットの前記高品質バージョンに関連付けられた前記電子ファイルを前記クラウドデータリポジトリからダウンロードするためのコンピュータプログラムと、
前記デジタルアセットの前記高品質バージョンに関連付けられた前記電子ファイルを前記ローカルメモリに格納するためのコンピュータプログラムと、を有するコンピュータ可読媒体。
【請求項１１】
データストレージ用のローカルメモリを有し、ネットワークに接続可能な電子機器において、デジタルアセットをアップグレードする方法であって、
前記ローカルメモリに格納されているデジタルアセットの低品質バージョンを前記デジタルアセットの高品質バージョンにアップグレードすべきであることを判定するステップと、
前記電子機器が利用可能なネットワークパフォーマンスが、前記デジタルアセットの高品質バージョンからなる電子ファイルをダウンロードするのに十分であることを判定するステップと、
前記デジタルアセットの前記高品質バージョンからなる前記電子ファイルをクラウドサーバからダウンロードするよう要求するステップと、
前記デジタルアセットの前記高品質バージョンからなる前記電子ファイルを、前記クラウドサーバから前記ネットワークを通じて前記電子機器で受信するステップと、
前記デジタルアセットの前記低品質バージョンを前記デジタルアセットの前記高品質バージョンにアップグレードするために、前記電子ファイルを前記ローカルメモリに格納するステップと、を有することを特徴とする方法。
【請求項１２】
前記ローカルメモリに格納されている前記デジタルアセットの前記低品質バージョンをアップグレードすべきであることを判定する前記ステップが、少なくとも受信したユーザ入力に基づいて前記判定を行うことを特徴とする請求項１１記載の方法。
【請求項１３】
前記ローカルメモリに格納されている前記デジタルアセットの前記低品質バージョンをアップグレードすべきであることを判定する前記ステップが、前記デジタルアセットの再生要求に基づいて前記判定を行うことを特徴とする請求項１１記載の方法。
【請求項１４】
前記ローカルメモリに格納されている前記デジタルアセットの前記低品質バージョンをアップグレードすべきであることを判定する前記ステップが、前記電子機器のアイドル状態に基づいて前記判定を行うことを特徴とする請求項１１記載の方法。
【請求項１５】
前記ローカルメモリに格納されている前記デジタルアセットの前記低品質バージョンをアップグレードすべきであることを判定する前記ステップが、前記電子機器のロック状態およびＡＣ駆動状態に基づいて前記判定を行うことを特徴とする請求項１１記載の方法。
【請求項１６】
前記電子機器が携帯電話機を含むことを特徴とする請求項１１乃至請求項１５のいずれか１項に記載の方法。
【請求項１７】
前記ネットワークが無線ネットワークを含み、前記ネットワークパフォーマンスが、データ転送に利用可能なネットワーク帯域幅またはビットレートに基づくことを特徴とする請求項１１乃至請求項１５のいずれか１項に記載の方法。
【請求項１８】
データストレージ用のローカルメモリを有する電子機器でデジタルアセットを提示するためにデータにアクセスするためのコンピュータプログラムが少なくとも格納されたコンピュータ可読媒体であって、
前記ローカルメモリに格納されているデジタルアセットの低品質バージョンを前記デジタルアセットの高画質バージョンにアップグレードすべきであることを判定するためのコンピュータプログラムと、
前記電子機器が利用可能なネットワークパフォーマンスが、前記デジタルアセットの高品質バージョンからなる電子ファイルをダウンロードするのに十分であることを判定するためのコンピュータプログラムと、
前記デジタルアセットの前記高品質バージョンからなる前記電子ファイルをクラウドサーバからダウンロードするよう要求するためのコンピュータプログラムと、
前記デジタルアセットの前記高品質バージョンからなる前記電子ファイルを前記クラウドサーバから前記ネットワークを通じて前記電子機器で受信するためのコンピュータプログラムと、
前記デジタルアセットの前記低品質バージョンを前記デジタルアセットの前記高品質バージョンにアップグレードするために、前記電子ファイルを前記ローカルメモリに格納するためのコンピュータプログラムと、を有するコンピュータ可読媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
オンラインストアおよびオンラインショッピングは近年ますます人気が高くなっている。オンラインストアから様々な商品やサービスを購入するために、デスクトップ型やノート型コンピュータが用いられてきた。オンラインストアはインターネットへのネットワーク接続を介して顧客に様々な異なるアイテムをオンラインストアでブラウズ、検索、および購入することを許すであろう。購入されたアイテムは郵送されたり、別の場所にある店舗で受け取りできるようにされたりすることができる。
【０００２】
最近、デジタルアセット（例えば楽曲、映画、コンピュータアプリケーションプログラム）がオンラインストアから購入可能になってきている。また、デジタルアセットは、それを購入するために使われた機器へ直接配信できるようになってきている。そのため、今日、デジタルアセットは自宅から電子機器（例えばデスクトップ型コンピュータ）を通じてオンラインストアから購入でき、デジタルアセットの取得に用いられた電子機器に直ちに配信されうる。つまり、電子機器を通じてオンラインストアからデジタルアセットを購入した後、デジタルアセットは電子機器におけるその後の利用のため、電子機器によって「ダウンロード」されうる。
【０００３】
しかし、つい最近ではオンラインストアにアクセスする能力を有する電子機器の数および種類が急激に増加している。今日、オンラインストアにアクセスする能力を有する電子機器（デスクトップ型コンピュータ、ノート型コンピュータ、パッドまたはタブレットコンピュータ（例えばiPad（商標））、スマートフォン、メディアプレーヤ、ゲーム機、テレビなどを含む）を一人が複数所有および／または操作する。加えて、増加の一途をたどる数およびタイプのデジタルアセット（メディア、本、アプリケーションプログラムなどを含む）がオンラインストアで利用可能になっている。その結果、ユーザ、特に様々なデジタルアセットのコレクションを複数の電子機器で維持しているユーザがデジタルアセットの電子機器への配信を管理することを難しくしている。
【発明の概要】
【０００４】
クラウドデータストレージに格納されたデジタルアセットを保存、配信、および取得するための改良された方法およびシステムが開示される。クラウドデータストレージは、様々なユーザのためのデジタルデータを格納可能なクラウドデータレポジトリによって提供されてよい。ユーザは、自身が有する認証されたクライアント機器のどれからでも、ネットワークを介してクラウドデータストレージにアクセスすることができる。クライアント機器は、ローカル格納されたデジタルアセットだけでなく、リモート格納されたデジタルアセットもクラウドデータストレージからアクセスできる。一実施形態において、クラウドデータストレージに存在するデジタルアセットのクライアント機器へのダウンロードは、利用可能なネットワークパフォーマンスの観点から管理されてよい。一例として、ネットワークパフォーマンスに応じた方法で、異なる品質レベルのデジタルアセットがダウンロードされてよい。他の例として、ローカル格納された、品質を落とされたデジタルアセットを、ネットワークパフォーマンスに応じた方法で、より高い品質のバージョンでアップグレードする（例えば置き換える）ことができる。
【０００５】
この方法およびシステムは、オンラインストアから取得されているデジタルアセット（例えばメディアアセット）を格納、配信、およびアクセスするために好適かつ有用である。この方法およびシステムは、オンラインストア以外から取得されているデジタルアセットを格納、配信、およびアクセスするためにも好適かつ有用である。いずれにせよ、デジタルアセットは電子機器（例えばユーザ機器）を通じてネットワークベースのデジタルデータリポジトリ（例えばクラウドデータリポジトリ）からアクセス可能になり、従ってその電子機器によって利用可能になる。デジタルアセットは、メディアアセットおよび／または非メディアアセットを含んでよい。
【０００６】
ある実施形態の１態様は、参加しているクライアント機器にクラウドデータストレージを提供することに関する。クラウドデータストレージは、様々なユーザのためのデジタルデータを格納することが可能なネットワークベースのリポジトリによって提供することができる。ここで用いられているように、ネットワークベースのリポジトリはリモートデータリポジトリまたはクラウドデータリポジトリと呼ぶことができる。クラウドデータストレージに格納されているデジタルデータは、インターネット（またはワールドワイドウェブ）のようなネットワークを通じて個々のユーザが利用できるようにすることができる。ユーザはクラウドデータストレージに、オンライン購入されているデジタルアセット、他の非オンライン手段から取得されたデジタルアセット、および／またはユーザの他の任意のデジタルファイルを格納することができる。クラウドデータストレージを通じたデジタルデータへのアクセスは、認証済みユーザおよびユーザあたり限定数の認証済み機器（クライアント機器）に制限されてもよい。従って、ある特定のユーザは、自身の認証済み機器のどれからでもクラウドデータストレージにアクセスできる。
【０００７】
ある実施形態の別の態様は、クラウドデータストレージに存在するデジタルアセットの、クライアント機器へのダウンロードの管理に関する。ある特定のクライアント機器は、ローカル格納されたデジタルアセットに加え、リモート格納されたデジタルアセットにもクラウドデータストレージからアクセス可能である。つまり、リモート格納されたデジタルアセットは、ローカルストレージへのダウンロードや格納されたデジタルアセットの再生などを目的としてクライアント機器によってアクセスされうる。ローカル格納されたデジタルアセットの入手可能性およびリモート格納されたデジタルアセットのクラウドデータストレージからの入手可能性を示すため、クライアント機器にグラフィカルユーザインタフェースを提供してもよい。一実施形態において、グラフィカルユーザインタフェースは、ローカル格納されたデジタルアセットおよびリモート格納されたデジタルアセットの両方が描画される統合表示を提供することができる。一実施形態において、グラフィカルユーザインタフェースはデジタルアセットがローカルに存在するのか、クラウドデータストレージにリモートで存在するのかを示すためのしるしを含んでもよい。ユーザがもしリモートアセットの再生を要求したならば、（既にキャッシュされている場合を除き）データをダウンロードする必要があるだろう。所定のデジタルアセット（例えば、ダウンロード済みのもの）をキャッシュすることにより、形式上はローカル格納していないデジタルアセットでも、キャッシュストレージからローカル入手可能なため、機器のパフォーマンスを向上させることができる。さらに、所定のデジタルアセットをキャッシュすることにより、そのようなデータの再送信を行う必要がないため、（帯域幅消費の節約とともに）節電が可能である（これは、無線リンクを介してクラウドデータストレージに接続するクライアント機器において特に有利である）。加えて、キャッシュされたデジタルアセットを暗号化した形式で格納することにより、クライアント機器は暗号化されない場合に消費されるであろう電力およびリソースを節約することができる。
【０００８】
所定の実施形態の別の態様は、参加しているクライアント機器にクラウドデータストレージを提供することに関する。クライアント機器において、デジタルアセットはクラウドデータストレージから取得することも、クライアント機器にローカル格納することもできる。クライアント機器でのデジタルアセットのローカルストレージは、パージ可能もしくはパージ不能な方法で格納することができる。パージ可能とは、関連するデジタルアセットがクライアント機器にローカル格納されていても、より「重要な」デジタルアセットのために記憶容量を開放する必要がある場合には除去の対象となることを意味する。また、当初パージ可能に格納されたデジタルアセットが、パージ不能になってもよい。
【０００９】
所定の実施形態の他の態様はさらに、異なる品質レベルを有するデジタルアセットのクラウドデータストレージの提供に関する。これらのデジタルアセットは、参加しているクライアント機器が利用できるようにすることができる。クライアント機器において、デジタルアセットはクラウドデータストレージから取得することも、クライアント機器にローカル格納することもできる。しかし、判断基準に応じて、クライアント機器は所望のデジタルアセットの低品質バージョンをまず取得するであろう。この場合、いくらか時間が経過した後、クライアント機器は所望のデジタルアセットの高品質バージョンを取得することができる。実際には、低品質バージョンは通常別個の電子ファイルである高品質バージョンにアップグレードされている。この手法は、利用可能なネットワーク帯域幅を適切に利用し、クライアント機器のユーザの長い待ち時間を回避する。
【００１０】
本発明は方法、システム、機器、（コンピュータが読み取り可能な媒体およびグラフィカルユーザインタフェースを含んだ）装置としての実施を含む、多くの方法で実施することができる。本発明のいくつかの実施形態を、以下に説明する。
【００１１】
データストレージ用のメモリを有する電子機器でデジタルアセットを提示するためにデータにアクセスする方法として、一実施形態は例えば少なくとも以下のステップを含むことができる。前記電子機器によって提示されるべきデジタルアセットを特定するステップと、前記電子機器が利用可能なネットワークパフォーマンスを判定するステップと、前記ネットワークパフォーマンスに基づいて、リモートクラウドストレージに要求する前記デジタルアセットの品質バージョンを判定するステップと、前記デジタルアセットの前記判定された品質バージョンを前記リモートクラウドストレージに要求するステップと、前記要求した前記デジタルアセットの前記判定された品質バージョンに関する電子ファイルを前記リモートクラウドストレージから受信するステップと、前記電子ファイルを前記電子機器の前記データストレージに格納するステップ。
【００１２】
データストレージ用のローカルメモリを有する電子機器でデジタルアセットを提示するためにデータにアクセスする方法として、別の実施形態は例えば少なくとも以下のステップを含むことができる。前記電子機器によって提示されるべきデジタルアセットの表示を受信するステップと、前記デジタルアセットの高品質バージョンが前記電子機器の前記ローカルメモリからローカル入手可能かどうかを判定するステップと、前記電子機器が利用可能なネットワークパフォーマンスがデジタルアセットのダウンロードに十分かどうかを判定するステップと、クラウドデータリポジトリから前記デジタルアセットの前記高品質バージョンが入手可能かどうかを判定するステップと、前記電子機器が利用可能なネットワークパフォーマンスがデジタルアセットのダウンロードに十分であると判定され、前記デジタルアセットが前記クラウドデータリポジトリから入手可能であるが前記電子機器の前記ローカルメモリからは入手できない場合に、前記デジタルアセットの前記高品質バージョンを前記クラウドデータリポジトリから前記電子機器にダウンロードするステップと、ダウンロードされている前記デジタルアセットの前記高品質バージョンを前記ローカルメモリに格納するステップ。
【００１３】
データストレージ用のメモリを有する電子機器でデジタルアセットを提示するためにデータにアクセスするために、少なくともコンピュータプログラムコードが格納された一時的でないコンピュータ可読媒体として、一実施形態は例えば少なくとも以下を含むことができる。前記電子機器によって提示されるべきデジタルアセットを特定するためのコンピュータプログラムコードと、前記電子機器が利用可能なネットワークパフォーマンスを判定するためのコンピュータプログラムコードと、前記ネットワークパフォーマンスに基づいて、リモートクラウドストレージに要求する前記デジタルアセットの品質バージョンを判定するためのコンピュータプログラムコードと、前記デジタルアセットの前記判定された品質バージョンを前記リモートクラウドストレージに要求するためのコンピュータプログラムコードと、前記デジタルアセットの前記要求した前記判定された品質バージョンに関する電子ファイルを前記リモートクラウドストレージから受信するためのコンピュータプログラムコードと、前記電子ファイルを前記電子機器の前記データストレージに格納するためのコンピュータプログラムコード。
【００１４】
データストレージ用のローカルメモリを有する電子機器でデジタルアセットを提示するためにデータにアクセスするために、少なくともコンピュータプログラムコードが格納された非一時的なコンピュータ可読媒体として、一実施形態は例えば少なくとも以下を含むことができる。前記電子機器によって提示されるべきデジタルアセットの表示を受信するためのコンピュータプログラムコードと、前記デジタルアセットの高品質バージョンが前記電子機器の前記ローカルメモリからローカル入手可能かどうかを判定するためのコンピュータプログラムコードと、前記電子機器が利用可能なネットワークパフォーマンスがデジタルアセットのダウンロードに十分かどうかを判定するためのコンピュータプログラムコードと、クラウドデータリポジトリから前記デジタルアセットの前記高品質バージョンが入手可能かどうかを判定するためのコンピュータプログラムコードと、前記電子機器が利用可能なネットワークパフォーマンスがデジタルアセットのダウンロードに十分であると判定され、前記デジタルアセットが前記クラウドデータリポジトリから入手可能であるが前記電子機器の前記ローカルメモリからは入手できない場合に、前記デジタルアセットの前記高品質バージョンを前記クラウドデータリポジトリから前記電子機器にダウンロードするためのコンピュータプログラムコードと、ダウンロードされている前記デジタルアセットの前記高品質バージョンを前記ローカルメモリに格納するためのコンピュータプログラムコード。
【００１５】
データストレージ用のローカルメモリを有し、ネットワークに接続可能な電子機器でデジタルアセットをアップグレードするための方法として、一実施形態は例えば少なくとも以下のステップを含むことができる。前記ローカルメモリに格納されているデジタルアセットの低品質バージョンをアップグレードすべきかどうかを判定するステップと、前記電子機器が利用可能なネットワークパフォーマンスがデジタルアセットのアップグレードに十分かどうかを判定するステップと、前記電子機器が利用可能な前記ネットワークパフォーマンスがデジタルアセットのアップグレードに十分であると判定された場合に、前記デジタルアセットの高品質バージョンのダウンロードをクラウドサーバに要求するステップと、前記デジタルアセットの前記高品質バージョンを前記クラウドサーバから前記ネットワークを介して前記電子機器で受信するステップと、アップグレードされている前記デジタルアセットの前記高品質バージョンを前記ローカルメモリに格納するステップ。
【００１６】
データストレージ用のローカルメモリを有し、ネットワークに接続可能な電子機器でデジタルアセットをアップグレードするために、少なくともコンピュータプログラムコードが格納された非遷移的なコンピュータ可読媒体として、一実施形態は例えば少なくとも以下を含むことができる。前記ローカルメモリに格納されているデジタルアセットの低品質バージョンをアップグレードすべきかどうかを判定するためのコンピュータプログラムコードと、前記電子機器が利用可能なネットワークパフォーマンスがデジタルアセットのアップグレードに十分かどうかを判定するためのコンピュータプログラムコードと、前記電子機器が利用可能な前記ネットワークパフォーマンスがデジタルアセットのアップグレードに十分であると判定された場合に、前記デジタルアセットの高品質バージョンのダウンロードをクラウドサーバに要求するためのコンピュータプログラムコードと、前記デジタルアセットの前記高品質バージョンを前記クラウドサーバから前記ネットワークを介して前記電子機器で受信するためのコンピュータプログラムコードと、アップグレードされている前記デジタルアセットの前記高品質バージョンを前記ローカルメモリに格納するためのコンピュータプログラムコード。
【００１７】
電子機器に付随する表示機器に提示されるグラフィカルユーザインタフェースとして、一実施形態は、例えば少なくとも複数のデジタルアセットのリストと、ユーザインタフェースコントロールとを含むことができる。ユーザインタフェースコントロールは、前記リスト内の前記複数のデジタルアセットが前記電子機器にローカル格納され、かつ前記電子機器で維持されるべきかどうかを指示するためのユーザ選択を可能とする。
【００１８】
本発明の様々な態様および利点は、以下の詳細な説明を本発明の原理を例示目的で図示する添付図面とともに理解することによって明らかになるであろう。
【図面の簡単な説明】
【００１９】
【図１】一実施形態に係るネットワークベースのデータ管理システムのブロック図である。
【図２Ａ】デジタルアセットのための階層ストレージシステムの状態図である。
【図２Ｂ】一実施形態に係る例示的なグラフィカルユーザインタフェースを示す図である。
【図３】一実施形態に係るデータ読み出しならびに再生処理のフローチャートである。
【図４Ａ】一実施形態に係るクラウドデータ読み出し処理のフローチャートである。
【図４Ｂ】一実施形態に係るキャッシュデータ読み出し処理のフローチャートである。
【図４Ｃ】一実施形態に係るローカルデータ読み出し処理のフローチャートである。
【図５Ａ】デジタルアセットのための階層ストレージシステムの状態図である。
【図５Ｂ】一実施形態に係るデータ読み出しならびに格納処理のフローチャートである。
【図６Ａ】一実施形態に係るデータ読み出しならびに再生処理のフローチャートである。
【図６Ｂ】一実施形態に係るデータ読み出しならびに再生処理のフローチャートである。
【図７】一実施形態に係る品質アップグレード処理のフローチャートである。
【図８Ａ】一実施形態に係るネットワークベースのデータアップグレードシステムのブロック図である。
【図８Ｂ】一実施形態に係るネットワークベースのデータアップグレードシステムのブロック図である。
【図８Ｃ】一実施形態に係るネットワークベースのデータダウングレードシステムのブロック図である。
【図９Ａ】一実施形態に係る例示的なグラフィカルユーザインタフェースを示す図である。
【図９Ｂ】一実施形態に係る例示的なグラフィカルユーザインタフェースを示す図である。
【発明を実施するための形態】
【００２０】
同様の参照数字が同様の構成要素を指定する以下の詳細な説明および添付図面から、本発明は容易に理解されるであろう。
【００２１】
クラウドデータストレージに格納されたデジタルアセットの格納、配信、および取得のための改良された方法を開示する。クラウドデータストレージは、様々なユーザのためにデジタルデータを格納することが可能なクラウドデータリポジトリによって提供することができる。ある特定のユーザは、自身の認証済み機器のどれからでもクラウドデータストレージにアクセスできる。ある特定のクライアント機器は、ローカル格納されたデジタルアセットに加え、リモート格納されたデジタルアセットにもクラウドデータストレージからアクセス可能である。一実施形態において、クラウドデータストレージに存在するデジタルアセットの、クライアント機器へのダウンロードは、利用可能なネットワークパフォーマンスの観点から管理することができる。一例として、異なる複数の品質レベルのデジタルアセットを、ネットワークパフォーマンスに応じた方法でダウンロードすることができる。別の例として、ローカル格納された品質の落とされたデジタルアセットを、ネットワークパフォーマンスに応じた方法でよりよい品質のバージョンにアップグレード（例えば置換）することができる。
【００２２】
この方法およびシステムは、オンラインストアから取得されているデジタルアセット（例えばメディアアセット）を格納、配信、およびアクセスするために好適かつ有用である。この方法およびシステムは、オンラインストア以外から取得されているデジタルアセットを格納、配信、およびアクセスするためにも好適かつ有用である。いずれにせよ、デジタルアセットは電子機器（例えばユーザ機器）を通じてネットワークベースのデジタルデータリポジトリ（例えばクラウドデータリポジトリ）からアクセス可能になり、従ってその電子機器によって利用可能になる。デジタルアセットは、メディアアセットおよび／または非メディアアセットを含んでよい。
【００２３】
所定の実施形態の１態様は、参加しているクライアント機器にクラウドデータストレージを提供することに関する。クラウドデータストレージは、様々なユーザのためにデジタルデータを格納することが可能なネットワークベースのリポジトリによって提供することができる。ここで用いられているように、ネットワークベースのリポジトリはリモートデータリポジトリまたはクラウドデータリポジトリと呼ぶことができる。クラウドデータストレージに格納されているデジタルデータは、インターネット（またはワールドワイドウェブ）のようなネットワークを通じて個々のユーザが利用できるようにすることができる。ユーザはクラウドデータストレージに、オンライン購入されているデジタルアセット、他の非オンライン手段から取得されたデジタルアセット、および／またはユーザの他の任意のデジタルファイルを格納することができる。クラウドデータストレージを通じたデジタルデータへのアクセスは、認証済みユーザおよびユーザあたり限定数の認証済み機器（クライアント機器）に制限されてもよい。従って、ある特定のユーザは、自身の認証済み機器のどれからでもクラウドデータストレージにアクセスできる。
【００２４】
ある実施形態の別の態様は、クラウドデータストレージに存在するデジタルアセットの、クライアント機器へのダウンロードの管理に関する。ある特定のクライアント機器は、ローカル格納されたデジタルアセットに加え、リモート格納されたデジタルアセットにもクラウドデータストレージからアクセス可能である。つまり、リモート格納されたデジタルアセットは、ローカルストレージへのダウンロードや格納されたデジタルアセットの再生などを目的としてクライアント機器によってアクセスされうる。ローカル格納されたデジタルアセットの入手可能性およびリモート格納されたデジタルアセットのクラウドデータストレージからの入手可能性を示すため、クライアント機器にグラフィカルユーザインタフェースを提供してもよい。一実施形態において、グラフィカルユーザインタフェースは、ローカル格納されたデジタルアセットおよびリモート格納されたデジタルアセットの両方が描画される統合表示を提供することができる。一実施形態において、グラフィカルユーザインタフェースはデジタルアセットがローカルに存在するのか、クラウドデータストレージにリモートに存在するのかを示すためのしるしを含んでもよい。ユーザがもしリモートアセットの再生を要求したならば、（既にキャッシュされている場合を除き）データをダウンロードする必要があるだろう。所定のデジタルアセット（例えば、ダウンロード済みのもの）をキャッシュすることにより、正式にローカルに格納していないデジタルアセットでも、キャッシュストレージからローカル入手可能なため、機器のパフォーマンスを向上させることができる。さらに、所定のデジタルアセットをキャッシュすることにより、そのようなデータの再送信を行う必要がないため、（帯域幅消費の節約とともに）節電が可能である（これは、無線リンクを介してクラウドデータストレージに接続するクライアント機器において特に有利である）。
【００２５】
図１は、一実施形態に係るネットワークベースのデータ管理システム１００のブロック図である。ネットワークベースのデータ管理システム１００は、複数の異なるユーザのためのデータ管理を提供する。ネットワークベースのデータ管理システム１００によってリモート格納されているデジタルデータにアクセスするため、様々なユーザが１つ以上のクライアント機器を操作することができる。ネットワークベースのデータ管理システム１００はまた、ある特定のユーザに関連付けられた複数のクライアント機器間のデータ同期も管理することができる。さらに、ネットワークベースのデータ管理システム１００は、リモートストレージからクライアント機器へのデジタルデータのダウンロードを管理することもできる。
【００２６】
ネットワークベースのデータ管理システム１００はクラウドサーバ１０２を含んでいる。クラウドサーバ１０２はクラウドストレージ１０４に接続されている。クラウドストレージ１０４は、ネットワーク１０６に接続された大量のデジタルデータストレージを提供する。クラウドストレージ１０４は、多数の異なるユーザのためのデジタルデータを格納することができる。クラウドストレージ１０４は多数の異なるユーザ間で共有されるが、ある所定のユーザ用に格納されているデジタルデータは、その所定のユーザによってのみアクセス可能とすることができる。クラウドサーバ１０２は、クラウドストレージ１０４によるデータストレージとの間における、データの格納、アクセス、および配信を管理するように機能することができる。クラウドストレージ１０４はまた、クラウドストレージ１０４を利用するユーザに関するデータの同期を容易にすることができる。
【００２７】
クラウドストレージ１０４は、ユーザに関連付けられたクライアント機器により、クラウドサーバ１０２を通じてアクセス可能である。例えば、図１に示すように、クライアント機器１０８およびクライアント機器１１０は、クラウドストレージ１０４に格納されたデータにアクセスできるよう、ネットワーク１０６に接続されてよい。クライアント機器１０８および１１０は、コンピュータ機器のような電子機器を表しうる。例えば、クライアント機器１０８はコンピュータを表し、クライアント１１０は携帯電話機（例えばスマートホン）を表してもよい。通常、クライアント機器１０８および１１０は、ネットワーク１０６を通じてクラウドサーバ１０２にアクセスすることを容易にするアプリケーションプログラム（またはユーティリティまたはOSプログラム）を含んでいる。ネットワーク１０６は１つ以上の優先または無線ネットワークから構成されうる。クライアント機器１０８は例えば、有線接続によってネットワーク１０６に接続されてよく、クライアント機器１１０は例えば、無線接続によってネットワーク１０６に接続されてよい。
【００２８】
加えて、クライアント機器１０８は、メディア管理アプリケーション１１２のような、クライアント機器１０８にローカル格納されているデータまたはクラウドストレージ１０４にリモート格納されているデータのアクセス、提示、および利用を容易にするアプリケーションプログラムを含んでよい。同様に、クライアント機器１１０は、メディア管理アプリケーション１１４のような、クライアント機器１１０にローカル格納されているデータまたはクラウドストレージ１０４にリモート格納されているデータのアクセス、提示、および利用を容易にするアプリケーションプログラムを含んでよい。
【００２９】
さらに、ネットワークベースのデータ管理システム１００は、デジタルコンテンツストア１１６を含むことができる。デジタルコンテンツストア１１６は、デジタルコンテンツを購入、レンタル、さもなくば取得するための電子商取引を容易にすることができる。例えば、デジタルコンテンツストア１１６は、購入、レンタル、あるいは利用のために、映画、音楽、オーディオブック、アプリケーション、および／またはゲームといったデジタルコンテンツを提供するデジタルメディアストア（またはオンラインストア）に属するものであってよい。加えて、もしクライアント機器１０８または１１０のユーザがデジタルコンテンツストア１１６からデジタルメディアアイテムを購入するとしたら、そのデジタルメディアアイテムは対応するクライアント機器１０８および１１０にダウンロードされるだけでなく、クラウドストレージ１０４にも提供されてよい。従って、クラウドストレージ１０４は、購入したデジタルメディアアイテム（少なくとも格納されたコンテンツへのリンク）を、ユーザの、利用について認証済みのクライアント機器のどれでもが、購入したデジタルメディアアイテムにアクセスするために、そのユーザに関連付けられたクラウドストレージ１０４にアクセスできるように格納することができる。このように、購入されたデジタルメディアアイテムはクラウドストレージ１０４に直接追加されるため、購入したクライアント機器からアップロードする必要はない。さらに、そのユーザの、認証済みの他のクライアント機器のどれもが、購入したデジタルメディアアイテムをクラウドストレージ１０４からアクセス（ダウンロードおよび再生を含む）することができる。
【００３０】
図２Ａは、デジタルアセットのための階層ストレージシステムの状態図である。階層ストレージシステム２００は、ローカルストレージ２０２、キャッシュストレージ２０４、およびクラウドストレージ２０６を含んでいる。ローカルストレージ２０２は、図１に示したクライアント機器１０８および１１０のようなクライアント機器に設けられたデータストレージである。キャッシュストレージ２０４は、将来の使用を見込んで維持される一時的なデータストレージである。通常、キャッシュストレージ２０４用の一時的なデータストレージは、クライアント機器にも設けられている。例えば、クライアント機器のメモリブロックを、キャッシュストレージ２０４として割り当て、必要となる可能性の高いデータを格納するように管理することができる。クラウドストレージ２０６は、クライアント機器から遠くに設けられるが、コンピュータネットワーク（例えばインターネット）を通じてアクセス可能である。クラウドストレージ２０６は、多くの異なるユーザのために大量のデータストレージを提供可能であり、各ユーザは自分専用の独立したクラウドストレージを持つことができる。
【００３１】
デジタルアセットがローカルストレージ２０２に格納されている限り、クライアント機器で稼動するアプリケーションプログラムはデジタルアセットにローカルアクセスし、利用することができる。例えば、（有線または無線）ネットワークコネクションを必要とすることなく、デジタルアセットをローカルストレージ２０２から読み出してクライアント機器で再生することができる。
【００３２】
しかし、ユーザはクライアント機器でデジタルアセットにアクセス（例えば再生）することを望むかもしれない。だが、そのデジタルアセットはローカルストレージ２０２やキャッシュストレージ２０４ではなくクラウドストレージ２０６に格納されている。この場合、クラウドストレージ２０６からローカルストレージ２０２に送信することができるデジタルアセットは、たとえばアクセスセッションの期間、一時的に格納される。実際、この送信はデジタルアセットのストリーミングのように見えるが、用いられる仕組みはデジタルアセットのデータファイルのダウンロードである。例えば、データファイルは、アクセス（例えば再生）されながら、ダウンロードされローカルストレージ２０２に一時的に格納されてよい。ここで、ストリーミングよりも電力効率をよくすることが可能なネットワーク通信を、データファイル全体のダウンロードに用いる。クライアント機器は一般に可動型の電池駆動機器であるため、電池消費は重要な事項である。さらに、データファイルがダウンロードされるにつれ、データファイルをキャッシュストレージ２０４にも格納することができる。データファイルは、他のファイルが使われる可能性のほうが高いことにより置換されるまで、キャッシュストレージ２０４にとどまることができる。例えば、ファストインファストアウト(FIFO)キャッシュポリシ、使用頻度に基づくポリシ(popularity policy)、最後に再生されたものに基づくポリシ(most recently played policy)、あるいは他のポリシを用いることができる。
【００３３】
別のシナリオによれば、ユーザはクライアント機器でデジタルアセットへのアクセス（例えば再生）を希望するかもしれないが、そのデジタルアセットがクラウドストレージ２０６およびキャッシュストレージ２０４に格納され、ローカルストレージ２０２には格納されていない。この場合、関連するデータファイルがキャッシュストレージ２０４に既に存在するので、そのデジタルアセットをクラウドストレージ２０６からローカルストレージ２０２に送信する必要はない。代わりに、そのデータファイルがクライアント機器のメモリ装置のどの位置にあるかを調べる。概念的には、これをローカルダウンロードと呼ぶことができる。そして、クライアントのメモリ装置におけるデータファイルの位置を特定し、デジタルアセットの再生に用いることができる。
【００３４】
図２Ｂは、一実施形態に係る例示的なグラフィカルユーザインタフェース２５０を示している。グラフィカルユーザインタフェース２５０は、名称（またはタイトル）列２５４および属性欄２５６を含んだテーブル２５２を有している。図２Ｂに示すように、属性欄２５６の属性は、継続期間に関する。しかし、デジタルアセットの様々な属性を、同様の方法でさらに、あるいは代わりに表してもよい。名称欄２５４または他の列を、対応するデジタルアセットがクライアント機器でローカル格納されているかクラウドストレージでリモート格納されているかを視覚的に区別できるようにしてもよい。図２Ｂに示した実施形態において、対応するデジタルアセットがクラウドストレージでリモート格納されていることを示すために、リモートインジケータ２５８を表示することができる。したがって、図２Ｂのテーブル２５２にはデジタルアセットＡ，Ｂ，Ｃの３つのデジタルアセットが一覧表示されている。一覧表示された３つのデジタルアセットのうち、デジタルアセットＡおよびＣはクライアント機器にローカル格納され、デジタルアセットＢはクラウドストレージにリモート格納されている。ユーザは、任意のデジタルメディアアセットの再生、ダウンロード、または削除といったユーザアクションを実行するため、通常はグラフィカルユーザインタフェース２５０を操作することができる。
【００３５】
より一般的には、電子機器に付随する表示機器に、（グラフィカルユーザインタフェース２５０のような）グラフィカルユーザインタフェースを提示することができる。一実施形態において、グラフィカルユーザインタフェースは複数のデジタルアセットのリストと、少なくとも１つの視覚的インジケータを含むことができる。上述の通り、リストは、例えばテーブル（例えばテーブル２５２）の形式で実施することができ、視覚的インジケータは例えばリモートインジケータ２５８によって実施することができる。通常、（ユーザアカウントを通じて特定のユーザに関連付けることが可能な）複数のデジタルアセットのうち、少なくとも１つが電子機器にローカル格納され、少なくとも１つがクラウドデータリポジトリにリモート格納される。少なくとも１つの視覚的インジケータは、デジタルアセットが電子機器にローカル格納されているのか、クラウドデータリポジトリにリモート格納されているのかを、電子機器のユーザが区別できるように機能することができる。視覚的インジケータの外観および／または位置は、実装に応じて変化しうる。例えば、図２Ｂに示すように、デジタルアセットＡおよびデジタルアセットＣは電子機器にローカル格納され、デジタルアセットＢはクラウドデータリポジトリにリモート格納されている。例示的な削除動作において、電子機器からデジタルアセットＡを削除するためにユーザが電子機器を操作したとすると、デジタルアセットＡは事実上ローカル格納されなくなるが、依然としてクラウドデータリポジトリには存在し、そのことがグラフィカルユーザインタフェース２５０においてリモートインジケータ２５８を有することで示されるであろう。
【００３６】
一実施例において、グラフィカルユーザインタフェースに示される複数のデジタルアセットのある１つを、少なくとも３つの方法の１つで格納することができる。第１の方法では、複数のデジタルアセットのある１つが、電子機器にローカル格納される。第２の方法では、複数のデジタルアセットのある１つが、クラウドデータリポジトリにリモート格納される（そして、電子機器には格納されない）。第３の方法では、複数のデジタルアセットのある１つが、電子機器にローカルキャッシュされるが、形式上はクラウドデータリポジトリに存在する。視覚的インジケータは、複数のデジタルアセットのある１つが、第１および第２の方法のいずれで格納されているかを視覚的に示すために機能することができる。この実施形態において視覚的インジケータは、第２の方法と第３の方法とを視覚的に区別しない。そのため、電子機器のユーザは、デジタルアセットが電子機器でキャッシュされていることを知らされない。しかし、別の実装では、デジタルアセットが電子機器にキャッシュされているかどうかをユーザに知らせるため、視覚的インジケータが、第２の方法を第３の方法と視覚的に区別してもよい。
【００３７】
図３は、一実施形態に係るデータ読み出し再生処理３００のフローチャートである。データ読み出し再生処理３００は例えば、コンピュータ機器、多機能家庭用電子機器（例えばスマートホン）、あるいは他のクライアント機器のようなデータ再生機器によって実施することができる。
【００３８】
データ読み出し再生処理３００は、再生コマンドが開始されているかどうかを判定する判定３０２を含んでもよい。ある実装では、再生コマンドは、データ再生機器によってデジタルアセットを再生することを要求するユーザから受信することができる。例えば、図２Ｂは、特定のデジタルアセットについての再生コマンドを開始可能なグラフィカルユーザインタフェース２５０を示している。
【００３９】
判定３０２により、再生コマンドが受信されていないと判定された場合、データ読み出し再生処理３００は再生コマンドの受信を待機することができる。一方、判定３０２により、再生コマンドが受信されていると判定された場合、データ読み出し再生処理３００は継続することができる。再生コマンドは、ユーザがデータ再生機器によって再生することを要求しているデジタルアセット（またはアイテム）を特定する。
【００４０】
再生コマンドを受信すると、判定３０４は再生すべきアイテムがデータ再生機器にローカル格納されているかどうかを判定することができる。判定３０４が、再生すべきアイテムがローカル格納されていると判定した場合、そのアイテムについてのデータはローカルストレージから読み出す３０６ことができる。例えば、データ再生機器は通常、再生されるべきアイテムについてのデジタルデータ（例えばコンテンツデータ）およびメタデータのような電子データを格納するように機能するローカルストレージをサポートする電子メモリを含んでいる。
【００４１】
あるいは、判定３０４が、再生すべきアイテムがローカル格納されていないと判定した場合、判定３０８はその再生すべきアイテムがキャッシュストレージに存在するかどうかを調べることができる。キャッシュストレージは通常データ再生機器にも設けられており、データ再生機器で再びアクセスされる可能性の高いデータのための、一時的なデータストレージ（キャッシュメモリ）を提供する。判定３０８が、再生すべきアイテムがキャッシュストレージに存在すると判定された場合、このアイテムに関するデータはデータ再生機器に設けられたキャッシュストレージから読み出す３１０ことができる。この場合、再生すべきアイテムに関するデータは形式上ローカルストレージに存在していなかったが、再生すべきアイテムに関するデータはキャッシュストレージから入手可能であった。
【００４２】
さらに、判定３０８が、再生すべきアイテムがキャッシュストレージに存在しないと判定した場合、判定３１２は再生すべきアイテムがクラウドストレージに格納されているかどうかを調べることができる。判定３０２が、再生すべきアイテムに関するデータがクラウドストレージから入手可能であると判断した場合、そのアイテムに関するデータはクラウドストレージから読み出す３１４ことができる。
【００４３】
従って、再生すべきアイテムに関するデータは、ローカルストレージ、キャッシュストレージ、およびクラウドストレージのいずれかから読み出すことができる。再生すべきアイテムに関するデータが読み出され（３０６，３１０または３１４）た後、そのアイテム、すなわちデジタルアセットは、再生３１６することができる。アイテムが再生３１６された後、データ読み出しおよび再生処理３００は終了することができる。再生すべきアイテムに関するデータが何らかの理由によりローカルストレージ、キャッシュストレージ、およびクラウドストレージから入手できない場合、関連するデータが入手不能であるため、データ読み出しおよび再生処理３００はアイテムの再生を開始しない。この場合、要求者は再生コマンドが不成功に終わったことを通知されるかもしれないが、やはりデータ読み出しおよび再生処理３００は終了することができる。
【００４４】
従って、データ読み出しおよび再生処理３００は、ローカル、キャッシュ、およびクラウドストレージを用いて階層的データストレージを提供することができる。データは最適なソースから読み出すことができる。そのため、デジタルアセットに関するデータは容易に入手可能であり、そのようなデータがローカルストレージやキャッシュストレージから入手できなければ、データを読み出すためにダウンロードを用いる。つまり、機器の性能が向上し、かつ消費電力が低減する。例えば、データ再生機器がネットワークに無線接続されているが、データがローカルストレージまたはキャッシュストレージから入手できる場合、データをダウンロードするために無線ネットワークインタフェース（例えば無線送受信器）に電源を供給する必要はなく、電力消費および／または帯域幅消費が削減される。
【００４５】
図４Ａは、一実施形態に係るクラウドデータ読み出し処理４００のフローチャートである。一実施形態によれば、クラウドデータ読み出し処理４００は例えば、図３のブロック３１４および３１６に対応することができる。ここで、デジタルアセット（アイテム）に関するデータは、クラウドストレージから読み出されるべきであるものとする。
【００４６】
クラウドデータ読み出し処理４００は、アイテム（デジタルアセット）に関するアセット情報をローカルストレージから読み出す４０２ことができる。上述の通り、ローカルストレージはデータ再生機器が提供するデータストレージであってよい。例えば、ローカルストレージは半導体メモリ（例えばフラッシュメモリ）や、データ再生機器内に設けられたディスクドライブによって提供されてよい。
【００４７】
次に、クラウドサーバにダウンロード要求が送信４０４される。クラウドサーバはクラウドストレージとのやりとりを管理するように機能する。ダウンロード要求がクラウドサーバに送信４０４された後、判定４０６は応答が受信されているかどうかを調べることができる。判定４０６が、ダウンロード要求に対する応答が受信されていないと判定した場合、クラウドデータ読み出し処理４００は応答を待機することができる。
【００４８】
判定４０６が、ダウンロード要求に対する応答が受信されていると判定すると、クラウドストレージ内のデジタルアセットのファイル位置が判定４０８できる。ここで、クラウドサーバからの応答で与えられるアセット情報から、クラウドデータ読み出し処理４００はクラウドストレージ内のデジタルアセットのファイル位置を判定４０８できる。一実施形態において、アセット情報は位置情報を含み、位置情報はクラウドストレージ内のデジタルアセットのファイル位置を含んでもよいし、クラウドストレージ内のデジタルアセットのファイル位置を判定するために用いられてもよい。そして、クラウドストレージからのデジタルアセットのダウンロードを開始４１０することができる。一実施形態において、クラウドストレージからのデジタルアセットのダウンロードは、クラウドストレージ内のファイル位置に存在するデジタルアセットに関するデータファイルの読み出し要求によって開始４１０される。デジタルアセットのダウンロードは、デジタルアセットに関するデータをクラウドストレージからローカルストレージにコピーするように機能する。
【００４９】
その後、判定４１２はデジタルアセットに関するデータが受信されているかどうかを調べることができる。判定４１２が、デジタルアセットに関するデータが受信されていないと判定した場合、判定４１４はデジタルアセットのダウンロードが完了しているか、中止すべきか（例えば時間切れか）判定することができる。判定４１４が、デジタルアセットのダウンロードが完了しておらず、かつ中断すべきでないと判定した場合、クラウドデータ読み出し処理４００は、デジタルアセットに関するデータファイルの受信を継続もしくは待機できるよう、判定４１２に戻る。
【００５０】
判定４１２が、デジタルアセットに関するデータ（すなわち、データファイルの少なくとも一部）がクラウドストレージから受信されていると判定すると、データ再生機器で受信データを再生４１６することができる。同時に、受信されたデータはキャッシュストレージに格納４１８することができる。通常、キャッシュストレージは記憶容量が限られており、キャッシュストレージに格納されるデータを管理するためにポリシを用いることができる。例えば、キャッシュストレージは、自身のキャッシュデータが有用であり続けるように、FIFOポリシまたは他のポリシを用いることができる。データはデータ再生機器の２つの異なる位置に物理的に格納することもできるが、通常、データはデータ再生機器で物理的に一度格納され、デジタルアセットに関するステータス情報に追従するように、関連するデータベースによってさらに管理される。例えば、ステータス情報は、提供されているストレージの位置、容量、状態、および／またはタイプを含んでよい。
【００５１】
ブロック４１６および４１８に続き、ローカルストレージ内のアセット情報を更新４２０することができる。一実施形態において、そのデータ再生機器について、デジタルアセットに関するデータの状態を反映するため、データ再生機器（または他のどこか）に存在する関連するデータベースが更新４２２されてよい。このステータス情報は、例えば、データの位置、データ量、特定の受信データ、データの状態、および／または提供されているストレージのタイプを含んでよい。ローカルストレージ内のアセット情報が更新４２０された後、クラウドデータ読み出し処理４００は、データの他の部分が再生４１６および格納４１８されていても、ダウンロード中のデジタルアセットに関するその後のデータを継続して受信できるよう、ブロック４１２およびその後のブロックを繰り返すために処理を戻してよい。最終的に、判定４１４はデジタルアセットのダウンロードが完了した（あるいはダウンロードを中止すべき）と判定し、クラウドデータ読み出し処理４００は終了することができる。
【００５２】
ここでは、クラウドストレージから取得中であっても、データの最初の部分が受信されればデジタルアセットをすぐに再生することができる。しかし、受信データが暗号化されている場合には、再生４１６の前に暗号化の解除が必要となることに留意されたい。また、受信データが暗号化されている場合、キャッシュストレージへの受信データの格納は、受信された状態のまま行ってもよいし、暗号化を解除して非暗号化状態としてから行ってもよいし、暗号化を解除したのち格納前に再暗号化してから行ってもよい。
【００５３】
データのキャッシュストレージへの格納４１８は、通常、関連するデジタルアセットについてのデータファイル全体を格納する。その後、同じデジタルアセットを再度再生する場合（例えばリプレイまたはリピート）、キャッシュ内にまだあれば、ダウンロードする必要なくデータを入手可能であるため、有利である。その結果、データがローカルで入手可能なことで再生パフォーマンスが向上するだけでなく、データファイルをダウンロードするための電子機器の電力消費も不要となる（これは、電池駆動型の電子機器において特に有利である）。さらに、データがローカルで入手可能な場合、データをダウンロードするためのネットワーク帯域幅も消費されない。
【００５４】
一実施形態において、ある特定のデータアセットに関するデータファイルの受信中、ユーザはそのデジタルアセットの別の部分に再生を進めるかもしれない（例えばスクラブ操作）。そのような場合、一実施形態によれば、その別の場所を取得および再生できるように、ダウンロードも先に進めることができる。しかし、ダウンロードと並行してキャッシュ動作も行われているため、こういった状況ではキャッシュデータが不完全となり得る（例えば、キャッシュデータにギャップが生じる）。そのため、一実施形態では、キャッシュストレージに存在するデジタルアセットの不足部分をダウンロードするため、ネットワーク接続が利用可能な際に、ある処理（例えばユーティリティまたはバックグラウンドプロセス）を用いることができる。
【００５５】
図４Ｂは、一実施形態に係るキャッシュデータ読み出し処理４４０のフローチャートである。キャッシュデータ読み出し処理４４０は例えば、図３に示したデータ読み出し再生処理３００のブロック３１０および３１６の使用方法の一実施形態を示すものである。
【００５６】
キャッシュデータ読み出し処理４４０はまず、再生すべきデジタルアセットに関する、キャッシュストレージ内のデータ位置を読み出す４４２ことができる。データ再生機器はキャッシュメモリだけでなく、データ再生機器に既知のデジタルアセットに関する位置情報を格納したデータベースも含むことができる。位置情報は、データ位置を含んでもよいし、データ位置を求めるために用いられてもよい。キャッシュストレージ内のデータ位置が読み出される４４２と、キャッシュストレージ内のデータ位置からデータを読み出す４４４ことができる。その後、キャッシュストレージから読み出されたデータを用いて、デジタルアセットを再生４４６することができる。この場合、デジタルアセットに関するデータはローカルで入手可能であるため、データをダウンロードまたはストリーミングする必要がなく、デジタルアセットの再生応答性が高まるだけでなく、データを取得するためのデータ送信（例えば無線通信）が不要であるため電力効率も向上する。
【００５７】
図４Ｃは、一実施形態に係るローカルデータ読み出し処理４６０のフローチャートである。ローカルデータ読み出し処理４６０は例えば、図３に示したデータ読み出し再生処理３００のブロック３１０および３１６の使用方法の一実施形態を示すものである。
【００５８】
ローカルデータ読み出し処理４６０はまず、再生すべきデジタルアセットに関する、ローカルストレージ内のデータ位置を読み出す４６２ことができる。データ再生機器はローカルメモリだけでなく、データ再生機器に既知のデジタルアセットに関する位置情報を格納したデータベースも含むことができる。位置情報は、データ位置を含んでもよいし、データ位置を求めるために用いられてもよい。ローカルストレージ内のデータ位置が読み出される４６２と、ローカルストレージ内のデータ位置からデータを読み出す４６４ことができる。その後、ローカルストレージから読み出されたデータを用いて、デジタルアセットを再生４６６することができる。この場合、デジタルアセットに関するデータはローカルで入手可能であるため、データをダウンロードまたはストリーミングする必要がなく、データを取得するためのデータ送信（例えば無線通信）が不要であるため電力効率も向上する。
【００５９】
図３，４Ａ，４Ｂ，および４Ｃに関して検討した処理において、通常、アイテムまたはデジタルアセットは１つ以上のデータ部分（例えばチャンク）について処理されることを理解されたい。例えば、デジタルアセットのダウンロードおよび／または格納によって完全な電子データファイルが得られてもよいし、単に１以上のデータ部分だけが得られてもよい。アイテムまたはメディアアセットに関するデータの入手可能性は、ファイルベースまたは部分ベースで評価することができる。例えば、所定部分がローカルで入手可能であれば、それらの部分はダウンロードせずに読み出すことができ、ローカルで入手できない他の部分はダウンロードすることができる。
【００６０】
所定の実施形態の別の態様は、参加しているクライアント機器にクラウドデータストレージを提供することに関する。クライアント機器において、デジタルアセットはクラウドデータストレージから取得することも、クライアント機器にローカル格納することもできる。クライアント機器でのデジタルアセットのローカルストレージは、パージ可能もしくはパージ不能な方法で格納することができる。パージ可能とは、関連するデジタルアセットがクライアント機器にローカル格納されていても、より「重要な」デジタルアセットのために記憶容量を開放する必要がある場合には除去の対象となることを意味する。パージ処理では、どのデジタルアセットをパージするかを決定するために、最後にダウンロードされたデジタルアセットや、最後に再生されてからの経過時間が最も長いデジタルアセットが最初にパージされると言ったポリシを用いることができる。常に最小数のデジタルアセットがクライアント機器に存在し続けるよう、パージ処理が制限されてもよい。例えば、６４ＧＢのストレージを有するクライアント機器についての最小数は１０００（オーディオアセット−楽曲トラックに関するものであってよい）とすることができる。別の例として、１２８ＧＢのストレージを有するクライアント機器では最小数を２０００とすることができる。また、当初はパージ可能として格納されたデジタルアセットがパージ不能となることもできる。
【００６１】
図５Ａは、デジタルアセットのための階層ストレージシステム５００の状態図である。階層ストレージシステム５００は、ローカルストレージ５０２、キャッシュストレージ５０４、およびクラウドストレージ５０６を含んでいる。ローカルストレージ５０２は、図１に示したクライアント機器１０８および１１０のようなクライアント機器に設けられたデータストレージである。キャッシュストレージ５０４は、将来の使用を見込んで維持されるデータ（例えばクラウドストレージ５０６から以前に取得されたデータ）の一時的なデータストレージである。通常、キャッシュストレージ５０４用の一時的なデータストレージは、クライアント機器にも設けられている。例えば、クライアント機器のメモリブロックを、キャッシュストレージ５０４として割り当て、以前にクラウドストレージ５０６から取得された、必要となる可能性の高いデータを格納するように管理することができる。クラウドストレージ５０６は、クライアント機器から離れた位置に設けられるが、コンピュータネットワーク（例えばインターネット）を通じてアクセス可能である。クラウドストレージ５０６は、多くの異なるユーザのために大量のデータストレージを提供可能であり、各ユーザは自分専用の独立したクラウドストレージを持つことができる。
【００６２】
デジタルアセットがローカルストレージ５０２に格納されている限り、クライアント機器で稼動するアプリケーションプログラムはデジタルアセットにローカルアクセスし、利用することができる。例えば、（有線または無線）ネットワークコネクションを必要とすることなく、デジタルアセットをローカルストレージ５０２から読み出してクライアント機器で再生することができる。一実施形態体において、ローカルストレージ５０２に格納されているデジタルアセットは「パージ不可」と見なされる。それにより、クライアント機器のユーザは、ユーザが除去しない限りそのようなデジタルアセットがクライアント機器に存在するであろうことを確信できる。
【００６３】
クライアント機器のユーザがクライアント機器でデジタルアセットにアクセス（例えば再生）を希望した場合、クライアント機器はアクセスすべきそのデジタルアセットがローカルストレージ５０２に既に存在するかどうかをチェックすることができる。そのデジタルアセットが既にローカルストレージ５０２存在すると判定された場合、そのデジタルアセットはクライアント機器においてローカルストレージ５０２用のメモリ内で見つけることができ、再生のためにローカルアクセスすることができる。
【００６４】
一方、デジタルアセットがローカルストレージ５０２に存在していないと判定された場合、クライアント機器はアクセスすべきデジタルアセットがキャッシュストレージ５０４から入手可能かどうかをチェックすることができる。デジタルアセットがキャッシュストレージ５０４に存在すると判定された場合、デジタルアセットはクライアント機器においてキャッシュストレージ５０４用のメモリ内で見つけることができ、再生のために用いることができる。
【００６５】
あるいは、デジタルアセットがローカルストレージ５０２にもキャッシュストレージ５０４にも存在していないと判定された場合、クライアント機器はデジタルアセットをクラウドストレージ５０６から取得することができる。より具体的には、アクセス（再生）すべきデジタルアセットがローカルストレージ５０２からもキャッシュストレージ５０４からも入手できない場合、デジタルアセットはクラウドストレージ５０６からキャッシュストレージ５０４に送信されてよい。ここで、デジタルアセットは、その後パージされる対象としてキャッシュストレージ５０４に格納される。実際には、この送信はデジタルアセットのストリーミングのように見えるが、用いられる仕組みはデジタルアセットのデータファイルのダウンロード処理である。例えばデータファイルは、アクセス（再生）されながら、ダウンロードされかつキャッシュストレージ５０４に一時的に格納されてよい。キャッシュストレージ５０４に格納されるデータファイルは、使用される可能性がより高いと見なされる他のデータによって置換されるまでキャッシュストレージ５０４に留まることが可能であるため、「パージ可能」と見なすことができる。例えば、ファストインファストアウト(FIFO)キャッシュポリシ、頻度ポリシ、最後に再生されてからの経過時間に基づくポリシ、または他のポリシを用いることができる。ストリーミングよりも電力効率が良好となりうるネットワーク通信を、データファイル全体をダウンロードするために用いることができる。通常、クライアント機器は移動可能な電池駆動型機器であるため、電池電力消費は考慮すべき重要なポイントである。
【００６６】
デジタルアセットをクライアント機器でアクセス（例えば再生）しようとする一方で、ユーザはクラウドストレージ５０６にデジタルアセットのダウンロードを要求するかもしれない。ここで、ユーザが特定のデジタルアセット（またはデジタルアセット群）のダウンロードを要求できるように、グラフィカルユーザインタフェース(GUI)をクライアント機器で提示することができる。ユーザがデジタルアセットのダウンロードを要求した場合、デジタルアセットはクラウドストレージ５０６から読み出され、クラウドストレージ５０６からローカルストレージ５０２に送信されることができる。ここで、ローカルストレージ５０２に格納されたデータアセットはパージの対象とはならない。しかし、そのデジタルアセットに関してクラウドストレージ５０６にアクセスする前に、キャッシュストレージ５０４がそのデジタルアセットを既に格納していないかどうか調べてもよい。キャッシュストレージ５０４が既にそのデジタルアセットを格納していれば、デジタルアセットをダウンロードする必要はなく、いずれもクライアント機器にあるキャッシュストレージ５０４からローカルストレージ５０２に単に移動することができる。キャッシュストレージ５０４からローカルストレージ５０２へのデジタルアセットの移動（または再割り当て）は、ダウンロード動作を含まないがローカルダウンロードと呼ぶことができる。
【００６７】
さらに、デジタルアセットが電子データファイルとして提供されることを理解されたい。クラウドストレージ５０６は、所与のデジタルアセットを異なる品質レベルで提供することができる。例えば、クラウドストレージ５０６は所与のデジタルアセットを高品質フォーマットおよび低品質フォーマットで格納することができる。ある実装において、異なる品質フォーマットは、異なるビットレートに対応してもよい。具体例として、高品質フォーマットは２５６ｋｂ／秒のビットレート（すなわち、高ビットレート）に対応し、低品質フォーマットは６４ｋｂ／秒のビットレート（すなわち、低ビットレート）に対応することができる。
【００６８】
再生要求に応答して、クライアント機器でどの品質レベルを用いるかの判定は、クライアント機器で実行することができる。一実施形態において、クライアント機器は、どの品質レベルをクラウドサーバからクライアント機器に送信（ダウンロードまたはストリーミング）すべきかを判定するため、自身の利用可能なネットワークパフォーマンスを評価する。例えば、クライアント機器は、クライアント機器と、クラウドストレージ５０６をサポートするクラウドサーバとの間のネットワークリンクの容量の指標として役立つ、自身のネットワークパフォーマンスを評価することができる。セルラ接続（例えば３Ｇネットワーク）のようにネットワークパフォーマンスが低い場合、クライアント機器は、クラウドストレージ５０６から入手可能なデジタルアセットについて、低品質フォーマット（例えば６４ｋｂ／秒のビットレート）を要求ならびに受信すべきであると判定することができる。そして、このデジタルアセットは、クライアント機器に送信され、キャッシュストレージ５０４に格納されるであろう。この時点で、キャッシュストレージ５０４は低品質フォーマットのデジタルアセットを格納する。あるいは、ＬＡＮ接続（例えばWi-Fiネットワーク）のようにネットワークパフォーマンスが高い場合、クライアント機器は、クラウドストレージ５０６から入手可能なデジタルアセットについて、高品質フォーマット（例えば２５６ｋｂ／秒のビットレート）を要求ならびに受信すべきであると判定することができる。そして、このデジタルアセットは、クライアント機器に送信され、キャッシュストレージ５０４に格納されるであろう。
【００６９】
また、再生要求されているデジタルアセットが、キャッシュストレージ５０４に既に格納されている低品質フォーマットである場合、キャッシュストレージ５０４からデータを読み出すことにより、再生要求に応じてただちにデジタルアセットをクライアント機器で再生することができる。しかし、再生要求されているデジタルアセットが、キャッシュストレージ５０４に格納されていない高品質フォーマットである場合、（キャッシュストレージ５０４に低品質フォーマットが格納されているかどうかにかかわらず）クライアント機器は高品質フォーマットのデジタルアセットをクラウドストレージ５０６に要求および受信し、受信した電子データファイルをキャッシュストレージ５０４に格納することができる。
【００７０】
また、ユーザがデジタルアセットのダウンロードを要求した場合、高品質フォーマットのデジタルアセットをローカルストレージ５０２に配信することが目的となる。高品質フォーマットのデジタルアセットがたまたまキャッシュストレージ５０４に格納されていれば、ダウンロードは単に電子データファイルをキャッシュストレージ５０４からローカルストレージ５０２に移動（または再割り当て）することであってよく、これをローカルダウンロードと呼ぶことができる。しかし、キャッシュストレージ５０４がデジタルアセットの低品質バージョンしか格納していない場合、クライアント機器はクラウドストレージ５０６に高品質フォーマットのデジタルアセットのダウンロードを要求する。
【００７１】
図５Ｂは、一実施形態に係るデータ読み出しおよび格納処理５５０のフローチャートである。データ読み出しおよび格納処理５５０は例えば、クライアント機器によって実行することができる。クライアント機器はコンピュータ機器、多機能家庭用電子機器（例えばスマートホン）、または他の電子機器に属するものであってよい。クライアント機器は、携帯電話機、ネットブック、タブレットコンピュータ、ノート型コンピュータのような、移動型電子機器であることが多い。
【００７２】
データ読み出しおよび格納処理５５０は、クライアント機器に提供されるべきデジタルアセットを特定５５２することができる。さらに、電子機器が利用可能なネットワークパフォーマンスを判定５５４することができる。一例として、ネットワークパフォーマンスは、クライアント機器がリモートクラウドストレージに接続するために用いているネットワーク（例えば無線ネットワーク）の帯域幅またはビットレートであってもよいし、それらから求めてもよい。次に、リモートクラウドストレージに要求すべきデジタルアセットの品質バージョンがネットワークパフォーマンスに基づいて判定５５６される。デジタルアセットの品質バージョンが判定５５６された後、デジタルアセットの判定された品質バージョンをリモートクラウドストレージに要求５５８することができる。そして、判定５６０は、判定されたデジタルアセットの品質バージョンについての要求に応答して電子ファイルが受信されているかどうかを判定することができる。判定５６０が、要求に応答して電子ファイルが受信されていないと判定した場合、データ読み出しおよび格納処理５５０は電子ファイルの受信（または時間切れイベント）を待機することができる。一方、判定５６０が、要求に応答して電子ファイルが受信されていると判定した場合、受信されている電子ファイルをクライアント機器のデータストレージ内に格納５６２することができる。電子ファイルがクライアント機器でデータストレージに格納５６２されるとクライアント機器は、データストレージからその電子ファイル（つまりデジタルアセット）にローカルアクセスして利用（例えば再生）することが可能になる。電子ファイルの格納に続き、データ読み出しおよび格納処理５５０は終了することができる。
【００７３】
図６Ａおよび６Ｂは、一実施形態に係るデータ読み出しおよび再生処理６００のフローチャートである。データ読み出しおよび再生処理６００は例えば、クライアント機器によって実行することができる。クライアント機器はコンピュータ機器、多機能家庭用電子機器（例えばスマートホン）、または他の電子機器のようなデータ再生機器に属するものであってよい。クライアント機器は、携帯電話機、ネットブック、タブレットコンピュータ、ノート型コンピュータのような、移動型電子機器であることが多い。
【００７４】
データ読み出しおよび再生処理６００は、再生コマンドが開始されているかどうかを判定する判定６０２を含むことができる。一実装において、再生コマンドは、データ再生機器によってデジタルアセットを再生することを要求するユーザから受信することができる。例えば、図２Ｂは、ある特定のデジタルアセットに対する再生コマンドを開始可能なグラフィカルユーザインタフェース２５０を示している。
【００７５】
判定６０２が、再生コマンドが受信されていないと判定する場合、データ読み出しおよび再生処理６００は再生コマンドの受信を待機することができる。一方、判定６０２が、再生コマンドが受信されていると判定する場合、データ読み出しおよび再生処理６００は先に進むことができる。再生コマンドは、データ再生機器再生されるべきものとしてユーザが要求しているデータアセット（またはアイテム）を特定する。
【００７６】
再生コマンドを受信すると、判定６０４は、再生すべきアイテムの高品質（ＨＱ）バージョンがローカル格納されているかどうかを判定することができる。判定６０４が、再生すべきアイテムのＨＱバージョンがローカル格納されていると判定した場合、アイテムのＨＱバージョンに関するデータをローカルストレージ（例えばローカルストレージ５０２）から読み出す６０６ことができる。例えば、通常、データ再生機器は再生すべきアイテムに関するデジタルデータ（例えばコンテンツデータ）およびメタデータのような電子データを格納するように機能する不揮発性メモリを有している。
【００７７】
あるいは、判定６０４が、再生すべきアイテムのＨＱバージョンがローカル格納されていないと判定した場合、判定６０８は再生すべきアイテムのＨＱバージョンがキャッシュストレージ（例えばキャッシュストレージ５０４）に存在するかどうか判定することができる。キャッシュストレージもまた通常データ再生機器に提供されており、データ再生機器で再度アクセスされる可能性の高いデータに対する一時的なデータストレージ（キャッシュメモリ）を提供する。判定６０８が、再生すべきアイテムのＨＱバージョンがキャッシュストレージに存在すると判定した場合、このアイテムのＨＱバージョンに関するデータはデータ再生機器に設けられたキャッシュストレージから読み出す６１０ことができる。この場合、再生すべきアイテムに関するデータはデータ再生機器のローカルストレージに形式上存在していなかったが、再生すべき（適切な品質レベルの）アイテムに関するデータはキャッシュストレージから入手可能であった。
【００７８】
判定６０８が、再生すべきアイテムのＨＱバージョンがキャッシュストレージに存在しないと判定した場合、判定６１２はネットワークパフォーマンスが高いかどうかを判定することができる。クライアント機器は、クラウドストレージおよび／または他のネットワークリソースまたはサービスにアクセスするため、１つ以上のネットワークに接続することができる。ネットワークパフォーマンスは、データをクラウドストレージからクライアント機器に転送するための、これら１つ以上のネットワークの能力を表す。例えば、クライアント機器は、データ転送がキャリアネットワークに依存する無線機器であることが多い。従って、クライアント機器が無線ネットワークに依存する移動型機器であることが多いことを鑑みれば、またネットワーク輻輳により、クライアントが利用可能なネットワーク帯域幅は常に変化しうる。従って、ネットワークパフォーマンスは、ネットワーク上でデータを転送するための比較的近い将来の能力を表すことができる。例えば、クライアント機器が現在ＬＡＮ（例えばWi-Fiネットワーク）に接続可能であるとすると、そのようなネットワークはそこそこ高いネットワーク帯域幅を有するため、データ転送のためのネットワークパフォーマンスは高いと考えることができる。一方、クライアント機器が現在ＬＡＮを通じてではなくセルラネットワークのみによってインターネットに接続されている場合、データ転送のためのネットワークパフォーマンスは低いと考えることができる。
【００７９】
判定６１２が、ネットワークパフォーマンスが適切に高いと判定した場合、判定６１４は再生すべきアイテムのＨＱバージョンがクラウドストレージに格納されているかどうかを判定することができる。判定６１４が、再生すべきアイテムのＨＱバージョンに関するデータがクラウドストレージから入手可能であると判断した場合、そのアイテムのＨＱバージョンに関するデータはクラウドストレージから読み出す６１６ことができる。
【００８０】
従って、再生すべきアイテムのＨＱバージョンに関するデータは、ローカルストレージ、キャッシュストレージ、およびクラウドストレージのいずれかから読み出すことができる。再生すべきアイテムのＨＱバージョンに関するデータが読み出され（６０６，６１０または６１６）た後、そのアイテム、すなわちデジタルアセット、のＨＱバージョンを再生６１８することができる。アイテムが再生６１８された後、データ読み出しおよび再生処理６００は終了することができる。
【００８１】
一方、判定６１２が、ネットワークパフォーマンスが低いと判定した場合、あるいは判定６１４が、再生すべきアイテムのＨＱバージョンがクラウドストレージに格納されていないと判定した場合、データ読み出しおよび再生処理６００は図６Ｂに示すブロック６２０から６３０を実行することができる。具体的には、判定６２０は再生すべきアイテムのＬＱバージョンがデータ再生機器でローカル格納されているかどうかを判定することができる。判定６２０が、再生すべきアイテムのＬＱバージョンがローカル格納されていると判定した場合、そのアイテムのＬＱバージョンに関するデータはローカルストレージから読み出す６２２ことができる。
【００８２】
あるいは、判定６２０が、再生すべきアイテムのＬＱバージョンがローカル格納されていないと判定した場合、判定６２４は再生すべきアイテムのＬＱバージョンがキャッシュストレージ（例えばキャッシュストレージ５０４）に存在するかどうか判定することができる。キャッシュストレージもまた通常データ再生機器に提供されており、データ再生機器で再度アクセスされる可能性の高いデータに対する一時的なデータストレージ（キャッシュメモリ）を提供する。判定６２４が、再生すべきアイテムのＬＱバージョンがキャッシュストレージに存在すると判定した場合、このアイテムのＬＱバージョンに関するデータはデータ再生機器に設けられたキャッシュストレージから読み出す６２６ことができる。この場合、再生すべきアイテムに関するデータはデータ再生機器のローカルストレージに形式上存在していなかったが、再生すべき（適切な品質レベルの）アイテムに関するデータはキャッシュストレージから入手可能であった。
【００８３】
さらに、判定６２４が、再生すべきアイテムのＬＱバージョンがキャッシュストレージに存在しないと判定した場合、判定６２８は再生すべきアイテムのＬＱバージョンがクラウドストレージに格納されているかどうかを判定することができる。判定６２８が、再生すべきアイテムに関するデータがクラウドストレージから入手可能であると判断した場合、そのアイテムに関するデータは（十分なネットワーク帯域幅が利用可能なら）クラウドストレージから読み出す６３０ことができる。
【００８４】
従って、再生すべきアイテムのＬＱバージョンに関するデータは、ローカルストレージ、キャッシュストレージ、およびクラウドストレージのいずれかから読み出すことができる。再生すべきアイテムのＬＱバージョンに関するデータが読み出され（６２２，６２６，または６３０）た後、そのアイテム、すなわちデジタルアセット、のＬＱバージョンを再生６１８することができる。アイテムが再生６１８された後、データ読み出しおよび再生処理６００は終了することができる。再生すべきアイテムのＬＱバージョンに関するデータが何らかの理由によりローカルストレージ、キャッシュストレージ、およびクラウドストレージのどれからも入手できない場合、関連するデータが入手不能であるため、データ読み出しおよび再生処理６００はアイテムの再生を開始しない。この場合、要求者は再生コマンドが不成功に終わったことを通知されるかもしれないが、やはりデータ読み出しおよび再生処理６００は終了することができる。
【００８５】
従って、データ読み出しおよび再生処理６００は、ローカル、キャッシュ、およびクラウドストレージを用いて階層的データストレージを提供することができる。データは最適なソースから読み出すことができる。所与のデジタルアセットについて、１つ以上のソースから入手可能なデータは異なる品質レベルを有することができる（例えばＨＱまたはＬＱバージョン）。そのため、デジタルアセットに関するデータは容易に入手可能であり、そのようなデータがローカルストレージやキャッシュストレージから入手できなければ、データを読み出すためにダウンロードを用いる。デジタルアセットのより低い品質のバージョンは、そのようなデータがローカルで入手できず、またネットワーク帯域幅が比較的低いか間欠的である場合に用いられてよい。つまり、機器の性能が向上し、かつ消費電力が低減する。例えば、データ再生機器がネットワークに無線接続されているが、データがローカルストレージまたはキャッシュストレージから入手できる場合、データをダウンロードするために無線ネットワークインタフェース（例えば無線送受信器）に電源を供給する必要はなく、電力消費および／または帯域消費が削減される。
【００８６】
所定の実施形態の他の態様はさらに、異なる品質レベルを有するデジタルアセットのクラウドデータストレージの提供に関する。これらのデジタルアセットは、参加しているクライアント機器が利用できるようにすることができる。クライアント機器において、デジタルアセットはクラウドデータストレージから取得することも、クライアント機器にローカル格納することもできる。しかし、判断基準（例えば利用可能なネットワークビットレート）に応じて、クライアント機器は所望のデジタルアセットの低品質バージョンをまず取得するであろう。この場合、いくらか時間が経過した後、クライアント機器は所望のデジタルアセットの高品質バージョンを取得することができる。実際には、低品質バージョンは通常別個の電子ファイルである高品質バージョンにアップグレードされる。この手法は、利用可能なネットワーク帯域幅を適切に利用し、クライアント機器のユーザの長い待ち時間を回避する。
【００８７】
図７は、一実施形態に係る品質アップグレード処理７００のフローチャートである。品質アップグレード処理７００は、例えばクライアント機器によって実行することができる。クライアント機器はコンピュータ機器、多機能家庭用電子機器（例えばスマートホン）、または他の電子機器に属するものであってよい。クライアント機器は、携帯電話機、ネットブック、タブレットコンピュータ、ノート型コンピュータのような、無線データ転送をサポートする移動型電子機器であることが多い。
【００８８】
品質アップグレード処理７００は、アップグレードを実行すべきかどうかをまず判定７０２することができる。ここで、クライアント機器は通常、ユーザが関心を持っているデジタルアセットの低品質バージョンを１つ以上既に格納している。アップグレード動作は、これらのデジタルアセットをそれらの１つ以上の低品質バージョンから高品質バージョンにアップグレードするように機能する。通常、アップグレード動作はインテリジェントな方法で開始される。例えば、高品質バージョンはダウンロードにかなりの帯域幅を必要とするので、アップグレード動作はクライアント機器が所望の十分な帯域幅を提供する高速ネットワークに接続されるまで延期することができる。一具体例として、アップグレード動作は、クライアント機器がＬＡＮ（例えばWi-Fiネットワーク）に接続されている際に実行することができる。アップグレード動作のタイミングに関する他の制限事項として、クライアント機器がアイドル状態かどうかを含んでもよい。一実装において、クライアント機器がロックモードにある場合、つまりユーザが所定時間電話機を操作しておらず、機器をアンロックして使用するにはパスワード入力が必要である状態であれば、アイドル状態と見なすことができる。さらなる制限事項には、クライアント機器が電池によって駆動されていることの対義として、クライアント機器が電源に接続されていること（すなわち、コンセントに接続されてＡＣ駆動されていること）を含んでもよい。これは、無線データ転送が相当量の電力を消費しうるからである。以前低品質バージョンが格納され、まだアップグレードされていない特定のデジタルアセットにユーザが再びアクセスしようとした場合には、これらの追加制限事項を撤回してもよい。そのような状況では、クライアント機器がＬＡＮに接続されれば（追加制限事項とは無関係に）少なくともその特定のデジタルアセットに関するアップグレード動作を開始することができる。
【００８９】
いずれにせよ、判定７０２がアップグレード動作を実行すべきでないと判定した場合には、品質アップグレード処理７００は、アップグレードを実行するために適切な時間待機する。しかし、判定７０２がアップグレード動作を実行すべきと判断すれば、品質アップグレード処理７００を先に進めることができる。この場合、判定７０４はクライアント機器が利用可能なネットワークパフォーマンスが高いかどうかを判定することができる。ネットワークパフォーマンスが高くないと判定７０４が判定した場合、品質アップグレード処理７００は終了することができる。これは、相当量のデータ転送に対して低いパフォーマンスを提供するネットワークを用いてアップグレードを試行することは概して不効率であり、また問題があるからである。
【００９０】
一方、クライアント機器が利用可能なネットワークパフォーマンスが十分に高い（例えばWi-Fiネットワーク）と判定７０４が判定した場合、クライアント機器で低品質バージョンとしてローカル格納されている１つ以上のデジタルアセットを特定７０６することができる。これら特定された１以上のデジタルアセットは、クライアント機器でアップグレードすべき、低品質バージョンを有するデジタルアセットを表す。次に、特定された１以上のデジタルアセットの高品質バージョンがリモートクラウドストレージに要求７０８される。そして、判定７１０は特定された１以上のデジタルアセットの高品質バージョンの要求に応答して１以上の電子ファイルが受信されているかどうかを判定することができる。１以上の電子ファイルがまだ受信されていないと判定７１０が判定した場合、品質アップグレード処理７００はそのようなファイルの受信（または時間切れ）を待機する。しかし、判定７１０が１以上の電子ファイルがリモートクラウドストレージから受信されていると判定すれば、その１以上の電子ファイルをクライアント機器でデータストレージに格納７１２することができる。リモートクラウドストレージから受信した１以上の電子ファイルの格納７１２に続き、品質アップグレード処理７００は終了することができる。
【００９１】
図８Ａは、一実施形態に係るネットワークベースのデータアップグレードシステム８００のブロック図である。ネットワークベースのデータアップグレードシステム８００は、例えば、図１に示したネットワークベースのデータ管理システム１００の実装の一部を表すことができる。
【００９２】
ネットワークベースのデータアップグレードシステム８００はクラウドサーバ８０２を含んでいる。クラウドサーバ８０２はクラウドストレージ８０４に接続されている。クラウドストレージ８０４は、ネットワーク８０６に接続された大量のデジタルデータストレージを提供する。クラウドストレージ８０４は、多数の異なるユーザのためのデジタルデータを格納することができる。クラウドストレージ８０４は多数の異なるユーザ間で共有されるが、ある所定のユーザ用に格納されているデジタルデータは、その所定のユーザによってのみアクセス可能とすることができる。クラウドサーバ８０２は、クラウドストレージ８０４によるデータストレージとの間のデータ格納、アクセス、および配信を管理するように機能することができる。
【００９３】
クラウドストレージ８０４は、ユーザに関連付けられたクライアント機器により、クラウドサーバ８０２を通じてアクセス可能である。例えば、図８に示すように、クライアント機器８０８は、クラウドストレージ８０４に格納されたデータにアクセスできるよう、ネットワーク８０６に接続されてよい。クライアント機器８０８は、コンピュータ機器のような電子機器を表しうる。例えば、クライアント機器８０８はパーソナルコンピュータや携帯電話機（例えばスマートホン）を表してもよい。通常、クライアント機器８０８は、ネットワーク８０６を通じてクラウドサーバ８０２にアクセスすることを容易にするアプリケーションプログラム（またはユーティリティまたはOSプログラム）を含むことができる。ネットワーク８０６は１つ以上の優先または無線ネットワークから構成されうる。クライアント機器８０８は例えば、有線接続または無線接続によってネットワーク８０６に接続することができる。しかし、クライアント機器８０８は通常、無線接続によってネットワークに接続する移動機器である。加えて、クライアント機器８０８は、メディア管理アプリケーションのような、クライアント機器８０８にローカル格納されているデータまたはクラウドストレージ８０４にリモート格納されているデータのアクセス、提示、および利用を容易にするアプリケーションプログラムを含んでよい。
【００９４】
図８Ａに示す、ネットワークベースのデータアップグレードシステム８００は、１つ以上のデジタルアセットのアイドルアップグレード動作をも示している。より具体的には、アイドルアップグレード動作の主な動作が図８Ａに示されている。ネットワークベースのデータアップグレードシステム８００は、低品質フォーマットでクライアント機器に現在格納されている１以上のデジタルアセットに関する品質アップグレードを実行することができる。図８Ａを参照して、アイドルアップグレード動作の一実施形態を以下のように説明することができる。ステップ(1)で、クライアント機器８０８は、アップグレード動作を起動すべきかどうかを判定することができる。上述の通り、アップグレード動作はクライアント機器８０８がアイドルである際に、クライアント機器８０８で実行または開始することができる。一例として、クライアント機器は低消費電力状態(low-power state)またはロック状態にあるとき、アイドルであると見なすことができる。いずれにせよ、ステップ(1)でアップグレード動作を起動すべきであると判定された場合、クライアント機器８０８はネットワークパフォーマンスのようなネットワーク状況をステップ(2)で評価することができる。ネットワークパフォーマンスの例には、ネットワーク帯域幅やビットレートが含まれる。ネットワークパフォーマンスのようなネットワーク状況が比較的低い場合、アイドルアップグレード動作は終了し、後のタイミングで再検討することができる。ネットワークパフォーマンスのようなネットワーク状況が比較的高い場合、アイドルアップグレード動作を続けることができる。アイドルアップグレード動作が継続する場合、ステップ(3)で、クライアント機器８０８からクラウドサーバ８０２に、特定のデジタルアセットの高品質（ＨＱ）バージョンのダウンロード要求が送信される。クラウドサーバ８０２は、特定のデジタルアセットの高品質（ＨＱ）バージョンの要求を受信した後、かつユーザおよび／またはクライアント機器８０８の適切な認証後、ステップ(4)で、クラウドストレージ８０４からデジタルアセットの高品質（ＨＱ）バージョンを探す。そして、ステップ(5)でクラウドサーバ８０２は、クラウドストレージ８０４から特定のデジタルアセットの高品質（ＨＱ）バージョンを読み出す。続いてクラウドサーバ８０２は、特定のデジタルアセットの高品質（ＨＱ）バージョンをクライアント機器８０８に送信することができる。そして、クライアント機器８０８はステップ(6)で、特定のデジタルアセットの高品質（ＨＱ）バージョンに関する送信データを受信する。そのような送信データの受信後、クライアント機器８０８はステップ(7)で、特定のデジタルアセットの高品質（ＨＱ）バージョンに関する受信データをクライアント機器８０８に格納することができる。必要に応じて、クライアント機器８０８に以前格納されていた、特定のデジタルアセットの低品質（ＬＱ）バージョンを削除（すなわちパージ）してもよい。ここで説明したアップグレード動作は、特定のデジタルアセットのアップグレードに関するものであったが、デジタルアセットのセットのような、より多くのデジタルアセットを、個別に、あるいは同時にアップグレードすることがで���る。
【００９５】
図８Ｂは、一実施形態に係るネットワークベースのデータアップグレードシステム８２０のブロック図である。ネットワークベースのデータアップグレードシステム８２０は、例えば、図１に示したネットワークベースのデータ管理システム１００の実装の一部を表すことができる。ネットワークベースのデータアップグレードシステム８２０は、図８Ａに示したネットワークベースのデータアップグレードシステム８００と概して同一の構成を有する。しかし、図８Ｂに示す、ネットワークベースのデータアップグレードシステム８２０は、１つ以上のデジタルアセットの次再生アップグレード(next play upgrade)動作を示している。次再生アップグレード動作の主な動作が図８Ｂに示されている。ネットワークベースのデータアップグレードシステム８２０は、低品質フォーマットでクライアント機器に現在格納されている１以上のデジタルアセットに関する品質アップグレードを実行することができる。具体的には、クライアント機器（またはそのユーザ）が、クライアント機器８０８に低品質フォーマットで既に格納されているデジタルアセットの再生を開始した際に、次再生アップグレード動作を実行することができる。図８Ｂを参照して、次再生アップグレード動作の一実施形態を以下のように説明することができる。ステップ(1)で、クライアント機器８０８は、アップグレード動作を起動すべきかどうかを判定することができる。ここでは、クライアント機器（またはそのユーザ）が、クライアント機器に低品質フォーマットで既に格納されているデジタルアセットの再生を開始した際に、アップグレード動作をクライアント機器８０８で実行または開始することができる。いずれにせよ、ステップ(1)でアップグレード動作を起動すべきであると判定された場合、クライアント機器８０８はネットワークパフォーマンスのようなネットワーク状況をステップ(2)で評価することができる。ネットワークパフォーマンスの例には、ネットワーク帯域幅やビットレートが含まれる。ネットワークパフォーマンスのようなネットワーク状況が比較的低い場合、次再生アップグレード動作は終了し、後のタイミングで再検討することができる。ネットワークパフォーマンスのようなネットワーク状況が比較的高い場合、次再生アップグレード動作を続けることができる。次再生アップグレード動作が継続する場合、ステップ(3)で、クライアント機器８０８からクラウドサーバ８０２に、特定のデジタルアセットの高品質（ＨＱ）バージョンのダウンロード要求が送信される。クラウドサーバ８０２は、特定のデジタルアセットの高品質（ＨＱ）バージョンの要求を受信した後、かつユーザおよび／またはクライアント機器８０８の適切な認証後、ステップ(4)で、クラウドストレージ８０４からデジタルアセットの高品質（ＨＱ）バージョンを探す。そして、ステップ(5)でクラウドサーバ８０２は、クラウドストレージ８０４から特定のデジタルアセットの高品質（ＨＱ）バージョンを読み出す。続いてクラウドサーバ８０２は、特定のデジタルアセットの高品質（ＨＱ）バージョンをクライアント機器８０８に送信することができる。そして、クライアント機器８０８はステップ(6)で、特定のデジタルアセットの高品質（ＨＱ）バージ��ンに関する送信データを受信する。そのような送信データの受信後、クライアント機器８０８はステップ(7)で、特定のデジタルアセットの高品質（ＨＱ）バージョンに関する受信データをクライアント機器８０８に格納することができるほか、特定のデジタルアセットの高品質（ＨＱ）バージョンの再生を開始することができる。なお、特定のデジタルアセットの高品質（ＨＱ）バージョンの再生は、関連するデータの一部が受信されれば開始することができることに留意されたい。必要に応じて、クライアント機器８０８に以前格納されていた、特定のデジタルアセットの低品質（ＬＱ）バージョンを削除（すなわちパージ）してもよい。ここで説明したアップグレード動作は、特定のデジタルアセットのアップグレードに関するものであったが、デジタルアセットのセットのような、より多くのデジタルアセットを、個別に、あるいは同時にアップグレードすることができる。
【００９６】
図８Ｂに関して説明した次再生アップグレード動作は、ある特定のデジタルアセットの低品質バージョンを、その特定のデジタルアセットの高品質バージョンにアップグレードするために動作する。しかし、アップグレードは十分な帯域幅のような、適切なネットワーク状況の存在に依存する。ネットワーク評価は再生開始時のようにデジタルアセットごとに実行することができるが、実際のデータ送信（ダウンロード）中のように、ネットワーク評価をより頻繁に実行することもできる。例えば、再生開始時のネットワーク評価が十分なネットワーク帯域幅を示していれば、デジタルアセットの高品質バージョンのデータ送信が開始されるであろう。しかし、クラウドストレージ８０４からクライアント機器８０８へのデジタルアセットの送信（またはダウンロード）の最中にネットワーク帯域幅が仮に大幅に悪化した場合、次再生アップグレードは中止または一時停止されるであろう。このような状況において、クライアント機器８０８でのデジタルアセットの再生は既に開始されているであろう。そして、再生を維持するため、クライアント機器８０８は、クライアント機器８０８に既に存在するその特定のデジタルアセットの低品質バージョンの再生に切り替えることができる。その後、ネットワーク状況が再び改善すれば、次再生アップグレード動作を再開し、クライアント機器８０８に特定のデジタルアセットの高品質バージョンの再生に切り替えることを許可することができる。
【００９７】
図８Ｃは、一実施形態に係るネットワークベースのデータダウングレードシステム８４０のブロック図である。ネットワークベースのデータダウングレードシステム８４０は、例えば、図１に示したネットワークベースのデータ管理システム１００の実装の一部を表すことができる。ネットワークベースのデータダウングレードシステム８４０は、図８Ａに示したネットワークベースのデータアップグレードシステム８００と概して同一の構成を有する。しかし、図８Ｃに示す、ネットワークベースのデータダウングレードシステム８４０は、１つ以上のデジタルアセットのダウングレード動作を示している。ダウングレード動作の主な動作が図８Ｃに示されている。ネットワークベースのデータダウングレードシステム８４０は、クライアント機器８０８で現在再生中の１以上のデジタルアセットに対する品質ダウングレードを実行することができる。具体的には、クライアント機器（またはそのユーザ）があるデジタルアセットの高品質（ＨＱ）バージョンのクラウドストレージ８０４からのダウンロードを開始した際、悪いネットワーク状況によりそのダウンロードが停止する可能性がある。そのような場合、ネットワークベースのデータダウングレードシステム８４０は、そのデジタルアセットの再生の途絶を緩和するためにダウングレード動作を実行することができる。図８Ｃを参照して、ダウングレード動作の一実施形態を以下のように説明することができる。ステップ(1)で、クライアント機器８０８は、ダウングレード動作を起動すべきかどうかを判定することができる。ここでは、悪いネットワークパフォーマンスなどにより、同時再生中のデジタルアセットが停止した際にクライアント機器８０８でダウングレード動作を実行または開始することができる。また、ダウングレード動作は、バッファされた音声が使い果たされている場合のように、再生が停止しそうな場合など、より早い時期に実施または開始されてもよい。次に、ダウングレード動作は、デジタルアセットのより低い品質のバージョンが、ローカルまたはリモートで入手可能かどうかを判定することができる。デジタルアセットのより低い品質バージョンが、ローカルで入手可能である（すなわち、クライアント機器８０８に既に格納されている）場合、そのデジタルアセットの、より低い品質のバージョンをローカルで読み出して再生することができる。ここで、デジタルアセットの停止したダウンロードは中止し、その代わりにそのデジタルアセットのより低い品質のバージョンを用いて再生を再開してもよい。あるいは、デジタルアセットの低品質バージョンが、ローカルで入手できない場合、ダウングレード動作はステップ(3)で、特定のデジタルアセットのより低い品質の（LowerＱ）バージョンのダウンロード要求をクライアント機器８０８からクラウドサーバ８０２に送信させる。例えば、停止したダウンロードが高品質バージョンについてのダウンロードであり、より低い品質のバージョン（LowerＱ）が低品質バージョンまたは中品質バージョンであってよい。クラウドサーバ８０２は、特定のデジタルアセットのより低い品質（LowerＱ）のバージョンの要求を受信した後、かつユーザおよび／またはクライアント機器８０８の適切な認証後、ステップ(4)で、クラウドストレージ８０４からデジタルアセットのより低い品質（LowerＱ）のバージョンを探す。そして、ステップ(5)でクラウドサーバ８０２は、クラウドストレージ８０４から特定のデジタルアセットのより低い品質（LowerＱ）のバージョンを読み出す。続いてクラウドサーバ８０２は、特定のデジタルアセットのより低い品質（LowerＱ）のバージョンをクライアント機器８０８に送信することができる。そして、クライアント機器８０８はステップ(6)で、特定のデジタルアセットのより低い品質（LowerＱ）のバージョンに関する送信データを受信する。そのような送信データの受信後、クライアント機器８０８はステップ(7)で、特定のデジタルアセットのより低い品質（LowerＱ）のバージョンに関する受信データをクライアント機器８０８に格納することができるほか、特定のデジタルアセットのより低い品質（LowerＱ）のバージョンの再生を開始することができる。なお、特定のデジタルアセットのより低い品質（LowerＱ）のバージョンの再生は、関連するデータの一部が受信されれば開始することができることに留意されたい。ここで説明したアップグレード動作は、特定のデジタルアセットのダウングレードに関するものであったが、デジタルアセットのセットのような、より多くのデジタルアセットを、個別に、あるいは同時にダウングレードすることができる。
【００９８】
図８Ｃに関して上述したように、デジタルアセットのダウンロードおよび再生は同時に行うことができ、ダウンロードが停止すると、デジタルアセットの再生はそのデジタルアセットのより低い品質のバージョンを用いて継続または再開することができる。ダウングレード動作は引き続くデジタルアセットの再生にも影響を与えうることを理解すべきである。すなわち、ネットワークパフォーマンスが第１のデジタルアセットのダウンロードに関して不十分であることが判明していれば、第１のデジタルアセットに続く第２のデジタルアセットの引き続くダウンロードの際、ダウンロードは第２のデジタルアセットのより低い品質のバージョンをまず読み出すように適合することができる。
【００９９】
所定の実施形態の他の見地は、ユーザがクライアント機器のローカルストレージの振る舞いを制御することを可能にするグラフィカルユーザインタフェース(GUI)に関する。デジタルアセットの１つまたはグループ（セット）に関連付けられるユーザインタフェース制御を通じて、ユーザはデジタルアセットの１つまたはグループをローカルに存在させ、かつ他のデジタルアセットを格納するための空きを作るための自動パージの対象から外すようにすることができる。
【０１００】
図９Ａは、一実施形態に係る例示的なグラフィカルユーザインタフェース９００を示す図である。グラフィカルユーザインタフェース９００は、名称（またはタイトル）欄９０４および属性欄９０６を含むリスト（例えばテーブル）９０２を含んでいる。図９Ａに示すように、属性欄９０６は継続時間に関するものである。しかし、デジタルアセットのさまざまな属性を、これ以外にも、あるいは代わりに同様に示してもよい。名称欄９０４または追加欄は、対応するデジタルアセットがクライアント機器にローカル格納されているか、クラウドストレージでリモート格納されているかを視覚的に区別することができる。図９Ａに示す実施形態では、対応するデジタルアセットがクラウドストレージでリモート格納されていることを示すためにリモートインジケータ９０８（例えば雲の記号）を表示することができる。従って、図９Ａに示すリスト９０２では、３つのデジタルアセット（すなわちデジタルアセットＡ，デジタルアセットＢ，およびデジタルアセットＣ）が一覧表示されている。一覧表示されている３つのデジタルアセットのうち、デジタルアセットＡおよびＣはクライアント機器にローカル格納され、デジタルアセットＢはクラウドストレージでリモート格納されている。グラフィカルユーザインタフェース９００はまた、ユーザが選択または選択解除可能な「ダウンロード継続」コントロール９１０を含むことができる。図９Ａのように「ダウンロード継続」コントロール９１０が選択解除されていれば、リスト９０２のデジタルアセットに何の影響も与えない。一般に、ユーザは、任意のデジタルメディアアセットについて、再生、ダウンロード、または削除などのユーザ動作を実行するためにもグラフィカルユーザインタフェース９００を操作することができる。「ダウンロード継続」コントロール９１０の外観および／または配置は、実装に応じて変化しうる。また、代替実施形態では、属性欄９０６は存在しないか隠されてもよい。
【０１０１】
図９Ｂは、一実施形態に係る例示的なグラフィカルユーザインタフェース９００’を示す図である。グラフィカルユーザインタフェース９００’は「ダウンロード継続」コントロール９１０が選択された後のグラフィカルユーザインタフェース９００を示している。すなわち、「ダウンロード継続」コントロール９１０が選択されると、リスト９０２内の１以上のデジタルアセットがローカル格納され、かつローカル格納された状態を維持するようになる。例えば、「ダウンロード継続」コントロール９１０の選択に続き、デジタルアセットＢがグラフィカルユーザインタフェース９００を提示しているクライアント機器にダウンロードされるだろう。さらに、リスト内の３つのデジタルアセットはクライアント機器に格納され続け、クライアント機器のストレージからパージされる対象から外されるだろう。
【０１０２】
これまでの説明から、１以上の実施形態に係る電子機器は、例えばコンピュータ機器（例えばパーソナルコンピュータ）、携帯電話機（例えばセルラ方式の電話機、スマートホン）、携帯情報端末（ＰＤＡ）、メディアプレーヤ（例えば音楽、映像、ゲーム、画像）、メディアストレージ機器、カメラ、および／または同様の機器でありうることが容易に理解されるであろう。電子機器はまたこれら機器の２つ以上の機能を１つの機器に組み合わせた多機能機器であってもよい。携帯電子機器は様々なタイプのネットワーク通信をサポートしてもよい。
【０１０３】
携帯電子機器はハンドヘルド電子機器として提供されてもよい。ハンドヘルドとは、一般に、片手で楽に持てる程度に十分小さい大きさを有する電子機器を指す。ハンドヘルド電子機器は片手操作または両手操作を対象としたものであってよい。片手操作では、使用中における機器の支持およびユーザインタフェースを用いた操作の実行の両方を１つの手で行う。両手操作では、使用中、一方の手が機器の支持に用いられ、他方の手がユーザインタフェースの操作を実行するか、使用中、両方の手が機器を支持するとともに操作を実行する。ハンドヘルド電子機器は、ユーザのポケットに入るような大きさとされることもある。ポケットサイズであることにより、ユーザは機器を直接運ぶ必要がないため、機器をユーザが移動するほとんどの場所に持っていくことができる（例えば、ユーザは大きく、かさばり、かつしばしば重い機器によって制約を受けることがない）。
【０１０４】
デジタルアセットはデジタルメディアアセットであってよい。デジタルメディアアセット（例えばデジタルメディアアイテム）は例えばビデオアイテム（例えばビデオファイルまたは映画）、オーディオアイテム（例えば、歌、音楽アルバム、ポッドキャスト、またはオーディオブックのような音声ファイルまたは音声トラック）、または画像アイテム（例えば写真）に関するものであってよい。デジタルメディアアセットはまた、テキストまたはマルチメディアファイルを含んだり、それらで補足されてもよい。
【０１０５】
上述した本発明の様々な見地、機能、態様、または実装は、単独で用いられても様々な組み合わせで用いられてもよい。
【０１０６】
本発明は好ましくはソフトウェア、ハードウェア、またはハードウェアとソフトウェアの組み合わせによって実施される。本発明はまた、コンピュータ可読媒体上のコンピュータ可読コードとして実施されてもよい。コンピュータ可読媒体は一時的なものでなく、コンピュータシステムによって読み取ることが可能なデータを格納可能な任意のデータ記憶装置である。コンピュータ可読媒体の例は一般に、読み出し専用メモリおよびランダムアクセスメモリを含む。コンピュータ可読媒体のより具体的な例は、有形であり（かつ一時的でなく）、フラッシュメモリ、EEPROMメモリ、メモリカード、CD-ROM、DVD、ハードディスクドライブ、磁気テープ、光学データ記憶装置を含む。コンピュータ可読媒体はまた、コンピュータ可読コードが分散的に格納かつ実行されるように、ネットワークに接続されたコンピュータシステムに配信されてもよい。
【０１０７】
本発明の様々な実施形態の利点は非常に多い。様々な見地、態様、または実装は以下の利点の１つ以上を実現するであろう（ただし、実現は必須事項ではない）。少なくとも一部の実施形態の１つの利点は、デジタルアセットが共通インタフェースからアクセス可能であり、効率的な方法でユーザに提供可能なことである。少なくとも一部の実施形態の別の利点は、デジタルアセットがリモート格納されている場合、必要になるとそれらがストリーミングではなくダウンロードされることで、電力効率の向上を含む、より効率的な動作が実現できることである。少なくとも一部の実施形態のさらに別の利点は、これらのリモート格納された、再生のためにダウンロード済みのアセットをその後の潜在的な利用のためにキャッシュすることができることである。
【０１０８】
本明細書の説明から、本発明の多くの機能および利点が明らかである。さらに、本技術分野に属する当業者には多くの修正や変更が容易であるため、本発明は図示および説明された構成や動作そのものに限定されるべきではない。従って、全ての好適な修正およびその等価物は、本発明の範囲に含まれる。
【図１】
0005468651.tif 000002
【図２Ａ】
0005468651.tif 000003
【図２Ｂ】
0005468651.tif 000004
【図３】
0005468651.tif 000005
【図４Ａ】
0005468651.tif 000006
【図４Ｂ】
0005468651.tif 000007
【図４Ｃ】
0005468651.tif 000008
【図５Ａ】
0005468651.tif 000009
【図５Ｂ】
0005468651.tif 000010
【図６Ａ】
0005468651.tif 000011
【図６Ｂ】
0005468651.tif 000012
【図７】
0005468651.tif 000013
【図８Ａ】
0005468651.tif 000014
【図８Ｂ】
0005468651.tif 000015
【図８Ｃ】
0005468651.tif 000016
【図９Ａ】
0005468651.tif 000017
【図９Ｂ】
0005468651.tif 000018