ネットワークパフォーマンスに基づく、ネットワークベースのデジタルデータリポジトリからのダウンロードの管理
【課題】クラウドデータストレージに格納されたデジタルアセットの格納、配信、および取得のための改良された方法を提供する。
【解決手段】ある特定のクライアント機器は、ローカル格納されたデジタルアセットに加え、リモート格納されたデジタルアセットにもクラウドデータストレージからアクセス可能である。クラウドデータストレージに存在するデジタルアセットの、クライアント機器へのダウンロードは、利用可能なネットワークパフォーマンスの観点から管理することができる。異なる複数の品質レベルのデジタルアセットを、ネットワークパフォーマンスに応じた方法でダウンロードすることができる。ローカル格納された品質の落とされたデジタルアセットを、ネットワークパフォーマンスに応じた方法でよりよい品質のバージョンにアップグレード(例えば置換)することができる。
【解決手段】ある特定のクライアント機器は、ローカル格納されたデジタルアセットに加え、リモート格納されたデジタルアセットにもクラウドデータストレージからアクセス可能である。クラウドデータストレージに存在するデジタルアセットの、クライアント機器へのダウンロードは、利用可能なネットワークパフォーマンスの観点から管理することができる。異なる複数の品質レベルのデジタルアセットを、ネットワークパフォーマンスに応じた方法でダウンロードすることができる。ローカル格納された品質の落とされたデジタルアセットを、ネットワークパフォーマンスに応じた方法でよりよい品質のバージョンにアップグレード(例えば置換)することができる。
【発明の詳細な説明】
【背景技術】
【0001】
オンラインストアおよびオンラインショッピングは近年ますます人気が高くなっている。オンラインストアから様々な商品やサービスを購入するために、デスクトップ型やノート型コンピュータが用いられてきた。オンラインストアはインターネットへのネットワーク接続を介して顧客に様々な異なるアイテムをオンラインストアでブラウズ、検索、および購入することを許すであろう。購入されたアイテムは郵送されたり、別の場所にある店舗で受け取りできるようにされたりすることができる。
【0002】
最近、デジタルアセット(例えば楽曲、映画、コンピュータアプリケーションプログラム)がオンラインストアから購入可能になってきている。また、デジタルアセットは、それを購入するために使われた機器へ直接配信できるようになってきている。そのため、今日、デジタルアセットは自宅から電子機器(例えばデスクトップ型コンピュータ)を通じてオンラインストアから購入でき、デジタルアセットの取得に用いられた電子機器に直ちに配信されうる。つまり、電子機器を通じてオンラインストアからデジタルアセットを購入した後、デジタルアセットは電子機器におけるその後の利用のため、電子機器によって「ダウンロード」されうる。
【0003】
しかし、つい最近ではオンラインストアにアクセスする能力を有する電子機器の数および種類が急激に増加している。今日、オンラインストアにアクセスする能力を有する電子機器(デスクトップ型コンピュータ、ノート型コンピュータ、パッドまたはタブレットコンピュータ(例えばiPad(商標))、スマートフォン、メディアプレーヤ、ゲーム機、テレビなどを含む)を一人が複数所有および/または操作する。加えて、増加の一途をたどる数およびタイプのデジタルアセット(メディア、本、アプリケーションプログラムなどを含む)がオンラインストアで利用可能になっている。その結果、ユーザ、特に様々なデジタルアセットのコレクションを複数の電子機器で維持しているユーザがデジタルアセットの電子機器への配信を管理することを難しくしている。
【発明の概要】
【0004】
クラウドデータストレージに格納されたデジタルアセットを保存、配信、および取得するための改良された方法およびシステムが開示される。クラウドデータストレージは、様々なユーザのためのデジタルデータを格納可能なクラウドデータレポジトリによって提供されてよい。ユーザは、自身が有する認証されたクライアント機器のどれからでも、ネットワークを介してクラウドデータストレージにアクセスすることができる。クライアント機器は、ローカル格納されたデジタルアセットだけでなく、リモート格納されたデジタルアセットもクラウドデータストレージからアクセスできる。一実施形態において、クラウドデータストレージに存在するデジタルアセットのクライアント機器へのダウンロードは、利用可能なネットワークパフォーマンスの観点から管理されてよい。一例として、ネットワークパフォーマンスに応じた方法で、異なる品質レベルのデジタルアセットがダウンロードされてよい。他の例として、ローカル格納された、品質を落とされたデジタルアセットを、ネットワークパフォーマンスに応じた方法で、より高い品質のバージョンでアップグレードする(例えば置き換える)ことができる。
【0005】
この方法およびシステムは、オンラインストアから取得されているデジタルアセット(例えばメディアアセット)を格納、配信、およびアクセスするために好適かつ有用である。この方法およびシステムは、オンラインストア以外から取得されているデジタルアセットを格納、配信、およびアクセスするためにも好適かつ有用である。いずれにせよ、デジタルアセットは電子機器(例えばユーザ機器)を通じてネットワークベースのデジタルデータリポジトリ(例えばクラウドデータリポジトリ)からアクセス可能になり、従ってその電子機器によって利用可能になる。デジタルアセットは、メディアアセットおよび/または非メディアアセットを含んでよい。
【0006】
ある実施形態の1態様は、参加しているクライアント機器にクラウドデータストレージを提供することに関する。クラウドデータストレージは、様々なユーザのためのデジタルデータを格納することが可能なネットワークベースのリポジトリによって提供することができる。ここで用いられているように、ネットワークベースのリポジトリはリモートデータリポジトリまたはクラウドデータリポジトリと呼ぶことができる。クラウドデータストレージに格納されているデジタルデータは、インターネット(またはワールドワイドウェブ)のようなネットワークを通じて個々のユーザが利用できるようにすることができる。ユーザはクラウドデータストレージに、オンライン購入されているデジタルアセット、他の非オンライン手段から取得されたデジタルアセット、および/またはユーザの他の任意のデジタルファイルを格納することができる。クラウドデータストレージを通じたデジタルデータへのアクセスは、認証済みユーザおよびユーザあたり限定数の認証済み機器(クライアント機器)に制限されてもよい。従って、ある特定のユーザは、自身の認証済み機器のどれからでもクラウドデータストレージにアクセスできる。
【0007】
ある実施形態の別の態様は、クラウドデータストレージに存在するデジタルアセットの、クライアント機器へのダウンロードの管理に関する。ある特定のクライアント機器は、ローカル格納されたデジタルアセットに加え、リモート格納されたデジタルアセットにもクラウドデータストレージからアクセス可能である。つまり、リモート格納されたデジタルアセットは、ローカルストレージへのダウンロードや格納されたデジタルアセットの再生などを目的としてクライアント機器によってアクセスされうる。ローカル格納されたデジタルアセットの入手可能性およびリモート格納されたデジタルアセットのクラウドデータストレージからの入手可能性を示すため、クライアント機器にグラフィカルユーザインタフェースを提供してもよい。一実施形態において、グラフィカルユーザインタフェースは、ローカル格納されたデジタルアセットおよびリモート格納されたデジタルアセットの両方が描画される統合表示を提供することができる。一実施形態において、グラフィカルユーザインタフェースはデジタルアセットがローカルに存在するのか、クラウドデータストレージにリモートで存在するのかを示すためのしるしを含んでもよい。ユーザがもしリモートアセットの再生を要求したならば、(既にキャッシュされている場合を除き)データをダウンロードする必要があるだろう。所定のデジタルアセット(例えば、ダウンロード済みのもの)をキャッシュすることにより、形式上はローカル格納していないデジタルアセットでも、キャッシュストレージからローカル入手可能なため、機器のパフォーマンスを向上させることができる。さらに、所定のデジタルアセットをキャッシュすることにより、そのようなデータの再送信を行う必要がないため、(帯域幅消費の節約とともに)節電が可能である(これは、無線リンクを介してクラウドデータストレージに接続するクライアント機器において特に有利である)。加えて、キャッシュされたデジタルアセットを暗号化した形式で格納することにより、クライアント機器は暗号化されない場合に消費されるであろう電力およびリソースを節約することができる。
【0008】
所定の実施形態の別の態様は、参加しているクライアント機器にクラウドデータストレージを提供することに関する。クライアント機器において、デジタルアセットはクラウドデータストレージから取得することも、クライアント機器にローカル格納することもできる。クライアント機器でのデジタルアセットのローカルストレージは、パージ可能もしくはパージ不能な方法で格納することができる。パージ可能とは、関連するデジタルアセットがクライアント機器にローカル格納されていても、より「重要な」デジタルアセットのために記憶容量を開放する必要がある場合には除去の対象となることを意味する。また、当初パージ可能に格納されたデジタルアセットが、パージ不能になってもよい。
【0009】
所定の実施形態の他の態様はさらに、異なる品質レベルを有するデジタルアセットのクラウドデータストレージの提供に関する。これらのデジタルアセットは、参加しているクライアント機器が利用できるようにすることができる。クライアント機器において、デジタルアセットはクラウドデータストレージから取得することも、クライアント機器にローカル格納することもできる。しかし、判断基準に応じて、クライアント機器は所望のデジタルアセットの低品質バージョンをまず取得するであろう。この場合、いくらか時間が経過した後、クライアント機器は所望のデジタルアセットの高品質バージョンを取得することができる。実際には、低品質バージョンは通常別個の電子ファイルである高品質バージョンにアップグレードされている。この手法は、利用可能なネットワーク帯域幅を適切に利用し、クライアント機器のユーザの長い待ち時間を回避する。
【0010】
本発明は方法、システム、機器、(コンピュータが読み取り可能な媒体およびグラフィカルユーザインタフェースを含んだ)装置としての実施を含む、多くの方法で実施することができる。本発明のいくつかの実施形態を、以下に説明する。
【0011】
データストレージ用のメモリを有する電子機器でデジタルアセットを提示するためにデータにアクセスする方法として、一実施形態は例えば少なくとも以下のステップを含むことができる。前記電子機器によって提示されるべきデジタルアセットを特定するステップと、前記電子機器が利用可能なネットワークパフォーマンスを判定するステップと、前記ネットワークパフォーマンスに基づいて、リモートクラウドストレージに要求する前記デジタルアセットの品質バージョンを判定するステップと、前記デジタルアセットの前記判定された品質バージョンを前記リモートクラウドストレージに要求するステップと、前記要求した前記デジタルアセットの前記判定された品質バージョンに関する電子ファイルを前記リモートクラウドストレージから受信するステップと、前記電子ファイルを前記電子機器の前記データストレージに格納するステップ。
【0012】
データストレージ用のローカルメモリを有する電子機器でデジタルアセットを提示するためにデータにアクセスする方法として、別の実施形態は例えば少なくとも以下のステップを含むことができる。前記電子機器によって提示されるべきデジタルアセットの表示を受信するステップと、前記デジタルアセットの高品質バージョンが前記電子機器の前記ローカルメモリからローカル入手可能かどうかを判定するステップと、前記電子機器が利用可能なネットワークパフォーマンスがデジタルアセットのダウンロードに十分かどうかを判定するステップと、クラウドデータリポジトリから前記デジタルアセットの前記高品質バージョンが入手可能かどうかを判定するステップと、前記電子機器が利用可能なネットワークパフォーマンスがデジタルアセットのダウンロードに十分であると判定され、前記デジタルアセットが前記クラウドデータリポジトリから入手可能であるが前記電子機器の前記ローカルメモリからは入手できない場合に、前記デジタルアセットの前記高品質バージョンを前記クラウドデータリポジトリから前記電子機器にダウンロードするステップと、ダウンロードされている前記デジタルアセットの前記高品質バージョンを前記ローカルメモリに格納するステップ。
【0013】
データストレージ用のメモリを有する電子機器でデジタルアセットを提示するためにデータにアクセスするために、少なくともコンピュータプログラムコードが格納された一時的でないコンピュータ可読媒体として、一実施形態は例えば少なくとも以下を含むことができる。前記電子機器によって提示されるべきデジタルアセットを特定するためのコンピュータプログラムコードと、前記電子機器が利用可能なネットワークパフォーマンスを判定するためのコンピュータプログラムコードと、前記ネットワークパフォーマンスに基づいて、リモートクラウドストレージに要求する前記デジタルアセットの品質バージョンを判定するためのコンピュータプログラムコードと、前記デジタルアセットの前記判定された品質バージョンを前記リモートクラウドストレージに要求するためのコンピュータプログラムコードと、前記デジタルアセットの前記要求した前記判定された品質バージョンに関する電子ファイルを前記リモートクラウドストレージから受信するためのコンピュータプログラムコードと、前記電子ファイルを前記電子機器の前記データストレージに格納するためのコンピュータプログラムコード。
【0014】
データストレージ用のローカルメモリを有する電子機器でデジタルアセットを提示するためにデータにアクセスするために、少なくともコンピュータプログラムコードが格納された非一時的なコンピュータ可読媒体として、一実施形態は例えば少なくとも以下を含むことができる。前記電子機器によって提示されるべきデジタルアセットの表示を受信するためのコンピュータプログラムコードと、前記デジタルアセットの高品質バージョンが前記電子機器の前記ローカルメモリからローカル入手可能かどうかを判定するためのコンピュータプログラムコードと、前記電子機器が利用可能なネットワークパフォーマンスがデジタルアセットのダウンロードに十分かどうかを判定するためのコンピュータプログラムコードと、クラウドデータリポジトリから前記デジタルアセットの前記高品質バージョンが入手可能かどうかを判定するためのコンピュータプログラムコードと、前記電子機器が利用可能なネットワークパフォーマンスがデジタルアセットのダウンロードに十分であると判定され、前記デジタルアセットが前記クラウドデータリポジトリから入手可能であるが前記電子機器の前記ローカルメモリからは入手できない場合に、前記デジタルアセットの前記高品質バージョンを前記クラウドデータリポジトリから前記電子機器にダウンロードするためのコンピュータプログラムコードと、ダウンロードされている前記デジタルアセットの前記高品質バージョンを前記ローカルメモリに格納するためのコンピュータプログラムコード。
【0015】
データストレージ用のローカルメモリを有し、ネットワークに接続可能な電子機器でデジタルアセットをアップグレードするための方法として、一実施形態は例えば少なくとも以下のステップを含むことができる。前記ローカルメモリに格納されているデジタルアセットの低品質バージョンをアップグレードすべきかどうかを判定するステップと、前記電子機器が利用可能なネットワークパフォーマンスがデジタルアセットのアップグレードに十分かどうかを判定するステップと、前記電子機器が利用可能な前記ネットワークパフォーマンスがデジタルアセットのアップグレードに十分であると判定された場合に、前記デジタルアセットの高品質バージョンのダウンロードをクラウドサーバに要求するステップと、前記デジタルアセットの前記高品質バージョンを前記クラウドサーバから前記ネットワークを介して前記電子機器で受信するステップと、アップグレードされている前記デジタルアセットの前記高品質バージョンを前記ローカルメモリに格納するステップ。
【0016】
データストレージ用のローカルメモリを有し、ネットワークに接続可能な電子機器でデジタルアセットをアップグレードするために、少なくともコンピュータプログラムコードが格納された非遷移的なコンピュータ可読媒体として、一実施形態は例えば少なくとも以下を含むことができる。前記ローカルメモリに格納されているデジタルアセットの低品質バージョンをアップグレードすべきかどうかを判定するためのコンピュータプログラムコードと、前記電子機器が利用可能なネットワークパフォーマンスがデジタルアセットのアップグレードに十分かどうかを判定するためのコンピュータプログラムコードと、前記電子機器が利用可能な前記ネットワークパフォーマンスがデジタルアセットのアップグレードに十分であると判定された場合に、前記デジタルアセットの高品質バージョンのダウンロードをクラウドサーバに要求するためのコンピュータプログラムコードと、前記デジタルアセットの前記高品質バージョンを前記クラウドサーバから前記ネットワークを介して前記電子機器で受信するためのコンピュータプログラムコードと、アップグレードされている前記デジタルアセットの前記高品質バージョンを前記ローカルメモリに格納するためのコンピュータプログラムコード。
【0017】
電子機器に付随する表示機器に提示されるグラフィカルユーザインタフェースとして、一実施形態は、例えば少なくとも複数のデジタルアセットのリストと、ユーザインタフェースコントロールとを含むことができる。ユーザインタフェースコントロールは、前記リスト内の前記複数のデジタルアセットが前記電子機器にローカル格納され、かつ前記電子機器で維持されるべきかどうかを指示するためのユーザ選択を可能とする。
【0018】
本発明の様々な態様および利点は、以下の詳細な説明を本発明の原理を例示目的で図示する添付図面とともに理解することによって明らかになるであろう。
【図面の簡単な説明】
【0019】
【図1】一実施形態に係るネットワークベースのデータ管理システムのブロック図である。
【図2A】デジタルアセットのための階層ストレージシステムの状態図である。
【図2B】一実施形態に係る例示的なグラフィカルユーザインタフェースを示す図である。
【図3】一実施形態に係るデータ読み出しならびに再生処理のフローチャートである。
【図4A】一実施形態に係るクラウドデータ読み出し処理のフローチャートである。
【図4B】一実施形態に係るキャッシュデータ読み出し処理のフローチャートである。
【図4C】一実施形態に係るローカルデータ読み出し処理のフローチャートである。
【図5A】デジタルアセットのための階層ストレージシステムの状態図である。
【図5B】一実施形態に係るデータ読み出しならびに格納処理のフローチャートである。
【図6A】一実施形態に係るデータ読み出しならびに再生処理のフローチャートである。
【図6B】一実施形態に係るデータ読み出しならびに再生処理のフローチャートである。
【図7】一実施形態に係る品質アップグレード処理のフローチャートである。
【図8A】一実施形態に係るネットワークベースのデータアップグレードシステムのブロック図である。
【図8B】一実施形態に係るネットワークベースのデータアップグレードシステムのブロック図である。
【図8C】一実施形態に係るネットワークベースのデータダウングレードシステムのブロック図である。
【図9A】一実施形態に係る例示的なグラフィカルユーザインタフェースを示す図である。
【図9B】一実施形態に係る例示的なグラフィカルユーザインタフェースを示す図である。
【発明を実施するための形態】
【0020】
同様の参照数字が同様の構成要素を指定する以下の詳細な説明および添付図面から、本発明は容易に理解されるであろう。
【0021】
クラウドデータストレージに格納されたデジタルアセットの格納、配信、および取得のための改良された方法を開示する。クラウドデータストレージは、様々なユーザのためにデジタルデータを格納することが可能なクラウドデータリポジトリによって提供することができる。ある特定のユーザは、自身の認証済み機器のどれからでもクラウドデータストレージにアクセスできる。ある特定のクライアント機器は、ローカル格納されたデジタルアセットに加え、リモート格納されたデジタルアセットにもクラウドデータストレージからアクセス可能である。一実施形態において、クラウドデータストレージに存在するデジタルアセットの、クライアント機器へのダウンロードは、利用可能なネットワークパフォーマンスの観点から管理することができる。一例として、異なる複数の品質レベルのデジタルアセットを、ネットワークパフォーマンスに応じた方法でダウンロードすることができる。別の例として、ローカル格納された品質の落とされたデジタルアセットを、ネットワークパフォーマンスに応じた方法でよりよい品質のバージョンにアップグレード(例えば置換)することができる。
【0022】
この方法およびシステムは、オンラインストアから取得されているデジタルアセット(例えばメディアアセット)を格納、配信、およびアクセスするために好適かつ有用である。この方法およびシステムは、オンラインストア以外から取得されているデジタルアセットを格納、配信、およびアクセスするためにも好適かつ有用である。いずれにせよ、デジタルアセットは電子機器(例えばユーザ機器)を通じてネットワークベースのデジタルデータリポジトリ(例えばクラウドデータリポジトリ)からアクセス可能になり、従ってその電子機器によって利用可能になる。デジタルアセットは、メディアアセットおよび/または非メディアアセットを含んでよい。
【0023】
所定の実施形態の1態様は、参加しているクライアント機器にクラウドデータストレージを提供することに関する。クラウドデータストレージは、様々なユーザのためにデジタルデータを格納することが可能なネットワークベースのリポジトリによって提供することができる。ここで用いられているように、ネットワークベースのリポジトリはリモートデータリポジトリまたはクラウドデータリポジトリと呼ぶことができる。クラウドデータストレージに格納されているデジタルデータは、インターネット(またはワールドワイドウェブ)のようなネットワークを通じて個々のユーザが利用できるようにすることができる。ユーザはクラウドデータストレージに、オンライン購入されているデジタルアセット、他の非オンライン手段から取得されたデジタルアセット、および/またはユーザの他の任意のデジタルファイルを格納することができる。クラウドデータストレージを通じたデジタルデータへのアクセスは、認証済みユーザおよびユーザあたり限定数の認証済み機器(クライアント機器)に制限されてもよい。従って、ある特定のユーザは、自身の認証済み機器のどれからでもクラウドデータストレージにアクセスできる。
【0024】
ある実施形態の別の態様は、クラウドデータストレージに存在するデジタルアセットの、クライアント機器へのダウンロードの管理に関する。ある特定のクライアント機器は、ローカル格納されたデジタルアセットに加え、リモート格納されたデジタルアセットにもクラウドデータストレージからアクセス可能である。つまり、リモート格納されたデジタルアセットは、ローカルストレージへのダウンロードや格納されたデジタルアセットの再生などを目的としてクライアント機器によってアクセスされうる。ローカル格納されたデジタルアセットの入手可能性およびリモート格納されたデジタルアセットのクラウドデータストレージからの入手可能性を示すため、クライアント機器にグラフィカルユーザインタフェースを提供してもよい。一実施形態において、グラフィカルユーザインタフェースは、ローカル格納されたデジタルアセットおよびリモート格納されたデジタルアセットの両方が描画される統合表示を提供することができる。一実施形態において、グラフィカルユーザインタフェースはデジタルアセットがローカルに存在するのか、クラウドデータストレージにリモートに存在するのかを示すためのしるしを含んでもよい。ユーザがもしリモートアセットの再生を要求したならば、(既にキャッシュされている場合を除き)データをダウンロードする必要があるだろう。所定のデジタルアセット(例えば、ダウンロード済みのもの)をキャッシュすることにより、正式にローカルに格納していないデジタルアセットでも、キャッシュストレージからローカル入手可能なため、機器のパフォーマンスを向上させることができる。さらに、所定のデジタルアセットをキャッシュすることにより、そのようなデータの再送信を行う必要がないため、(帯域幅消費の節約とともに)節電が可能である(これは、無線リンクを介してクラウドデータストレージに接続するクライアント機器において特に有利である)。
【0025】
図1は、一実施形態に係るネットワークベースのデータ管理システム100のブロック図である。ネットワークベースのデータ管理システム100は、複数の異なるユーザのためのデータ管理を提供する。ネットワークベースのデータ管理システム100によってリモート格納されているデジタルデータにアクセスするため、様々なユーザが1つ以上のクライアント機器を操作することができる。ネットワークベースのデータ管理システム100はまた、ある特定のユーザに関連付けられた複数のクライアント機器間のデータ同期も管理することができる。さらに、ネットワークベースのデータ管理システム100は、リモートストレージからクライアント機器へのデジタルデータのダウンロードを管理することもできる。
【0026】
ネットワークベースのデータ管理システム100はクラウドサーバ102を含んでいる。クラウドサーバ102はクラウドストレージ104に接続されている。クラウドストレージ104は、ネットワーク106に接続された大量のデジタルデータストレージを提供する。クラウドストレージ104は、多数の異なるユーザのためのデジタルデータを格納することができる。クラウドストレージ104は多数の異なるユーザ間で共有されるが、ある所定のユーザ用に格納されているデジタルデータは、その所定のユーザによってのみアクセス可能とすることができる。クラウドサーバ102は、クラウドストレージ104によるデータストレージとの間における、データの格納、アクセス、および配信を管理するように機能することができる。クラウドストレージ104はまた、クラウドストレージ104を利用するユーザに関するデータの同期を容易にすることができる。
【0027】
クラウドストレージ104は、ユーザに関連付けられたクライアント機器により、クラウドサーバ102を通じてアクセス可能である。例えば、図1に示すように、クライアント機器108およびクライアント機器110は、クラウドストレージ104に格納されたデータにアクセスできるよう、ネットワーク106に接続されてよい。クライアント機器108および110は、コンピュータ機器のような電子機器を表しうる。例えば、クライアント機器108はコンピュータを表し、クライアント110は携帯電話機(例えばスマートホン)を表してもよい。通常、クライアント機器108および110は、ネットワーク106を通じてクラウドサーバ102にアクセスすることを容易にするアプリケーションプログラム(またはユーティリティまたはOSプログラム)を含んでいる。ネットワーク106は1つ以上の優先または無線ネットワークから構成されうる。クライアント機器108は例えば、有線接続によってネットワーク106に接続されてよく、クライアント機器110は例えば、無線接続によってネットワーク106に接続されてよい。
【0028】
加えて、クライアント機器108は、メディア管理アプリケーション112のような、クライアント機器108にローカル格納されているデータまたはクラウドストレージ104にリモート格納されているデータのアクセス、提示、および利用を容易にするアプリケーションプログラムを含んでよい。同様に、クライアント機器110は、メディア管理アプリケーション114のような、クライアント機器110にローカル格納されているデータまたはクラウドストレージ104にリモート格納されているデータのアクセス、提示、および利用を容易にするアプリケーションプログラムを含んでよい。
【0029】
さらに、ネットワークベースのデータ管理システム100は、デジタルコンテンツストア116を含むことができる。デジタルコンテンツストア116は、デジタルコンテンツを購入、レンタル、さもなくば取得するための電子商取引を容易にすることができる。例えば、デジタルコンテンツストア116は、購入、レンタル、あるいは利用のために、映画、音楽、オーディオブック、アプリケーション、および/またはゲームといったデジタルコンテンツを提供するデジタルメディアストア(またはオンラインストア)に属するものであってよい。加えて、もしクライアント機器108または110のユーザがデジタルコンテンツストア116からデジタルメディアアイテムを購入するとしたら、そのデジタルメディアアイテムは対応するクライアント機器108および110にダウンロードされるだけでなく、クラウドストレージ104にも提供されてよい。従って、クラウドストレージ104は、購入したデジタルメディアアイテム(少なくとも格納されたコンテンツへのリンク)を、ユーザの、利用について認証済みのクライアント機器のどれでもが、購入したデジタルメディアアイテムにアクセスするために、そのユーザに関連付けられたクラウドストレージ104にアクセスできるように格納することができる。このように、購入されたデジタルメディアアイテムはクラウドストレージ104に直接追加されるため、購入したクライアント機器からアップロードする必要はない。さらに、そのユーザの、認証済みの他のクライアント機器のどれもが、購入したデジタルメディアアイテムをクラウドストレージ104からアクセス(ダウンロードおよび再生を含む)することができる。
【0030】
図2Aは、デジタルアセットのための階層ストレージシステムの状態図である。階層ストレージシステム200は、ローカルストレージ202、キャッシュストレージ204、およびクラウドストレージ206を含んでいる。ローカルストレージ202は、図1に示したクライアント機器108および110のようなクライアント機器に設けられたデータストレージである。キャッシュストレージ204は、将来の使用を見込んで維持される一時的なデータストレージである。通常、キャッシュストレージ204用の一時的なデータストレージは、クライアント機器にも設けられている。例えば、クライアント機器のメモリブロックを、キャッシュストレージ204として割り当て、必要となる可能性の高いデータを格納するように管理することができる。クラウドストレージ206は、クライアント機器から遠くに設けられるが、コンピュータネットワーク(例えばインターネット)を通じてアクセス可能である。クラウドストレージ206は、多くの異なるユーザのために大量のデータストレージを提供可能であり、各ユーザは自分専用の独立したクラウドストレージを持つことができる。
【0031】
デジタルアセットがローカルストレージ202に格納されている限り、クライアント機器で稼動するアプリケーションプログラムはデジタルアセットにローカルアクセスし、利用することができる。例えば、(有線または無線)ネットワークコネクションを必要とすることなく、デジタルアセットをローカルストレージ202から読み出してクライアント機器で再生することができる。
【0032】
しかし、ユーザはクライアント機器でデジタルアセットにアクセス(例えば再生)することを望むかもしれない。だが、そのデジタルアセットはローカルストレージ202やキャッシュストレージ204ではなくクラウドストレージ206に格納されている。この場合、クラウドストレージ206からローカルストレージ202に送信することができるデジタルアセットは、たとえばアクセスセッションの期間、一時的に格納される。実際、この送信はデジタルアセットのストリーミングのように見えるが、用いられる仕組みはデジタルアセットのデータファイルのダウンロードである。例えば、データファイルは、アクセス(例えば再生)されながら、ダウンロードされローカルストレージ202に一時的に格納されてよい。ここで、ストリーミングよりも電力効率をよくすることが可能なネットワーク通信を、データファイル全体のダウンロードに用いる。クライアント機器は一般に可動型の電池駆動機器であるため、電池消費は重要な事項である。さらに、データファイルがダウンロードされるにつれ、データファイルをキャッシュストレージ204にも格納することができる。データファイルは、他のファイルが使われる可能性のほうが高いことにより置換されるまで、キャッシュストレージ204にとどまることができる。例えば、ファストインファストアウト(FIFO)キャッシュポリシ、使用頻度に基づくポリシ(popularity policy)、最後に再生されたものに基づくポリシ(most recently played policy)、あるいは他のポリシを用いることができる。
【0033】
別のシナリオによれば、ユーザはクライアント機器でデジタルアセットへのアクセス(例えば再生)を希望するかもしれないが、そのデジタルアセットがクラウドストレージ206およびキャッシュストレージ204に格納され、ローカルストレージ202には格納されていない。この場合、関連するデータファイルがキャッシュストレージ204に既に存在するので、そのデジタルアセットをクラウドストレージ206からローカルストレージ202に送信する必要はない。代わりに、そのデータファイルがクライアント機器のメモリ装置のどの位置にあるかを調べる。概念的には、これをローカルダウンロードと呼ぶことができる。そして、クライアントのメモリ装置におけるデータファイルの位置を特定し、デジタルアセットの再生に用いることができる。
【0034】
図2Bは、一実施形態に係る例示的なグラフィカルユーザインタフェース250を示している。グラフィカルユーザインタフェース250は、名称(またはタイトル)列254および属性欄256を含んだテーブル252を有している。図2Bに示すように、属性欄256の属性は、継続期間に関する。しかし、デジタルアセットの様々な属性を、同様の方法でさらに、あるいは代わりに表してもよい。名称欄254または他の列を、対応するデジタルアセットがクライアント機器でローカル格納されているかクラウドストレージでリモート格納されているかを視覚的に区別できるようにしてもよい。図2Bに示した実施形態において、対応するデジタルアセットがクラウドストレージでリモート格納されていることを示すために、リモートインジケータ258を表示することができる。したがって、図2Bのテーブル252にはデジタルアセットA,B,Cの3つのデジタルアセットが一覧表示されている。一覧表示された3つのデジタルアセットのうち、デジタルアセットAおよびCはクライアント機器にローカル格納され、デジタルアセットBはクラウドストレージにリモート格納されている。ユーザは、任意のデジタルメディアアセットの再生、ダウンロード、または削除といったユーザアクションを実行するため、通常はグラフィカルユーザインタフェース250を操作することができる。
【0035】
より一般的には、電子機器に付随する表示機器に、(グラフィカルユーザインタフェース250のような)グラフィカルユーザインタフェースを提示することができる。一実施形態において、グラフィカルユーザインタフェースは複数のデジタルアセットのリストと、少なくとも1つの視覚的インジケータを含むことができる。上述の通り、リストは、例えばテーブル(例えばテーブル252)の形式で実施することができ、視覚的インジケータは例えばリモートインジケータ258によって実施することができる。通常、(ユーザアカウントを通じて特定のユーザに関連付けることが可能な)複数のデジタルアセットのうち、少なくとも1つが電子機器にローカル格納され、少なくとも1つがクラウドデータリポジトリにリモート格納される。少なくとも1つの視覚的インジケータは、デジタルアセットが電子機器にローカル格納されているのか、クラウドデータリポジトリにリモート格納されているのかを、電子機器のユーザが区別できるように機能することができる。視覚的インジケータの外観および/または位置は、実装に応じて変化しうる。例えば、図2Bに示すように、デジタルアセットAおよびデジタルアセットCは電子機器にローカル格納され、デジタルアセットBはクラウドデータリポジトリにリモート格納されている。例示的な削除動作において、電子機器からデジタルアセットAを削除するためにユーザが電子機器を操作したとすると、デジタルアセットAは事実上ローカル格納されなくなるが、依然としてクラウドデータリポジトリには存在し、そのことがグラフィカルユーザインタフェース250においてリモートインジケータ258を有することで示されるであろう。
【0036】
一実施例において、グラフィカルユーザインタフェースに示される複数のデジタルアセットのある1つを、少なくとも3つの方法の1つで格納することができる。第1の方法では、複数のデジタルアセットのある1つが、電子機器にローカル格納される。第2の方法では、複数のデジタルアセットのある1つが、クラウドデータリポジトリにリモート格納される(そして、電子機器には格納されない)。第3の方法では、複数のデジタルアセットのある1つが、電子機器にローカルキャッシュされるが、形式上はクラウドデータリポジトリに存在する。視覚的インジケータは、複数のデジタルアセットのある1つが、第1および第2の方法のいずれで格納されているかを視覚的に示すために機能することができる。この実施形態において視覚的インジケータは、第2の方法と第3の方法とを視覚的に区別しない。そのため、電子機器のユーザは、デジタルアセットが電子機器でキャッシュされていることを知らされない。しかし、別の実装では、デジタルアセットが電子機器にキャッシュされているかどうかをユーザに知らせるため、視覚的インジケータが、第2の方法を第3の方法と視覚的に区別してもよい。
【0037】
図3は、一実施形態に係るデータ読み出し再生処理300のフローチャートである。データ読み出し再生処理300は例えば、コンピュータ機器、多機能家庭用電子機器(例えばスマートホン)、あるいは他のクライアント機器のようなデータ再生機器によって実施することができる。
【0038】
データ読み出し再生処理300は、再生コマンドが開始されているかどうかを判定する判定302を含んでもよい。ある実装では、再生コマンドは、データ再生機器によってデジタルアセットを再生することを要求するユーザから受信することができる。例えば、図2Bは、特定のデジタルアセットについての再生コマンドを開始可能なグラフィカルユーザインタフェース250を示している。
【0039】
判定302により、再生コマンドが受信されていないと判定された場合、データ読み出し再生処理300は再生コマンドの受信を待機することができる。一方、判定302により、再生コマンドが受信されていると判定された場合、データ読み出し再生処理300は継続することができる。再生コマンドは、ユーザがデータ再生機器によって再生することを要求しているデジタルアセット(またはアイテム)を特定する。
【0040】
再生コマンドを受信すると、判定304は再生すべきアイテムがデータ再生機器にローカル格納されているかどうかを判定することができる。判定304が、再生すべきアイテムがローカル格納されていると判定した場合、そのアイテムについてのデータはローカルストレージから読み出す306ことができる。例えば、データ再生機器は通常、再生されるべきアイテムについてのデジタルデータ(例えばコンテンツデータ)およびメタデータのような電子データを格納するように機能するローカルストレージをサポートする電子メモリを含んでいる。
【0041】
あるいは、判定304が、再生すべきアイテムがローカル格納されていないと判定した場合、判定308はその再生すべきアイテムがキャッシュストレージに存在するかどうかを調べることができる。キャッシュストレージは通常データ再生機器にも設けられており、データ再生機器で再びアクセスされる可能性の高いデータのための、一時的なデータストレージ(キャッシュメモリ)を提供する。判定308が、再生すべきアイテムがキャッシュストレージに存在すると判定された場合、このアイテムに関するデータはデータ再生機器に設けられたキャッシュストレージから読み出す310ことができる。この場合、再生すべきアイテムに関するデータは形式上ローカルストレージに存在していなかったが、再生すべきアイテムに関するデータはキャッシュストレージから入手可能であった。
【0042】
さらに、判定308が、再生すべきアイテムがキャッシュストレージに存在しないと判定した場合、判定312は再生すべきアイテムがクラウドストレージに格納されているかどうかを調べることができる。判定302が、再生すべきアイテムに関するデータがクラウドストレージから入手可能であると判断した場合、そのアイテムに関するデータはクラウドストレージから読み出す314ことができる。
【0043】
従って、再生すべきアイテムに関するデータは、ローカルストレージ、キャッシュストレージ、およびクラウドストレージのいずれかから読み出すことができる。再生すべきアイテムに関するデータが読み出され(306,310または314)た後、そのアイテム、すなわちデジタルアセットは、再生316することができる。アイテムが再生316された後、データ読み出しおよび再生処理300は終了することができる。再生すべきアイテムに関するデータが何らかの理由によりローカルストレージ、キャッシュストレージ、およびクラウドストレージから入手できない場合、関連するデータが入手不能であるため、データ読み出しおよび再生処理300はアイテムの再生を開始しない。この場合、要求者は再生コマンドが不成功に終わったことを通知されるかもしれないが、やはりデータ読み出しおよび再生処理300は終了することができる。
【0044】
従って、データ読み出しおよび再生処理300は、ローカル、キャッシュ、およびクラウドストレージを用いて階層的データストレージを提供することができる。データは最適なソースから読み出すことができる。そのため、デジタルアセットに関するデータは容易に入手可能であり、そのようなデータがローカルストレージやキャッシュストレージから入手できなければ、データを読み出すためにダウンロードを用いる。つまり、機器の性能が向上し、かつ消費電力が低減する。例えば、データ再生機器がネットワークに無線接続されているが、データがローカルストレージまたはキャッシュストレージから入手できる場合、データをダウンロードするために無線ネットワークインタフェース(例えば無線送受信器)に電源を供給する必要はなく、電力消費および/または帯域幅消費が削減される。
【0045】
図4Aは、一実施形態に係るクラウドデータ読み出し処理400のフローチャートである。一実施形態によれば、クラウドデータ読み出し処理400は例えば、図3のブロック314および316に対応することができる。ここで、デジタルアセット(アイテム)に関するデータは、クラウドストレージから読み出されるべきであるものとする。
【0046】
クラウドデータ読み出し処理400は、アイテム(デジタルアセット)に関するアセット情報をローカルストレージから読み出す402ことができる。上述の通り、ローカルストレージはデータ再生機器が提供するデータストレージであってよい。例えば、ローカルストレージは半導体メモリ(例えばフラッシュメモリ)や、データ再生機器内に設けられたディスクドライブによって提供されてよい。
【0047】
次に、クラウドサーバにダウンロード要求が送信404される。クラウドサーバはクラウドストレージとのやりとりを管理するように機能する。ダウンロード要求がクラウドサーバに送信404された後、判定406は応答が受信されているかどうかを調べることができる。判定406が、ダウンロード要求に対する応答が受信されていないと判定した場合、クラウドデータ読み出し処理400は応答を待機することができる。
【0048】
判定406が、ダウンロード要求に対する応答が受信されていると判定すると、クラウドストレージ内のデジタルアセットのファイル位置が判定408できる。ここで、クラウドサーバからの応答で与えられるアセット情報から、クラウドデータ読み出し処理400はクラウドストレージ内のデジタルアセットのファイル位置を判定408できる。一実施形態において、アセット情報は位置情報を含み、位置情報はクラウドストレージ内のデジタルアセットのファイル位置を含んでもよいし、クラウドストレージ内のデジタルアセットのファイル位置を判定するために用いられてもよい。そして、クラウドストレージからのデジタルアセットのダウンロードを開始410することができる。一実施形態において、クラウドストレージからのデジタルアセットのダウンロードは、クラウドストレージ内のファイル位置に存在するデジタルアセットに関するデータファイルの読み出し要求によって開始410される。デジタルアセットのダウンロードは、デジタルアセットに関するデータをクラウドストレージからローカルストレージにコピーするように機能する。
【0049】
その後、判定412はデジタルアセットに関するデータが受信されているかどうかを調べることができる。判定412が、デジタルアセットに関するデータが受信されていないと判定した場合、判定414はデジタルアセットのダウンロードが完了しているか、中止すべきか(例えば時間切れか)判定することができる。判定414が、デジタルアセットのダウンロードが完了しておらず、かつ中断すべきでないと判定した場合、クラウドデータ読み出し処理400は、デジタルアセットに関するデータファイルの受信を継続もしくは待機できるよう、判定412に戻る。
【0050】
判定412が、デジタルアセットに関するデータ(すなわち、データファイルの少なくとも一部)がクラウドストレージから受信されていると判定すると、データ再生機器で受信データを再生416することができる。同時に、受信されたデータはキャッシュストレージに格納418することができる。通常、キャッシュストレージは記憶容量が限られており、キャッシュストレージに格納されるデータを管理するためにポリシを用いることができる。例えば、キャッシュストレージは、自身のキャッシュデータが有用であり続けるように、FIFOポリシまたは他のポリシを用いることができる。データはデータ再生機器の2つの異なる位置に物理的に格納することもできるが、通常、データはデータ再生機器で物理的に一度格納され、デジタルアセットに関するステータス情報に追従するように、関連するデータベースによってさらに管理される。例えば、ステータス情報は、提供されているストレージの位置、容量、状態、および/またはタイプを含んでよい。
【0051】
ブロック416および418に続き、ローカルストレージ内のアセット情報を更新420することができる。一実施形態において、そのデータ再生機器について、デジタルアセットに関するデータの状態を反映するため、データ再生機器(または他のどこか)に存在する関連するデータベースが更新422されてよい。このステータス情報は、例えば、データの位置、データ量、特定の受信データ、データの状態、および/または提供されているストレージのタイプを含んでよい。ローカルストレージ内のアセット情報が更新420された後、クラウドデータ読み出し処理400は、データの他の部分が再生416および格納418されていても、ダウンロード中のデジタルアセットに関するその後のデータを継続して受信できるよう、ブロック412およびその後のブロックを繰り返すために処理を戻してよい。最終的に、判定414はデジタルアセットのダウンロードが完了した(あるいはダウンロードを中止すべき)と判定し、クラウドデータ読み出し処理400は終了することができる。
【0052】
ここでは、クラウドストレージから取得中であっても、データの最初の部分が受信されればデジタルアセットをすぐに再生することができる。しかし、受信データが暗号化されている場合には、再生416の前に暗号化の解除が必要となることに留意されたい。また、受信データが暗号化されている場合、キャッシュストレージへの受信データの格納は、受信された状態のまま行ってもよいし、暗号化を解除して非暗号化状態としてから行ってもよいし、暗号化を解除したのち格納前に再暗号化してから行ってもよい。
【0053】
データのキャッシュストレージへの格納418は、通常、関連するデジタルアセットについてのデータファイル全体を格納する。その後、同じデジタルアセットを再度再生する場合(例えばリプレイまたはリピート)、キャッシュ内にまだあれば、ダウンロードする必要なくデータを入手可能であるため、有利である。その結果、データがローカルで入手可能なことで再生パフォーマンスが向上するだけでなく、データファイルをダウンロードするための電子機器の電力消費も不要となる(これは、電池駆動型の電子機器において特に有利である)。さらに、データがローカルで入手可能な場合、データをダウンロードするためのネットワーク帯域幅も消費されない。
【0054】
一実施形態において、ある特定のデータアセットに関するデータファイルの受信中、ユーザはそのデジタルアセットの別の部分に再生を進めるかもしれない(例えばスクラブ操作)。そのような場合、一実施形態によれば、その別の場所を取得および再生できるように、ダウンロードも先に進めることができる。しかし、ダウンロードと並行してキャッシュ動作も行われているため、こういった状況ではキャッシュデータが不完全となり得る(例えば、キャッシュデータにギャップが生じる)。そのため、一実施形態では、キャッシュストレージに存在するデジタルアセットの不足部分をダウンロードするため、ネットワーク接続が利用可能な際に、ある処理(例えばユーティリティまたはバックグラウンドプロセス)を用いることができる。
【0055】
図4Bは、一実施形態に係るキャッシュデータ読み出し処理440のフローチャートである。キャッシュデータ読み出し処理440は例えば、図3に示したデータ読み出し再生処理300のブロック310および316の使用方法の一実施形態を示すものである。
【0056】
キャッシュデータ読み出し処理440はまず、再生すべきデジタルアセットに関する、キャッシュストレージ内のデータ位置を読み出す442ことができる。データ再生機器はキャッシュメモリだけでなく、データ再生機器に既知のデジタルアセットに関する位置情報を格納したデータベースも含むことができる。位置情報は、データ位置を含んでもよいし、データ位置を求めるために用いられてもよい。キャッシュストレージ内のデータ位置が読み出される442と、キャッシュストレージ内のデータ位置からデータを読み出す444ことができる。その後、キャッシュストレージから読み出されたデータを用いて、デジタルアセットを再生446することができる。この場合、デジタルアセットに関するデータはローカルで入手可能であるため、データをダウンロードまたはストリーミングする必要がなく、デジタルアセットの再生応答性が高まるだけでなく、データを取得するためのデータ送信(例えば無線通信)が不要であるため電力効率も向上する。
【0057】
図4Cは、一実施形態に係るローカルデータ読み出し処理460のフローチャートである。ローカルデータ読み出し処理460は例えば、図3に示したデータ読み出し再生処理300のブロック310および316の使用方法の一実施形態を示すものである。
【0058】
ローカルデータ読み出し処理460はまず、再生すべきデジタルアセットに関する、ローカルストレージ内のデータ位置を読み出す462ことができる。データ再生機器はローカルメモリだけでなく、データ再生機器に既知のデジタルアセットに関する位置情報を格納したデータベースも含むことができる。位置情報は、データ位置を含んでもよいし、データ位置を求めるために用いられてもよい。ローカルストレージ内のデータ位置が読み出される462と、ローカルストレージ内のデータ位置からデータを読み出す464ことができる。その後、ローカルストレージから読み出されたデータを用いて、デジタルアセットを再生466することができる。この場合、デジタルアセットに関するデータはローカルで入手可能であるため、データをダウンロードまたはストリーミングする必要がなく、データを取得するためのデータ送信(例えば無線通信)が不要であるため電力効率も向上する。
【0059】
図3,4A,4B,および4Cに関して検討した処理において、通常、アイテムまたはデジタルアセットは1つ以上のデータ部分(例えばチャンク)について処理されることを理解されたい。例えば、デジタルアセットのダウンロードおよび/または格納によって完全な電子データファイルが得られてもよいし、単に1以上のデータ部分だけが得られてもよい。アイテムまたはメディアアセットに関するデータの入手可能性は、ファイルベースまたは部分ベースで評価することができる。例えば、所定部分がローカルで入手可能であれば、それらの部分はダウンロードせずに読み出すことができ、ローカルで入手できない他の部分はダウンロードすることができる。
【0060】
所定の実施形態の別の態様は、参加しているクライアント機器にクラウドデータストレージを提供することに関する。クライアント機器において、デジタルアセットはクラウドデータストレージから取得することも、クライアント機器にローカル格納することもできる。クライアント機器でのデジタルアセットのローカルストレージは、パージ可能もしくはパージ不能な方法で格納することができる。パージ可能とは、関連するデジタルアセットがクライアント機器にローカル格納されていても、より「重要な」デジタルアセットのために記憶容量を開放する必要がある場合には除去の対象となることを意味する。パージ処理では、どのデジタルアセットをパージするかを決定するために、最後にダウンロードされたデジタルアセットや、最後に再生されてからの経過時間が最も長いデジタルアセットが最初にパージされると言ったポリシを用いることができる。常に最小数のデジタルアセットがクライアント機器に存在し続けるよう、パージ処理が制限されてもよい。例えば、64GBのストレージを有するクライアント機器についての最小数は1000(オーディオアセット−楽曲トラックに関するものであってよい)とすることができる。別の例として、128GBのストレージを有するクライアント機器では最小数を2000とすることができる。また、当初はパージ可能として格納されたデジタルアセットがパージ不能となることもできる。
【0061】
図5Aは、デジタルアセットのための階層ストレージシステム500の状態図である。階層ストレージシステム500は、ローカルストレージ502、キャッシュストレージ504、およびクラウドストレージ506を含んでいる。ローカルストレージ502は、図1に示したクライアント機器108および110のようなクライアント機器に設けられたデータストレージである。キャッシュストレージ504は、将来の使用を見込んで維持されるデータ(例えばクラウドストレージ506から以前に取得されたデータ)の一時的なデータストレージである。通常、キャッシュストレージ504用の一時的なデータストレージは、クライアント機器にも設けられている。例えば、クライアント機器のメモリブロックを、キャッシュストレージ504として割り当て、以前にクラウドストレージ506から取得された、必要となる可能性の高いデータを格納するように管理することができる。クラウドストレージ506は、クライアント機器から離れた位置に設けられるが、コンピュータネットワーク(例えばインターネット)を通じてアクセス可能である。クラウドストレージ506は、多くの異なるユーザのために大量のデータストレージを提供可能であり、各ユーザは自分専用の独立したクラウドストレージを持つことができる。
【0062】
デジタルアセットがローカルストレージ502に格納されている限り、クライアント機器で稼動するアプリケーションプログラムはデジタルアセットにローカルアクセスし、利用することができる。例えば、(有線または無線)ネットワークコネクションを必要とすることなく、デジタルアセットをローカルストレージ502から読み出してクライアント機器で再生することができる。一実施形態体において、ローカルストレージ502に格納されているデジタルアセットは「パージ不可」と見なされる。それにより、クライアント機器のユーザは、ユーザが除去しない限りそのようなデジタルアセットがクライアント機器に存在するであろうことを確信できる。
【0063】
クライアント機器のユーザがクライアント機器でデジタルアセットにアクセス(例えば再生)を希望した場合、クライアント機器はアクセスすべきそのデジタルアセットがローカルストレージ502に既に存在するかどうかをチェックすることができる。そのデジタルアセットが既にローカルストレージ502存在すると判定された場合、そのデジタルアセットはクライアント機器においてローカルストレージ502用のメモリ内で見つけることができ、再生のためにローカルアクセスすることができる。
【0064】
一方、デジタルアセットがローカルストレージ502に存在していないと判定された場合、クライアント機器はアクセスすべきデジタルアセットがキャッシュストレージ504から入手可能かどうかをチェックすることができる。デジタルアセットがキャッシュストレージ504に存在すると判定された場合、デジタルアセットはクライアント機器においてキャッシュストレージ504用のメモリ内で見つけることができ、再生のために用いることができる。
【0065】
あるいは、デジタルアセットがローカルストレージ502にもキャッシュストレージ504にも存在していないと判定された場合、クライアント機器はデジタルアセットをクラウドストレージ506から取得することができる。より具体的には、アクセス(再生)すべきデジタルアセットがローカルストレージ502からもキャッシュストレージ504からも入手できない場合、デジタルアセットはクラウドストレージ506からキャッシュストレージ504に送信されてよい。ここで、デジタルアセットは、その後パージされる対象としてキャッシュストレージ504に格納される。実際には、この送信はデジタルアセットのストリーミングのように見えるが、用いられる仕組みはデジタルアセットのデータファイルのダウンロード処理である。例えばデータファイルは、アクセス(再生)されながら、ダウンロードされかつキャッシュストレージ504に一時的に格納されてよい。キャッシュストレージ504に格納されるデータファイルは、使用される可能性がより高いと見なされる他のデータによって置換されるまでキャッシュストレージ504に留まることが可能であるため、「パージ可能」と見なすことができる。例えば、ファストインファストアウト(FIFO)キャッシュポリシ、頻度ポリシ、最後に再生されてからの経過時間に基づくポリシ、または他のポリシを用いることができる。ストリーミングよりも電力効率が良好となりうるネットワーク通信を、データファイル全体をダウンロードするために用いることができる。通常、クライアント機器は移動可能な電池駆動型機器であるため、電池電力消費は考慮すべき重要なポイントである。
【0066】
デジタルアセットをクライアント機器でアクセス(例えば再生)しようとする一方で、ユーザはクラウドストレージ506にデジタルアセットのダウンロードを要求するかもしれない。ここで、ユーザが特定のデジタルアセット(またはデジタルアセット群)のダウンロードを要求できるように、グラフィカルユーザインタフェース(GUI)をクライアント機器で提示することができる。ユーザがデジタルアセットのダウンロードを要求した場合、デジタルアセットはクラウドストレージ506から読み出され、クラウドストレージ506からローカルストレージ502に送信されることができる。ここで、ローカルストレージ502に格納されたデータアセットはパージの対象とはならない。しかし、そのデジタルアセットに関してクラウドストレージ506にアクセスする前に、キャッシュストレージ504がそのデジタルアセットを既に格納していないかどうか調べてもよい。キャッシュストレージ504が既にそのデジタルアセットを格納していれば、デジタルアセットをダウンロードする必要はなく、いずれもクライアント機器にあるキャッシュストレージ504からローカルストレージ502に単に移動することができる。キャッシュストレージ504からローカルストレージ502へのデジタルアセットの移動(または再割り当て)は、ダウンロード動作を含まないがローカルダウンロードと呼ぶことができる。
【0067】
さらに、デジタルアセットが電子データファイルとして提供されることを理解されたい。クラウドストレージ506は、所与のデジタルアセットを異なる品質レベルで提供することができる。例えば、クラウドストレージ506は所与のデジタルアセットを高品質フォーマットおよび低品質フォーマットで格納することができる。ある実装において、異なる品質フォーマットは、異なるビットレートに対応してもよい。具体例として、高品質フォーマットは256kb/秒のビットレート(すなわち、高ビットレート)に対応し、低品質フォーマットは64kb/秒のビットレート(すなわち、低ビットレート)に対応することができる。
【0068】
再生要求に応答して、クライアント機器でどの品質レベルを用いるかの判定は、クライアント機器で実行することができる。一実施形態において、クライアント機器は、どの品質レベルをクラウドサーバからクライアント機器に送信(ダウンロードまたはストリーミング)すべきかを判定するため、自身の利用可能なネットワークパフォーマンスを評価する。例えば、クライアント機器は、クライアント機器と、クラウドストレージ506をサポートするクラウドサーバとの間のネットワークリンクの容量の指標として役立つ、自身のネットワークパフォーマンスを評価することができる。セルラ接続(例えば3Gネットワーク)のようにネットワークパフォーマンスが低い場合、クライアント機器は、クラウドストレージ506から入手可能なデジタルアセットについて、低品質フォーマット(例えば64kb/秒のビットレート)を要求ならびに受信すべきであると判定することができる。そして、このデジタルアセットは、クライアント機器に送信され、キャッシュストレージ504に格納されるであろう。この時点で、キャッシュストレージ504は低品質フォーマットのデジタルアセットを格納する。あるいは、LAN接続(例えばWi-Fiネットワーク)のようにネットワークパフォーマンスが高い場合、クライアント機器は、クラウドストレージ506から入手可能なデジタルアセットについて、高品質フォーマット(例えば256kb/秒のビットレート)を要求ならびに受信すべきであると判定することができる。そして、このデジタルアセットは、クライアント機器に送信され、キャッシュストレージ504に格納されるであろう。
【0069】
また、再生要求されているデジタルアセットが、キャッシュストレージ504に既に格納されている低品質フォーマットである場合、キャッシュストレージ504からデータを読み出すことにより、再生要求に応じてただちにデジタルアセットをクライアント機器で再生することができる。しかし、再生要求されているデジタルアセットが、キャッシュストレージ504に格納されていない高品質フォーマットである場合、(キャッシュストレージ504に低品質フォーマットが格納されているかどうかにかかわらず)クライアント機器は高品質フォーマットのデジタルアセットをクラウドストレージ506に要求および受信し、受信した電子データファイルをキャッシュストレージ504に格納することができる。
【0070】
また、ユーザがデジタルアセットのダウンロードを要求した場合、高品質フォーマットのデジタルアセットをローカルストレージ502に配信することが目的となる。高品質フォーマットのデジタルアセットがたまたまキャッシュストレージ504に格納されていれば、ダウンロードは単に電子データファイルをキャッシュストレージ504からローカルストレージ502に移動(または再割り当て)することであってよく、これをローカルダウンロードと呼ぶことができる。しかし、キャッシュストレージ504がデジタルアセットの低品質バージョンしか格納していない場合、クライアント機器はクラウドストレージ506に高品質フォーマットのデジタルアセットのダウンロードを要求する。
【0071】
図5Bは、一実施形態に係るデータ読み出しおよび格納処理550のフローチャートである。データ読み出しおよび格納処理550は例えば、クライアント機器によって実行することができる。クライアント機器はコンピュータ機器、多機能家庭用電子機器(例えばスマートホン)、または他の電子機器に属するものであってよい。クライアント機器は、携帯電話機、ネットブック、タブレットコンピュータ、ノート型コンピュータのような、移動型電子機器であることが多い。
【0072】
データ読み出しおよび格納処理550は、クライアント機器に提供されるべきデジタルアセットを特定552することができる。さらに、電子機器が利用可能なネットワークパフォーマンスを判定554することができる。一例として、ネットワークパフォーマンスは、クライアント機器がリモートクラウドストレージに接続するために用いているネットワーク(例えば無線ネットワーク)の帯域幅またはビットレートであってもよいし、それらから求めてもよい。次に、リモートクラウドストレージに要求すべきデジタルアセットの品質バージョンがネットワークパフォーマンスに基づいて判定556される。デジタルアセットの品質バージョンが判定556された後、デジタルアセットの判定された品質バージョンをリモートクラウドストレージに要求558することができる。そして、判定560は、判定されたデジタルアセットの品質バージョンについての要求に応答して電子ファイルが受信されているかどうかを判定することができる。判定560が、要求に応答して電子ファイルが受信されていないと判定した場合、データ読み出しおよび格納処理550は電子ファイルの受信(または時間切れイベント)を待機することができる。一方、判定560が、要求に応答して電子ファイルが受信されていると判定した場合、受信されている電子ファイルをクライアント機器のデータストレージ内に格納562することができる。電子ファイルがクライアント機器でデータストレージに格納562されるとクライアント機器は、データストレージからその電子ファイル(つまりデジタルアセット)にローカルアクセスして利用(例えば再生)することが可能になる。電子ファイルの格納に続き、データ読み出しおよび格納処理550は終了することができる。
【0073】
図6Aおよび6Bは、一実施形態に係るデータ読み出しおよび再生処理600のフローチャートである。データ読み出しおよび再生処理600は例えば、クライアント機器によって実行することができる。クライアント機器はコンピュータ機器、多機能家庭用電子機器(例えばスマートホン)、または他の電子機器のようなデータ再生機器に属するものであってよい。クライアント機器は、携帯電話機、ネットブック、タブレットコンピュータ、ノート型コンピュータのような、移動型電子機器であることが多い。
【0074】
データ読み出しおよび再生処理600は、再生コマンドが開始されているかどうかを判定する判定602を含むことができる。一実装において、再生コマンドは、データ再生機器によってデジタルアセットを再生することを要求するユーザから受信することができる。例えば、図2Bは、ある特定のデジタルアセットに対する再生コマンドを開始可能なグラフィカルユーザインタフェース250を示している。
【0075】
判定602が、再生コマンドが受信されていないと判定する場合、データ読み出しおよび再生処理600は再生コマンドの受信を待機することができる。一方、判定602が、再生コマンドが受信されていると判定する場合、データ読み出しおよび再生処理600は先に進むことができる。再生コマンドは、データ再生機器再生されるべきものとしてユーザが要求しているデータアセット(またはアイテム)を特定する。
【0076】
再生コマンドを受信すると、判定604は、再生すべきアイテムの高品質(HQ)バージョンがローカル格納されているかどうかを判定することができる。判定604が、再生すべきアイテムのHQバージョンがローカル格納されていると判定した場合、アイテムのHQバージョンに関するデータをローカルストレージ(例えばローカルストレージ502)から読み出す606ことができる。例えば、通常、データ再生機器は再生すべきアイテムに関するデジタルデータ(例えばコンテンツデータ)およびメタデータのような電子データを格納するように機能する不揮発性メモリを有している。
【0077】
あるいは、判定604が、再生すべきアイテムのHQバージョンがローカル格納されていないと判定した場合、判定608は再生すべきアイテムのHQバージョンがキャッシュストレージ(例えばキャッシュストレージ504)に存在するかどうか判定することができる。キャッシュストレージもまた通常データ再生機器に提供されており、データ再生機器で再度アクセスされる可能性の高いデータに対する一時的なデータストレージ(キャッシュメモリ)を提供する。判定608が、再生すべきアイテムのHQバージョンがキャッシュストレージに存在すると判定した場合、このアイテムのHQバージョンに関するデータはデータ再生機器に設けられたキャッシュストレージから読み出す610ことができる。この場合、再生すべきアイテムに関するデータはデータ再生機器のローカルストレージに形式上存在していなかったが、再生すべき(適切な品質レベルの)アイテムに関するデータはキャッシュストレージから入手可能であった。
【0078】
判定608が、再生すべきアイテムのHQバージョンがキャッシュストレージに存在しないと判定した場合、判定612はネットワークパフォーマンスが高いかどうかを判定することができる。クライアント機器は、クラウドストレージおよび/または他のネットワークリソースまたはサービスにアクセスするため、1つ以上のネットワークに接続することができる。ネットワークパフォーマンスは、データをクラウドストレージからクライアント機器に転送するための、これら1つ以上のネットワークの能力を表す。例えば、クライアント機器は、データ転送がキャリアネットワークに依存する無線機器であることが多い。従って、クライアント機器が無線ネットワークに依存する移動型機器であることが多いことを鑑みれば、またネットワーク輻輳により、クライアントが利用可能なネットワーク帯域幅は常に変化しうる。従って、ネットワークパフォーマンスは、ネットワーク上でデータを転送するための比較的近い将来の能力を表すことができる。例えば、クライアント機器が現在LAN(例えばWi-Fiネットワーク)に接続可能であるとすると、そのようなネットワークはそこそこ高いネットワーク帯域幅を有するため、データ転送のためのネットワークパフォーマンスは高いと考えることができる。一方、クライアント機器が現在LANを通じてではなくセルラネットワークのみによってインターネットに接続されている場合、データ転送のためのネットワークパフォーマンスは低いと考えることができる。
【0079】
判定612が、ネットワークパフォーマンスが適切に高いと判定した場合、判定614は再生すべきアイテムのHQバージョンがクラウドストレージに格納されているかどうかを判定することができる。判定614が、再生すべきアイテムのHQバージョンに関するデータがクラウドストレージから入手可能であると判断した場合、そのアイテムのHQバージョンに関するデータはクラウドストレージから読み出す616ことができる。
【0080】
従って、再生すべきアイテムのHQバージョンに関するデータは、ローカルストレージ、キャッシュストレージ、およびクラウドストレージのいずれかから読み出すことができる。再生すべきアイテムのHQバージョンに関するデータが読み出され(606,610または616)た後、そのアイテム、すなわちデジタルアセット、のHQバージョンを再生618することができる。アイテムが再生618された後、データ読み出しおよび再生処理600は終了することができる。
【0081】
一方、判定612が、ネットワークパフォーマンスが低いと判定した場合、あるいは判定614が、再生すべきアイテムのHQバージョンがクラウドストレージに格納されていないと判定した場合、データ読み出しおよび再生処理600は図6Bに示すブロック620から630を実行することができる。具体的には、判定620は再生すべきアイテムのLQバージョンがデータ再生機器でローカル格納されているかどうかを判定することができる。判定620が、再生すべきアイテムのLQバージョンがローカル格納されていると判定した場合、そのアイテムのLQバージョンに関するデータはローカルストレージから読み出す622ことができる。
【0082】
あるいは、判定620が、再生すべきアイテムのLQバージョンがローカル格納されていないと判定した場合、判定624は再生すべきアイテムのLQバージョンがキャッシュストレージ(例えばキャッシュストレージ504)に存在するかどうか判定することができる。キャッシュストレージもまた通常データ再生機器に提供されており、データ再生機器で再度アクセスされる可能性の高いデータに対する一時的なデータストレージ(キャッシュメモリ)を提供する。判定624が、再生すべきアイテムのLQバージョンがキャッシュストレージに存在すると判定した場合、このアイテムのLQバージョンに関するデータはデータ再生機器に設けられたキャッシュストレージから読み出す626ことができる。この場合、再生すべきアイテムに関するデータはデータ再生機器のローカルストレージに形式上存在していなかったが、再生すべき(適切な品質レベルの)アイテムに関するデータはキャッシュストレージから入手可能であった。
【0083】
さらに、判定624が、再生すべきアイテムのLQバージョンがキャッシュストレージに存在しないと判定した場合、判定628は再生すべきアイテムのLQバージョンがクラウドストレージに格納されているかどうかを判定することができる。判定628が、再生すべきアイテムに関するデータがクラウドストレージから入手可能であると判断した場合、そのアイテムに関するデータは(十分なネットワーク帯域幅が利用可能なら)クラウドストレージから読み出す630ことができる。
【0084】
従って、再生すべきアイテムのLQバージョンに関するデータは、ローカルストレージ、キャッシュストレージ、およびクラウドストレージのいずれかから読み出すことができる。再生すべきアイテムのLQバージョンに関するデータが読み出され(622,626,または630)た後、そのアイテム、すなわちデジタルアセット、のLQバージョンを再生618することができる。アイテムが再生618された後、データ読み出しおよび再生処理600は終了することができる。再生すべきアイテムのLQバージョンに関するデータが何らかの理由によりローカルストレージ、キャッシュストレージ、およびクラウドストレージのどれからも入手できない場合、関連するデータが入手不能であるため、データ読み出しおよび再生処理600はアイテムの再生を開始しない。この場合、要求者は再生コマンドが不成功に終わったことを通知されるかもしれないが、やはりデータ読み出しおよび再生処理600は終了することができる。
【0085】
従って、データ読み出しおよび再生処理600は、ローカル、キャッシュ、およびクラウドストレージを用いて階層的データストレージを提供することができる。データは最適なソースから読み出すことができる。所与のデジタルアセットについて、1つ以上のソースから入手可能なデータは異なる品質レベルを有することができる(例えばHQまたはLQバージョン)。そのため、デジタルアセットに関するデータは容易に入手可能であり、そのようなデータがローカルストレージやキャッシュストレージから入手できなければ、データを読み出すためにダウンロードを用いる。デジタルアセットのより低い品質のバージョンは、そのようなデータがローカルで入手できず、またネットワーク帯域幅が比較的低いか間欠的である場合に用いられてよい。つまり、機器の性能が向上し、かつ消費電力が低減する。例えば、データ再生機器がネットワークに無線接続されているが、データがローカルストレージまたはキャッシュストレージから入手できる場合、データをダウンロードするために無線ネットワークインタフェース(例えば無線送受信器)に電源を供給する必要はなく、電力消費および/または帯域消費が削減される。
【0086】
所定の実施形態の他の態様はさらに、異なる品質レベルを有するデジタルアセットのクラウドデータストレージの提供に関する。これらのデジタルアセットは、参加しているクライアント機器が利用できるようにすることができる。クライアント機器において、デジタルアセットはクラウドデータストレージから取得することも、クライアント機器にローカル格納することもできる。しかし、判断基準(例えば利用可能なネットワークビットレート)に応じて、クライアント機器は所望のデジタルアセットの低品質バージョンをまず取得するであろう。この場合、いくらか時間が経過した後、クライアント機器は所望のデジタルアセットの高品質バージョンを取得することができる。実際には、低品質バージョンは通常別個の電子ファイルである高品質バージョンにアップグレードされる。この手法は、利用可能なネットワーク帯域幅を適切に利用し、クライアント機器のユーザの長い待ち時間を回避する。
【0087】
図7は、一実施形態に係る品質アップグレード処理700のフローチャートである。品質アップグレード処理700は、例えばクライアント機器によって実行することができる。クライアント機器はコンピュータ機器、多機能家庭用電子機器(例えばスマートホン)、または他の電子機器に属するものであってよい。クライアント機器は、携帯電話機、ネットブック、タブレットコンピュータ、ノート型コンピュータのような、無線データ転送をサポートする移動型電子機器であることが多い。
【0088】
品質アップグレード処理700は、アップグレードを実行すべきかどうかをまず判定702することができる。ここで、クライアント機器は通常、ユーザが関心を持っているデジタルアセットの低品質バージョンを1つ以上既に格納している。アップグレード動作は、これらのデジタルアセットをそれらの1つ以上の低品質バージョンから高品質バージョンにアップグレードするように機能する。通常、アップグレード動作はインテリジェントな方法で開始される。例えば、高品質バージョンはダウンロードにかなりの帯域幅を必要とするので、アップグレード動作はクライアント機器が所望の十分な帯域幅を提供する高速ネットワークに接続されるまで延期することができる。一具体例として、アップグレード動作は、クライアント機器がLAN(例えばWi-Fiネットワーク)に接続されている際に実行することができる。アップグレード動作のタイミングに関する他の制限事項として、クライアント機器がアイドル状態かどうかを含んでもよい。一実装において、クライアント機器がロックモードにある場合、つまりユーザが所定時間電話機を操作しておらず、機器をアンロックして使用するにはパスワード入力が必要である状態であれば、アイドル状態と見なすことができる。さらなる制限事項には、クライアント機器が電池によって駆動されていることの対義として、クライアント機器が電源に接続されていること(すなわち、コンセントに接続されてAC駆動されていること)を含んでもよい。これは、無線データ転送が相当量の電力を消費しうるからである。以前低品質バージョンが格納され、まだアップグレードされていない特定のデジタルアセットにユーザが再びアクセスしようとした場合には、これらの追加制限事項を撤回してもよい。そのような状況では、クライアント機器がLANに接続されれば(追加制限事項とは無関係に)少なくともその特定のデジタルアセットに関するアップグレード動作を開始することができる。
【0089】
いずれにせよ、判定702がアップグレード動作を実行すべきでないと判定した場合には、品質アップグレード処理700は、アップグレードを実行するために適切な時間待機する。しかし、判定702がアップグレード動作を実行すべきと判断すれば、品質アップグレード処理700を先に進めることができる。この場合、判定704はクライアント機器が利用可能なネットワークパフォーマンスが高いかどうかを判定することができる。ネットワークパフォーマンスが高くないと判定704が判定した場合、品質アップグレード処理700は終了することができる。これは、相当量のデータ転送に対して低いパフォーマンスを提供するネットワークを用いてアップグレードを試行することは概して不効率であり、また問題があるからである。
【0090】
一方、クライアント機器が利用可能なネットワークパフォーマンスが十分に高い(例えばWi-Fiネットワーク)と判定704が判定した場合、クライアント機器で低品質バージョンとしてローカル格納されている1つ以上のデジタルアセットを特定706することができる。これら特定された1以上のデジタルアセットは、クライアント機器でアップグレードすべき、低品質バージョンを有するデジタルアセットを表す。次に、特定された1以上のデジタルアセットの高品質バージョンがリモートクラウドストレージに要求708される。そして、判定710は特定された1以上のデジタルアセットの高品質バージョンの要求に応答して1以上の電子ファイルが受信されているかどうかを判定することができる。1以上の電子ファイルがまだ受信されていないと判定710が判定した場合、品質アップグレード処理700はそのようなファイルの受信(または時間切れ)を待機する。しかし、判定710が1以上の電子ファイルがリモートクラウドストレージから受信されていると判定すれば、その1以上の電子ファイルをクライアント機器でデータストレージに格納712することができる。リモートクラウドストレージから受信した1以上の電子ファイルの格納712に続き、品質アップグレード処理700は終了することができる。
【0091】
図8Aは、一実施形態に係るネットワークベースのデータアップグレードシステム800のブロック図である。ネットワークベースのデータアップグレードシステム800は、例えば、図1に示したネットワークベースのデータ管理システム100の実装の一部を表すことができる。
【0092】
ネットワークベースのデータアップグレードシステム800はクラウドサーバ802を含んでいる。クラウドサーバ802はクラウドストレージ804に接続されている。クラウドストレージ804は、ネットワーク806に接続された大量のデジタルデータストレージを提供する。クラウドストレージ804は、多数の異なるユーザのためのデジタルデータを格納することができる。クラウドストレージ804は多数の異なるユーザ間で共有されるが、ある所定のユーザ用に格納されているデジタルデータは、その所定のユーザによってのみアクセス可能とすることができる。クラウドサーバ802は、クラウドストレージ804によるデータストレージとの間のデータ格納、アクセス、および配信を管理するように機能することができる。
【0093】
クラウドストレージ804は、ユーザに関連付けられたクライアント機器により、クラウドサーバ802を通じてアクセス可能である。例えば、図8に示すように、クライアント機器808は、クラウドストレージ804に格納されたデータにアクセスできるよう、ネットワーク806に接続されてよい。クライアント機器808は、コンピュータ機器のような電子機器を表しうる。例えば、クライアント機器808はパーソナルコンピュータや携帯電話機(例えばスマートホン)を表してもよい。通常、クライアント機器808は、ネットワーク806を通じてクラウドサーバ802にアクセスすることを容易にするアプリケーションプログラム(またはユーティリティまたはOSプログラム)を含むことができる。ネットワーク806は1つ以上の優先または無線ネットワークから構成されうる。クライアント機器808は例えば、有線接続または無線接続によってネットワーク806に接続することができる。しかし、クライアント機器808は通常、無線接続によってネットワークに接続する移動機器である。加えて、クライアント機器808は、メディア管理アプリケーションのような、クライアント機器808にローカル格納されているデータまたはクラウドストレージ804にリモート格納されているデータのアクセス、提示、および利用を容易にするアプリケーションプログラムを含んでよい。
【0094】
図8Aに示す、ネットワークベースのデータアップグレードシステム800は、1つ以上のデジタルアセットのアイドルアップグレード動作をも示している。より具体的には、アイドルアップグレード動作の主な動作が図8Aに示されている。ネットワークベースのデータアップグレードシステム800は、低品質フォーマットでクライアント機器に現在格納されている1以上のデジタルアセットに関する品質アップグレードを実行することができる。図8Aを参照して、アイドルアップグレード動作の一実施形態を以下のように説明することができる。ステップ(1)で、クライアント機器808は、アップグレード動作を起動すべきかどうかを判定することができる。上述の通り、アップグレード動作はクライアント機器808がアイドルである際に、クライアント機器808で実行または開始することができる。一例として、クライアント機器は低消費電力状態(low-power state)またはロック状態にあるとき、アイドルであると見なすことができる。いずれにせよ、ステップ(1)でアップグレード動作を起動すべきであると判定された場合、クライアント機器808はネットワークパフォーマンスのようなネットワーク状況をステップ(2)で評価することができる。ネットワークパフォーマンスの例には、ネットワーク帯域幅やビットレートが含まれる。ネットワークパフォーマンスのようなネットワーク状況が比較的低い場合、アイドルアップグレード動作は終了し、後のタイミングで再検討することができる。ネットワークパフォーマンスのようなネットワーク状況が比較的高い場合、アイドルアップグレード動作を続けることができる。アイドルアップグレード動作が継続する場合、ステップ(3)で、クライアント機器808からクラウドサーバ802に、特定のデジタルアセットの高品質(HQ)バージョンのダウンロード要求が送信される。クラウドサーバ802は、特定のデジタルアセットの高品質(HQ)バージョンの要求を受信した後、かつユーザおよび/またはクライアント機器808の適切な認証後、ステップ(4)で、クラウドストレージ804からデジタルアセットの高品質(HQ)バージョンを探す。そして、ステップ(5)でクラウドサーバ802は、クラウドストレージ804から特定のデジタルアセットの高品質(HQ)バージョンを読み出す。続いてクラウドサーバ802は、特定のデジタルアセットの高品質(HQ)バージョンをクライアント機器808に送信することができる。そして、クライアント機器808はステップ(6)で、特定のデジタルアセットの高品質(HQ)バージョンに関する送信データを受信する。そのような送信データの受信後、クライアント機器808はステップ(7)で、特定のデジタルアセットの高品質(HQ)バージョンに関する受信データをクライアント機器808に格納することができる。必要に応じて、クライアント機器808に以前格納されていた、特定のデジタルアセットの低品質(LQ)バージョンを削除(すなわちパージ)してもよい。ここで説明したアップグレード動作は、特定のデジタルアセットのアップグレードに関するものであったが、デジタルアセットのセットのような、より多くのデジタルアセットを、個別に、あるいは同時にアップグレードすることができる。
【0095】
図8Bは、一実施形態に係るネットワークベースのデータアップグレードシステム820のブロック図である。ネットワークベースのデータアップグレードシステム820は、例えば、図1に示したネットワークベースのデータ管理システム100の実装の一部を表すことができる。ネットワークベースのデータアップグレードシステム820は、図8Aに示したネットワークベースのデータアップグレードシステム800と概して同一の構成を有する。しかし、図8Bに示す、ネットワークベースのデータアップグレードシステム820は、1つ以上のデジタルアセットの次再生アップグレード(next play upgrade)動作を示している。次再生アップグレード動作の主な動作が図8Bに示されている。ネットワークベースのデータアップグレードシステム820は、低品質フォーマットでクライアント機器に現在格納されている1以上のデジタルアセットに関する品質アップグレードを実行することができる。具体的には、クライアント機器(またはそのユーザ)が、クライアント機器808に低品質フォーマットで既に格納されているデジタルアセットの再生を開始した際に、次再生アップグレード動作を実行することができる。図8Bを参照して、次再生アップグレード動作の一実施形態を以下のように説明することができる。ステップ(1)で、クライアント機器808は、アップグレード動作を起動すべきかどうかを判定することができる。ここでは、クライアント機器(またはそのユーザ)が、クライアント機器に低品質フォーマットで既に格納されているデジタルアセットの再生を開始した際に、アップグレード動作をクライアント機器808で実行または開始することができる。いずれにせよ、ステップ(1)でアップグレード動作を起動すべきであると判定された場合、クライアント機器808はネットワークパフォーマンスのようなネットワーク状況をステップ(2)で評価することができる。ネットワークパフォーマンスの例には、ネットワーク帯域幅やビットレートが含まれる。ネットワークパフォーマンスのようなネットワーク状況が比較的低い場合、次再生アップグレード動作は終了し、後のタイミングで再検討することができる。ネットワークパフォーマンスのようなネットワーク状況が比較的高い場合、次再生アップグレード動作を続けることができる。次再生アップグレード動作が継続する場合、ステップ(3)で、クライアント機器808からクラウドサーバ802に、特定のデジタルアセットの高品質(HQ)バージョンのダウンロード要求が送信される。クラウドサーバ802は、特定のデジタルアセットの高品質(HQ)バージョンの要求を受信した後、かつユーザおよび/またはクライアント機器808の適切な認証後、ステップ(4)で、クラウドストレージ804からデジタルアセットの高品質(HQ)バージョンを探す。そして、ステップ(5)でクラウドサーバ802は、クラウドストレージ804から特定のデジタルアセットの高品質(HQ)バージョンを読み出す。続いてクラウドサーバ802は、特定のデジタルアセットの高品質(HQ)バージョンをクライアント機器808に送信することができる。そして、クライアント機器808はステップ(6)で、特定のデジタルアセットの高品質(HQ)バージョンに関する送信データを受信する。そのような送信データの受信後、クライアント機器808はステップ(7)で、特定のデジタルアセットの高品質(HQ)バージョンに関する受信データをクライアント機器808に格納することができるほか、特定のデジタルアセットの高品質(HQ)バージョンの再生を開始することができる。なお、特定のデジタルアセットの高品質(HQ)バージョンの再生は、関連するデータの一部が受信されれば開始することができることに留意されたい。必要に応じて、クライアント機器808に以前格納されていた、特定のデジタルアセットの低品質(LQ)バージョンを削除(すなわちパージ)してもよい。ここで説明したアップグレード動作は、特定のデジタルアセットのアップグレードに関するものであったが、デジタルアセットのセットのような、より多くのデジタルアセットを、個別に、あるいは同時にアップグレードすることができる。
【0096】
図8Bに関して説明した次再生アップグレード動作は、ある特定のデジタルアセットの低品質バージョンを、その特定のデジタルアセットの高品質バージョンにアップグレードするために動作する。しかし、アップグレードは十分な帯域幅のような、適切なネットワーク状況の存在に依存する。ネットワーク評価は再生開始時のようにデジタルアセットごとに実行することができるが、実際のデータ送信(ダウンロード)中のように、ネットワーク評価をより頻繁に実行することもできる。例えば、再生開始時のネットワーク評価が十分なネットワーク帯域幅を示していれば、デジタルアセットの高品質バージョンのデータ送信が開始されるであろう。しかし、クラウドストレージ804からクライアント機器808へのデジタルアセットの送信(またはダウンロード)の最中にネットワーク帯域幅が仮に大幅に悪化した場合、次再生アップグレードは中止または一時停止されるであろう。このような状況において、クライアント機器808でのデジタルアセットの再生は既に開始されているであろう。そして、再生を維持するため、クライアント機器808は、クライアント機器808に既に存在するその特定のデジタルアセットの低品質バージョンの再生に切り替えることができる。その後、ネットワーク状況が再び改善すれば、次再生アップグレード動作を再開し、クライアント機器808に特定のデジタルアセットの高品質バージョンの再生に切り替えることを許可することができる。
【0097】
図8Cは、一実施形態に係るネットワークベースのデータダウングレードシステム840のブロック図である。ネットワークベースのデータダウングレードシステム840は、例えば、図1に示したネットワークベースのデータ管理システム100の実装の一部を表すことができる。ネットワークベースのデータダウングレードシステム840は、図8Aに示したネットワークベースのデータアップグレードシステム800と概して同一の構成を有する。しかし、図8Cに示す、ネットワークベースのデータダウングレードシステム840は、1つ以上のデジタルアセットのダウングレード動作を示している。ダウングレード動作の主な動作が図8Cに示されている。ネットワークベースのデータダウングレードシステム840は、クライアント機器808で現在再生中の1以上のデジタルアセットに対する品質ダウングレードを実行することができる。具体的には、クライアント機器(またはそのユーザ)があるデジタルアセットの高品質(HQ)バージョンのクラウドストレージ804からのダウンロードを開始した際、悪いネットワーク状況によりそのダウンロードが停止する可能性がある。そのような場合、ネットワークベースのデータダウングレードシステム840は、そのデジタルアセットの再生の途絶を緩和するためにダウングレード動作を実行することができる。図8Cを参照して、ダウングレード動作の一実施形態を以下のように説明することができる。ステップ(1)で、クライアント機器808は、ダウングレード動作を起動すべきかどうかを判定することができる。ここでは、悪いネットワークパフォーマンスなどにより、同時再生中のデジタルアセットが停止した際にクライアント機器808でダウングレード動作を実行または開始することができる。また、ダウングレード動作は、バッファされた音声が使い果たされている場合のように、再生が停止しそうな場合など、より早い時期に実施または開始されてもよい。次に、ダウングレード動作は、デジタルアセットのより低い品質のバージョンが、ローカルまたはリモートで入手可能かどうかを判定することができる。デジタルアセットのより低い品質バージョンが、ローカルで入手可能である(すなわち、クライアント機器808に既に格納されている)場合、そのデジタルアセットの、より低い品質のバージョンをローカルで読み出して再生することができる。ここで、デジタルアセットの停止したダウンロードは中止し、その代わりにそのデジタルアセットのより低い品質のバージョンを用いて再生を再開してもよい。あるいは、デジタルアセットの低品質バージョンが、ローカルで入手できない場合、ダウングレード動作はステップ(3)で、特定のデジタルアセットのより低い品質の(LowerQ)バージョンのダウンロード要求をクライアント機器808からクラウドサーバ802に送信させる。例えば、停止したダウンロードが高品質バージョンについてのダウンロードであり、より低い品質のバージョン(LowerQ)が低品質バージョンまたは中品質バージョンであってよい。クラウドサーバ802は、特定のデジタルアセットのより低い品質(LowerQ)のバージョンの要求を受信した後、かつユーザおよび/またはクライアント機器808の適切な認証後、ステップ(4)で、クラウドストレージ804からデジタルアセットのより低い品質(LowerQ)のバージョンを探す。そして、ステップ(5)でクラウドサーバ802は、クラウドストレージ804から特定のデジタルアセットのより低い品質(LowerQ)のバージョンを読み出す。続いてクラウドサーバ802は、特定のデジタルアセットのより低い品質(LowerQ)のバージョンをクライアント機器808に送信することができる。そして、クライアント機器808はステップ(6)で、特定のデジタルアセットのより低い品質(LowerQ)のバージョンに関する送信データを受信する。そのような送信データの受信後、クライアント機器808はステップ(7)で、特定のデジタルアセットのより低い品質(LowerQ)のバージョンに関する受信データをクライアント機器808に格納することができるほか、特定のデジタルアセットのより低い品質(LowerQ)のバージョンの再生を開始することができる。なお、特定のデジタルアセットのより低い品質(LowerQ)のバージョンの再生は、関連するデータの一部が受信されれば開始することができることに留意されたい。ここで説明したアップグレード動作は、特定のデジタルアセットのダウングレードに関するものであったが、デジタルアセットのセットのような、より多くのデジタルアセットを、個別に、あるいは同時にダウングレードすることができる。
【0098】
図8Cに関して上述したように、デジタルアセットのダウンロードおよび再生は同時に行うことができ、ダウンロードが停止すると、デジタルアセットの再生はそのデジタルアセットのより低い品質のバージョンを用いて継続または再開することができる。ダウングレード動作は引き続くデジタルアセットの再生にも影響を与えうることを理解すべきである。すなわち、ネットワークパフォーマンスが第1のデジタルアセットのダウンロードに関して不十分であることが判明していれば、第1のデジタルアセットに続く第2のデジタルアセットの引き続くダウンロードの際、ダウンロードは第2のデジタルアセットのより低い品質のバージョンをまず読み出すように適合することができる。
【0099】
所定の実施形態の他の見地は、ユーザがクライアント機器のローカルストレージの振る舞いを制御することを可能にするグラフィカルユーザインタフェース(GUI)に関する。デジタルアセットの1つまたはグループ(セット)に関連付けられるユーザインタフェース制御を通じて、ユーザはデジタルアセットの1つまたはグループをローカルに存在させ、かつ他のデジタルアセットを格納するための空きを作るための自動パージの対象から外すようにすることができる。
【0100】
図9Aは、一実施形態に係る例示的なグラフィカルユーザインタフェース900を示す図である。グラフィカルユーザインタフェース900は、名称(またはタイトル)欄904および属性欄906を含むリスト(例えばテーブル)902を含んでいる。図9Aに示すように、属性欄906は継続時間に関するものである。しかし、デジタルアセットのさまざまな属性を、これ以外にも、あるいは代わりに同様に示してもよい。名称欄904または追加欄は、対応するデジタルアセットがクライアント機器にローカル格納されているか、クラウドストレージでリモート格納されているかを視覚的に区別することができる。図9Aに示す実施形態では、対応するデジタルアセットがクラウドストレージでリモート格納されていることを示すためにリモートインジケータ908(例えば雲の記号)を表示することができる。従って、図9Aに示すリスト902では、3つのデジタルアセット(すなわちデジタルアセットA,デジタルアセットB,およびデジタルアセットC)が一覧表示されている。一覧表示されている3つのデジタルアセットのうち、デジタルアセットAおよびCはクライアント機器にローカル格納され、デジタルアセットBはクラウドストレージでリモート格納されている。グラフィカルユーザインタフェース900はまた、ユーザが選択または選択解除可能な「ダウンロード継続」コントロール910を含むことができる。図9Aのように「ダウンロード継続」コントロール910が選択解除されていれば、リスト902のデジタルアセットに何の影響も与えない。一般に、ユーザは、任意のデジタルメディアアセットについて、再生、ダウンロード、または削除などのユーザ動作を実行するためにもグラフィカルユーザインタフェース900を操作することができる。「ダウンロード継続」コントロール910の外観および/または配置は、実装に応じて変化しうる。また、代替実施形態では、属性欄906は存在しないか隠されてもよい。
【0101】
図9Bは、一実施形態に係る例示的なグラフィカルユーザインタフェース900’を示す図である。グラフィカルユーザインタフェース900’は「ダウンロード継続」コントロール910が選択された後のグラフィカルユーザインタフェース900を示している。すなわち、「ダウンロード継続」コントロール910が選択されると、リスト902内の1以上のデジタルアセットがローカル格納され、かつローカル格納された状態を維持するようになる。例えば、「ダウンロード継続」コントロール910の選択に続き、デジタルアセットBがグラフィカルユーザインタフェース900を提示しているクライアント機器にダウンロードされるだろう。さらに、リスト内の3つのデジタルアセットはクライアント機器に格納され続け、クライアント機器のストレージからパージされる対象から外されるだろう。
【0102】
これまでの説明から、1以上の実施形態に係る電子機器は、例えばコンピュータ機器(例えばパーソナルコンピュータ)、携帯電話機(例えばセルラ方式の電話機、スマートホン)、携帯情報端末(PDA)、メディアプレーヤ(例えば音楽、映像、ゲーム、画像)、メディアストレージ機器、カメラ、および/または同様の機器でありうることが容易に理解されるであろう。電子機器はまたこれら機器の2つ以上の機能を1つの機器に組み合わせた多機能機器であってもよい。携帯電子機器は様々なタイプのネットワーク通信をサポートしてもよい。
【0103】
携帯電子機器はハンドヘルド電子機器として提供されてもよい。ハンドヘルドとは、一般に、片手で楽に持てる程度に十分小さい大きさを有する電子機器を指す。ハンドヘルド電子機器は片手操作または両手操作を対象としたものであってよい。片手操作では、使用中における機器の支持およびユーザインタフェースを用いた操作の実行の両方を1つの手で行う。両手操作では、使用中、一方の手が機器の支持に用いられ、他方の手がユーザインタフェースの操作を実行するか、使用中、両方の手が機器を支持するとともに操作を実行する。ハンドヘルド電子機器は、ユーザのポケットに入るような大きさとされることもある。ポケットサイズであることにより、ユーザは機器を直接運ぶ必要がないため、機器をユーザが移動するほとんどの場所に持っていくことができる(例えば、ユーザは大きく、かさばり、かつしばしば重い機器によって制約を受けることがない)。
【0104】
デジタルアセットはデジタルメディアアセットであってよい。デジタルメディアアセット(例えばデジタルメディアアイテム)は例えばビデオアイテム(例えばビデオファイルまたは映画)、オーディオアイテム(例えば、歌、音楽アルバム、ポッドキャスト、またはオーディオブックのような音声ファイルまたは音声トラック)、または画像アイテム(例えば写真)に関するものであってよい。デジタルメディアアセットはまた、テキストまたはマルチメディアファイルを含んだり、それらで補足されてもよい。
【0105】
上述した本発明の様々な見地、機能、態様、または実装は、単独で用いられても様々な組み合わせで用いられてもよい。
【0106】
本発明は好ましくはソフトウェア、ハードウェア、またはハードウェアとソフトウェアの組み合わせによって実施される。本発明はまた、コンピュータ可読媒体上のコンピュータ可読コードとして実施されてもよい。コンピュータ可読媒体は一時的なものでなく、コンピュータシステムによって読み取ることが可能なデータを格納可能な任意のデータ記憶装置である。コンピュータ可読媒体の例は一般に、読み出し専用メモリおよびランダムアクセスメモリを含む。コンピュータ可読媒体のより具体的な例は、有形であり(かつ一時的でなく)、フラッシュメモリ、EEPROMメモリ、メモリカード、CD-ROM、DVD、ハードディスクドライブ、磁気テープ、光学データ記憶装置を含む。コンピュータ可読媒体はまた、コンピュータ可読コードが分散的に格納かつ実行されるように、ネットワークに接続されたコンピュータシステムに配信されてもよい。
【0107】
本発明の様々な実施形態の利点は非常に多い。様々な見地、態様、または実装は以下の利点の1つ以上を実現するであろう(ただし、実現は必須事項ではない)。少なくとも一部の実施形態の1つの利点は、デジタルアセットが共通インタフェースからアクセス可能であり、効率的な方法でユーザに提供可能なことである。少なくとも一部の実施形態の別の利点は、デジタルアセットがリモート格納されている場合、必要になるとそれらがストリーミングではなくダウンロードされることで、電力効率の向上を含む、より効率的な動作が実現できることである。少なくとも一部の実施形態のさらに別の利点は、これらのリモート格納された、再生のためにダウンロード済みのアセットをその後の潜在的な利用のためにキャッシュすることができることである。
【0108】
本明細書の説明から、本発明の多くの機能および利点が明らかである。さらに、本技術分野に属する当業者には多くの修正や変更が容易であるため、本発明は図示および説明された構成や動作そのものに限定されるべきではない。従って、全ての好適な修正およびその等価物は、本発明の範囲に含まれる。
【背景技術】
【0001】
オンラインストアおよびオンラインショッピングは近年ますます人気が高くなっている。オンラインストアから様々な商品やサービスを購入するために、デスクトップ型やノート型コンピュータが用いられてきた。オンラインストアはインターネットへのネットワーク接続を介して顧客に様々な異なるアイテムをオンラインストアでブラウズ、検索、および購入することを許すであろう。購入されたアイテムは郵送されたり、別の場所にある店舗で受け取りできるようにされたりすることができる。
【0002】
最近、デジタルアセット(例えば楽曲、映画、コンピュータアプリケーションプログラム)がオンラインストアから購入可能になってきている。また、デジタルアセットは、それを購入するために使われた機器へ直接配信できるようになってきている。そのため、今日、デジタルアセットは自宅から電子機器(例えばデスクトップ型コンピュータ)を通じてオンラインストアから購入でき、デジタルアセットの取得に用いられた電子機器に直ちに配信されうる。つまり、電子機器を通じてオンラインストアからデジタルアセットを購入した後、デジタルアセットは電子機器におけるその後の利用のため、電子機器によって「ダウンロード」されうる。
【0003】
しかし、つい最近ではオンラインストアにアクセスする能力を有する電子機器の数および種類が急激に増加している。今日、オンラインストアにアクセスする能力を有する電子機器(デスクトップ型コンピュータ、ノート型コンピュータ、パッドまたはタブレットコンピュータ(例えばiPad(商標))、スマートフォン、メディアプレーヤ、ゲーム機、テレビなどを含む)を一人が複数所有および/または操作する。加えて、増加の一途をたどる数およびタイプのデジタルアセット(メディア、本、アプリケーションプログラムなどを含む)がオンラインストアで利用可能になっている。その結果、ユーザ、特に様々なデジタルアセットのコレクションを複数の電子機器で維持しているユーザがデジタルアセットの電子機器への配信を管理することを難しくしている。
【発明の概要】
【0004】
クラウドデータストレージに格納されたデジタルアセットを保存、配信、および取得するための改良された方法およびシステムが開示される。クラウドデータストレージは、様々なユーザのためのデジタルデータを格納可能なクラウドデータレポジトリによって提供されてよい。ユーザは、自身が有する認証されたクライアント機器のどれからでも、ネットワークを介してクラウドデータストレージにアクセスすることができる。クライアント機器は、ローカル格納されたデジタルアセットだけでなく、リモート格納されたデジタルアセットもクラウドデータストレージからアクセスできる。一実施形態において、クラウドデータストレージに存在するデジタルアセットのクライアント機器へのダウンロードは、利用可能なネットワークパフォーマンスの観点から管理されてよい。一例として、ネットワークパフォーマンスに応じた方法で、異なる品質レベルのデジタルアセットがダウンロードされてよい。他の例として、ローカル格納された、品質を落とされたデジタルアセットを、ネットワークパフォーマンスに応じた方法で、より高い品質のバージョンでアップグレードする(例えば置き換える)ことができる。
【0005】
この方法およびシステムは、オンラインストアから取得されているデジタルアセット(例えばメディアアセット)を格納、配信、およびアクセスするために好適かつ有用である。この方法およびシステムは、オンラインストア以外から取得されているデジタルアセットを格納、配信、およびアクセスするためにも好適かつ有用である。いずれにせよ、デジタルアセットは電子機器(例えばユーザ機器)を通じてネットワークベースのデジタルデータリポジトリ(例えばクラウドデータリポジトリ)からアクセス可能になり、従ってその電子機器によって利用可能になる。デジタルアセットは、メディアアセットおよび/または非メディアアセットを含んでよい。
【0006】
ある実施形態の1態様は、参加しているクライアント機器にクラウドデータストレージを提供することに関する。クラウドデータストレージは、様々なユーザのためのデジタルデータを格納することが可能なネットワークベースのリポジトリによって提供することができる。ここで用いられているように、ネットワークベースのリポジトリはリモートデータリポジトリまたはクラウドデータリポジトリと呼ぶことができる。クラウドデータストレージに格納されているデジタルデータは、インターネット(またはワールドワイドウェブ)のようなネットワークを通じて個々のユーザが利用できるようにすることができる。ユーザはクラウドデータストレージに、オンライン購入されているデジタルアセット、他の非オンライン手段から取得されたデジタルアセット、および/またはユーザの他の任意のデジタルファイルを格納することができる。クラウドデータストレージを通じたデジタルデータへのアクセスは、認証済みユーザおよびユーザあたり限定数の認証済み機器(クライアント機器)に制限されてもよい。従って、ある特定のユーザは、自身の認証済み機器のどれからでもクラウドデータストレージにアクセスできる。
【0007】
ある実施形態の別の態様は、クラウドデータストレージに存在するデジタルアセットの、クライアント機器へのダウンロードの管理に関する。ある特定のクライアント機器は、ローカル格納されたデジタルアセットに加え、リモート格納されたデジタルアセットにもクラウドデータストレージからアクセス可能である。つまり、リモート格納されたデジタルアセットは、ローカルストレージへのダウンロードや格納されたデジタルアセットの再生などを目的としてクライアント機器によってアクセスされうる。ローカル格納されたデジタルアセットの入手可能性およびリモート格納されたデジタルアセットのクラウドデータストレージからの入手可能性を示すため、クライアント機器にグラフィカルユーザインタフェースを提供してもよい。一実施形態において、グラフィカルユーザインタフェースは、ローカル格納されたデジタルアセットおよびリモート格納されたデジタルアセットの両方が描画される統合表示を提供することができる。一実施形態において、グラフィカルユーザインタフェースはデジタルアセットがローカルに存在するのか、クラウドデータストレージにリモートで存在するのかを示すためのしるしを含んでもよい。ユーザがもしリモートアセットの再生を要求したならば、(既にキャッシュされている場合を除き)データをダウンロードする必要があるだろう。所定のデジタルアセット(例えば、ダウンロード済みのもの)をキャッシュすることにより、形式上はローカル格納していないデジタルアセットでも、キャッシュストレージからローカル入手可能なため、機器のパフォーマンスを向上させることができる。さらに、所定のデジタルアセットをキャッシュすることにより、そのようなデータの再送信を行う必要がないため、(帯域幅消費の節約とともに)節電が可能である(これは、無線リンクを介してクラウドデータストレージに接続するクライアント機器において特に有利である)。加えて、キャッシュされたデジタルアセットを暗号化した形式で格納することにより、クライアント機器は暗号化されない場合に消費されるであろう電力およびリソースを節約することができる。
【0008】
所定の実施形態の別の態様は、参加しているクライアント機器にクラウドデータストレージを提供することに関する。クライアント機器において、デジタルアセットはクラウドデータストレージから取得することも、クライアント機器にローカル格納することもできる。クライアント機器でのデジタルアセットのローカルストレージは、パージ可能もしくはパージ不能な方法で格納することができる。パージ可能とは、関連するデジタルアセットがクライアント機器にローカル格納されていても、より「重要な」デジタルアセットのために記憶容量を開放する必要がある場合には除去の対象となることを意味する。また、当初パージ可能に格納されたデジタルアセットが、パージ不能になってもよい。
【0009】
所定の実施形態の他の態様はさらに、異なる品質レベルを有するデジタルアセットのクラウドデータストレージの提供に関する。これらのデジタルアセットは、参加しているクライアント機器が利用できるようにすることができる。クライアント機器において、デジタルアセットはクラウドデータストレージから取得することも、クライアント機器にローカル格納することもできる。しかし、判断基準に応じて、クライアント機器は所望のデジタルアセットの低品質バージョンをまず取得するであろう。この場合、いくらか時間が経過した後、クライアント機器は所望のデジタルアセットの高品質バージョンを取得することができる。実際には、低品質バージョンは通常別個の電子ファイルである高品質バージョンにアップグレードされている。この手法は、利用可能なネットワーク帯域幅を適切に利用し、クライアント機器のユーザの長い待ち時間を回避する。
【0010】
本発明は方法、システム、機器、(コンピュータが読み取り可能な媒体およびグラフィカルユーザインタフェースを含んだ)装置としての実施を含む、多くの方法で実施することができる。本発明のいくつかの実施形態を、以下に説明する。
【0011】
データストレージ用のメモリを有する電子機器でデジタルアセットを提示するためにデータにアクセスする方法として、一実施形態は例えば少なくとも以下のステップを含むことができる。前記電子機器によって提示されるべきデジタルアセットを特定するステップと、前記電子機器が利用可能なネットワークパフォーマンスを判定するステップと、前記ネットワークパフォーマンスに基づいて、リモートクラウドストレージに要求する前記デジタルアセットの品質バージョンを判定するステップと、前記デジタルアセットの前記判定された品質バージョンを前記リモートクラウドストレージに要求するステップと、前記要求した前記デジタルアセットの前記判定された品質バージョンに関する電子ファイルを前記リモートクラウドストレージから受信するステップと、前記電子ファイルを前記電子機器の前記データストレージに格納するステップ。
【0012】
データストレージ用のローカルメモリを有する電子機器でデジタルアセットを提示するためにデータにアクセスする方法として、別の実施形態は例えば少なくとも以下のステップを含むことができる。前記電子機器によって提示されるべきデジタルアセットの表示を受信するステップと、前記デジタルアセットの高品質バージョンが前記電子機器の前記ローカルメモリからローカル入手可能かどうかを判定するステップと、前記電子機器が利用可能なネットワークパフォーマンスがデジタルアセットのダウンロードに十分かどうかを判定するステップと、クラウドデータリポジトリから前記デジタルアセットの前記高品質バージョンが入手可能かどうかを判定するステップと、前記電子機器が利用可能なネットワークパフォーマンスがデジタルアセットのダウンロードに十分であると判定され、前記デジタルアセットが前記クラウドデータリポジトリから入手可能であるが前記電子機器の前記ローカルメモリからは入手できない場合に、前記デジタルアセットの前記高品質バージョンを前記クラウドデータリポジトリから前記電子機器にダウンロードするステップと、ダウンロードされている前記デジタルアセットの前記高品質バージョンを前記ローカルメモリに格納するステップ。
【0013】
データストレージ用のメモリを有する電子機器でデジタルアセットを提示するためにデータにアクセスするために、少なくともコンピュータプログラムコードが格納された一時的でないコンピュータ可読媒体として、一実施形態は例えば少なくとも以下を含むことができる。前記電子機器によって提示されるべきデジタルアセットを特定するためのコンピュータプログラムコードと、前記電子機器が利用可能なネットワークパフォーマンスを判定するためのコンピュータプログラムコードと、前記ネットワークパフォーマンスに基づいて、リモートクラウドストレージに要求する前記デジタルアセットの品質バージョンを判定するためのコンピュータプログラムコードと、前記デジタルアセットの前記判定された品質バージョンを前記リモートクラウドストレージに要求するためのコンピュータプログラムコードと、前記デジタルアセットの前記要求した前記判定された品質バージョンに関する電子ファイルを前記リモートクラウドストレージから受信するためのコンピュータプログラムコードと、前記電子ファイルを前記電子機器の前記データストレージに格納するためのコンピュータプログラムコード。
【0014】
データストレージ用のローカルメモリを有する電子機器でデジタルアセットを提示するためにデータにアクセスするために、少なくともコンピュータプログラムコードが格納された非一時的なコンピュータ可読媒体として、一実施形態は例えば少なくとも以下を含むことができる。前記電子機器によって提示されるべきデジタルアセットの表示を受信するためのコンピュータプログラムコードと、前記デジタルアセットの高品質バージョンが前記電子機器の前記ローカルメモリからローカル入手可能かどうかを判定するためのコンピュータプログラムコードと、前記電子機器が利用可能なネットワークパフォーマンスがデジタルアセットのダウンロードに十分かどうかを判定するためのコンピュータプログラムコードと、クラウドデータリポジトリから前記デジタルアセットの前記高品質バージョンが入手可能かどうかを判定するためのコンピュータプログラムコードと、前記電子機器が利用可能なネットワークパフォーマンスがデジタルアセットのダウンロードに十分であると判定され、前記デジタルアセットが前記クラウドデータリポジトリから入手可能であるが前記電子機器の前記ローカルメモリからは入手できない場合に、前記デジタルアセットの前記高品質バージョンを前記クラウドデータリポジトリから前記電子機器にダウンロードするためのコンピュータプログラムコードと、ダウンロードされている前記デジタルアセットの前記高品質バージョンを前記ローカルメモリに格納するためのコンピュータプログラムコード。
【0015】
データストレージ用のローカルメモリを有し、ネットワークに接続可能な電子機器でデジタルアセットをアップグレードするための方法として、一実施形態は例えば少なくとも以下のステップを含むことができる。前記ローカルメモリに格納されているデジタルアセットの低品質バージョンをアップグレードすべきかどうかを判定するステップと、前記電子機器が利用可能なネットワークパフォーマンスがデジタルアセットのアップグレードに十分かどうかを判定するステップと、前記電子機器が利用可能な前記ネットワークパフォーマンスがデジタルアセットのアップグレードに十分であると判定された場合に、前記デジタルアセットの高品質バージョンのダウンロードをクラウドサーバに要求するステップと、前記デジタルアセットの前記高品質バージョンを前記クラウドサーバから前記ネットワークを介して前記電子機器で受信するステップと、アップグレードされている前記デジタルアセットの前記高品質バージョンを前記ローカルメモリに格納するステップ。
【0016】
データストレージ用のローカルメモリを有し、ネットワークに接続可能な電子機器でデジタルアセットをアップグレードするために、少なくともコンピュータプログラムコードが格納された非遷移的なコンピュータ可読媒体として、一実施形態は例えば少なくとも以下を含むことができる。前記ローカルメモリに格納されているデジタルアセットの低品質バージョンをアップグレードすべきかどうかを判定するためのコンピュータプログラムコードと、前記電子機器が利用可能なネットワークパフォーマンスがデジタルアセットのアップグレードに十分かどうかを判定するためのコンピュータプログラムコードと、前記電子機器が利用可能な前記ネットワークパフォーマンスがデジタルアセットのアップグレードに十分であると判定された場合に、前記デジタルアセットの高品質バージョンのダウンロードをクラウドサーバに要求するためのコンピュータプログラムコードと、前記デジタルアセットの前記高品質バージョンを前記クラウドサーバから前記ネットワークを介して前記電子機器で受信するためのコンピュータプログラムコードと、アップグレードされている前記デジタルアセットの前記高品質バージョンを前記ローカルメモリに格納するためのコンピュータプログラムコード。
【0017】
電子機器に付随する表示機器に提示されるグラフィカルユーザインタフェースとして、一実施形態は、例えば少なくとも複数のデジタルアセットのリストと、ユーザインタフェースコントロールとを含むことができる。ユーザインタフェースコントロールは、前記リスト内の前記複数のデジタルアセットが前記電子機器にローカル格納され、かつ前記電子機器で維持されるべきかどうかを指示するためのユーザ選択を可能とする。
【0018】
本発明の様々な態様および利点は、以下の詳細な説明を本発明の原理を例示目的で図示する添付図面とともに理解することによって明らかになるであろう。
【図面の簡単な説明】
【0019】
【図1】一実施形態に係るネットワークベースのデータ管理システムのブロック図である。
【図2A】デジタルアセットのための階層ストレージシステムの状態図である。
【図2B】一実施形態に係る例示的なグラフィカルユーザインタフェースを示す図である。
【図3】一実施形態に係るデータ読み出しならびに再生処理のフローチャートである。
【図4A】一実施形態に係るクラウドデータ読み出し処理のフローチャートである。
【図4B】一実施形態に係るキャッシュデータ読み出し処理のフローチャートである。
【図4C】一実施形態に係るローカルデータ読み出し処理のフローチャートである。
【図5A】デジタルアセットのための階層ストレージシステムの状態図である。
【図5B】一実施形態に係るデータ読み出しならびに格納処理のフローチャートである。
【図6A】一実施形態に係るデータ読み出しならびに再生処理のフローチャートである。
【図6B】一実施形態に係るデータ読み出しならびに再生処理のフローチャートである。
【図7】一実施形態に係る品質アップグレード処理のフローチャートである。
【図8A】一実施形態に係るネットワークベースのデータアップグレードシステムのブロック図である。
【図8B】一実施形態に係るネットワークベースのデータアップグレードシステムのブロック図である。
【図8C】一実施形態に係るネットワークベースのデータダウングレードシステムのブロック図である。
【図9A】一実施形態に係る例示的なグラフィカルユーザインタフェースを示す図である。
【図9B】一実施形態に係る例示的なグラフィカルユーザインタフェースを示す図である。
【発明を実施するための形態】
【0020】
同様の参照数字が同様の構成要素を指定する以下の詳細な説明および添付図面から、本発明は容易に理解されるであろう。
【0021】
クラウドデータストレージに格納されたデジタルアセットの格納、配信、および取得のための改良された方法を開示する。クラウドデータストレージは、様々なユーザのためにデジタルデータを格納することが可能なクラウドデータリポジトリによって提供することができる。ある特定のユーザは、自身の認証済み機器のどれからでもクラウドデータストレージにアクセスできる。ある特定のクライアント機器は、ローカル格納されたデジタルアセットに加え、リモート格納されたデジタルアセットにもクラウドデータストレージからアクセス可能である。一実施形態において、クラウドデータストレージに存在するデジタルアセットの、クライアント機器へのダウンロードは、利用可能なネットワークパフォーマンスの観点から管理することができる。一例として、異なる複数の品質レベルのデジタルアセットを、ネットワークパフォーマンスに応じた方法でダウンロードすることができる。別の例として、ローカル格納された品質の落とされたデジタルアセットを、ネットワークパフォーマンスに応じた方法でよりよい品質のバージョンにアップグレード(例えば置換)することができる。
【0022】
この方法およびシステムは、オンラインストアから取得されているデジタルアセット(例えばメディアアセット)を格納、配信、およびアクセスするために好適かつ有用である。この方法およびシステムは、オンラインストア以外から取得されているデジタルアセットを格納、配信、およびアクセスするためにも好適かつ有用である。いずれにせよ、デジタルアセットは電子機器(例えばユーザ機器)を通じてネットワークベースのデジタルデータリポジトリ(例えばクラウドデータリポジトリ)からアクセス可能になり、従ってその電子機器によって利用可能になる。デジタルアセットは、メディアアセットおよび/または非メディアアセットを含んでよい。
【0023】
所定の実施形態の1態様は、参加しているクライアント機器にクラウドデータストレージを提供することに関する。クラウドデータストレージは、様々なユーザのためにデジタルデータを格納することが可能なネットワークベースのリポジトリによって提供することができる。ここで用いられているように、ネットワークベースのリポジトリはリモートデータリポジトリまたはクラウドデータリポジトリと呼ぶことができる。クラウドデータストレージに格納されているデジタルデータは、インターネット(またはワールドワイドウェブ)のようなネットワークを通じて個々のユーザが利用できるようにすることができる。ユーザはクラウドデータストレージに、オンライン購入されているデジタルアセット、他の非オンライン手段から取得されたデジタルアセット、および/またはユーザの他の任意のデジタルファイルを格納することができる。クラウドデータストレージを通じたデジタルデータへのアクセスは、認証済みユーザおよびユーザあたり限定数の認証済み機器(クライアント機器)に制限されてもよい。従って、ある特定のユーザは、自身の認証済み機器のどれからでもクラウドデータストレージにアクセスできる。
【0024】
ある実施形態の別の態様は、クラウドデータストレージに存在するデジタルアセットの、クライアント機器へのダウンロードの管理に関する。ある特定のクライアント機器は、ローカル格納されたデジタルアセットに加え、リモート格納されたデジタルアセットにもクラウドデータストレージからアクセス可能である。つまり、リモート格納されたデジタルアセットは、ローカルストレージへのダウンロードや格納されたデジタルアセットの再生などを目的としてクライアント機器によってアクセスされうる。ローカル格納されたデジタルアセットの入手可能性およびリモート格納されたデジタルアセットのクラウドデータストレージからの入手可能性を示すため、クライアント機器にグラフィカルユーザインタフェースを提供してもよい。一実施形態において、グラフィカルユーザインタフェースは、ローカル格納されたデジタルアセットおよびリモート格納されたデジタルアセットの両方が描画される統合表示を提供することができる。一実施形態において、グラフィカルユーザインタフェースはデジタルアセットがローカルに存在するのか、クラウドデータストレージにリモートに存在するのかを示すためのしるしを含んでもよい。ユーザがもしリモートアセットの再生を要求したならば、(既にキャッシュされている場合を除き)データをダウンロードする必要があるだろう。所定のデジタルアセット(例えば、ダウンロード済みのもの)をキャッシュすることにより、正式にローカルに格納していないデジタルアセットでも、キャッシュストレージからローカル入手可能なため、機器のパフォーマンスを向上させることができる。さらに、所定のデジタルアセットをキャッシュすることにより、そのようなデータの再送信を行う必要がないため、(帯域幅消費の節約とともに)節電が可能である(これは、無線リンクを介してクラウドデータストレージに接続するクライアント機器において特に有利である)。
【0025】
図1は、一実施形態に係るネットワークベースのデータ管理システム100のブロック図である。ネットワークベースのデータ管理システム100は、複数の異なるユーザのためのデータ管理を提供する。ネットワークベースのデータ管理システム100によってリモート格納されているデジタルデータにアクセスするため、様々なユーザが1つ以上のクライアント機器を操作することができる。ネットワークベースのデータ管理システム100はまた、ある特定のユーザに関連付けられた複数のクライアント機器間のデータ同期も管理することができる。さらに、ネットワークベースのデータ管理システム100は、リモートストレージからクライアント機器へのデジタルデータのダウンロードを管理することもできる。
【0026】
ネットワークベースのデータ管理システム100はクラウドサーバ102を含んでいる。クラウドサーバ102はクラウドストレージ104に接続されている。クラウドストレージ104は、ネットワーク106に接続された大量のデジタルデータストレージを提供する。クラウドストレージ104は、多数の異なるユーザのためのデジタルデータを格納することができる。クラウドストレージ104は多数の異なるユーザ間で共有されるが、ある所定のユーザ用に格納されているデジタルデータは、その所定のユーザによってのみアクセス可能とすることができる。クラウドサーバ102は、クラウドストレージ104によるデータストレージとの間における、データの格納、アクセス、および配信を管理するように機能することができる。クラウドストレージ104はまた、クラウドストレージ104を利用するユーザに関するデータの同期を容易にすることができる。
【0027】
クラウドストレージ104は、ユーザに関連付けられたクライアント機器により、クラウドサーバ102を通じてアクセス可能である。例えば、図1に示すように、クライアント機器108およびクライアント機器110は、クラウドストレージ104に格納されたデータにアクセスできるよう、ネットワーク106に接続されてよい。クライアント機器108および110は、コンピュータ機器のような電子機器を表しうる。例えば、クライアント機器108はコンピュータを表し、クライアント110は携帯電話機(例えばスマートホン)を表してもよい。通常、クライアント機器108および110は、ネットワーク106を通じてクラウドサーバ102にアクセスすることを容易にするアプリケーションプログラム(またはユーティリティまたはOSプログラム)を含んでいる。ネットワーク106は1つ以上の優先または無線ネットワークから構成されうる。クライアント機器108は例えば、有線接続によってネットワーク106に接続されてよく、クライアント機器110は例えば、無線接続によってネットワーク106に接続されてよい。
【0028】
加えて、クライアント機器108は、メディア管理アプリケーション112のような、クライアント機器108にローカル格納されているデータまたはクラウドストレージ104にリモート格納されているデータのアクセス、提示、および利用を容易にするアプリケーションプログラムを含んでよい。同様に、クライアント機器110は、メディア管理アプリケーション114のような、クライアント機器110にローカル格納されているデータまたはクラウドストレージ104にリモート格納されているデータのアクセス、提示、および利用を容易にするアプリケーションプログラムを含んでよい。
【0029】
さらに、ネットワークベースのデータ管理システム100は、デジタルコンテンツストア116を含むことができる。デジタルコンテンツストア116は、デジタルコンテンツを購入、レンタル、さもなくば取得するための電子商取引を容易にすることができる。例えば、デジタルコンテンツストア116は、購入、レンタル、あるいは利用のために、映画、音楽、オーディオブック、アプリケーション、および/またはゲームといったデジタルコンテンツを提供するデジタルメディアストア(またはオンラインストア)に属するものであってよい。加えて、もしクライアント機器108または110のユーザがデジタルコンテンツストア116からデジタルメディアアイテムを購入するとしたら、そのデジタルメディアアイテムは対応するクライアント機器108および110にダウンロードされるだけでなく、クラウドストレージ104にも提供されてよい。従って、クラウドストレージ104は、購入したデジタルメディアアイテム(少なくとも格納されたコンテンツへのリンク)を、ユーザの、利用について認証済みのクライアント機器のどれでもが、購入したデジタルメディアアイテムにアクセスするために、そのユーザに関連付けられたクラウドストレージ104にアクセスできるように格納することができる。このように、購入されたデジタルメディアアイテムはクラウドストレージ104に直接追加されるため、購入したクライアント機器からアップロードする必要はない。さらに、そのユーザの、認証済みの他のクライアント機器のどれもが、購入したデジタルメディアアイテムをクラウドストレージ104からアクセス(ダウンロードおよび再生を含む)することができる。
【0030】
図2Aは、デジタルアセットのための階層ストレージシステムの状態図である。階層ストレージシステム200は、ローカルストレージ202、キャッシュストレージ204、およびクラウドストレージ206を含んでいる。ローカルストレージ202は、図1に示したクライアント機器108および110のようなクライアント機器に設けられたデータストレージである。キャッシュストレージ204は、将来の使用を見込んで維持される一時的なデータストレージである。通常、キャッシュストレージ204用の一時的なデータストレージは、クライアント機器にも設けられている。例えば、クライアント機器のメモリブロックを、キャッシュストレージ204として割り当て、必要となる可能性の高いデータを格納するように管理することができる。クラウドストレージ206は、クライアント機器から遠くに設けられるが、コンピュータネットワーク(例えばインターネット)を通じてアクセス可能である。クラウドストレージ206は、多くの異なるユーザのために大量のデータストレージを提供可能であり、各ユーザは自分専用の独立したクラウドストレージを持つことができる。
【0031】
デジタルアセットがローカルストレージ202に格納されている限り、クライアント機器で稼動するアプリケーションプログラムはデジタルアセットにローカルアクセスし、利用することができる。例えば、(有線または無線)ネットワークコネクションを必要とすることなく、デジタルアセットをローカルストレージ202から読み出してクライアント機器で再生することができる。
【0032】
しかし、ユーザはクライアント機器でデジタルアセットにアクセス(例えば再生)することを望むかもしれない。だが、そのデジタルアセットはローカルストレージ202やキャッシュストレージ204ではなくクラウドストレージ206に格納されている。この場合、クラウドストレージ206からローカルストレージ202に送信することができるデジタルアセットは、たとえばアクセスセッションの期間、一時的に格納される。実際、この送信はデジタルアセットのストリーミングのように見えるが、用いられる仕組みはデジタルアセットのデータファイルのダウンロードである。例えば、データファイルは、アクセス(例えば再生)されながら、ダウンロードされローカルストレージ202に一時的に格納されてよい。ここで、ストリーミングよりも電力効率をよくすることが可能なネットワーク通信を、データファイル全体のダウンロードに用いる。クライアント機器は一般に可動型の電池駆動機器であるため、電池消費は重要な事項である。さらに、データファイルがダウンロードされるにつれ、データファイルをキャッシュストレージ204にも格納することができる。データファイルは、他のファイルが使われる可能性のほうが高いことにより置換されるまで、キャッシュストレージ204にとどまることができる。例えば、ファストインファストアウト(FIFO)キャッシュポリシ、使用頻度に基づくポリシ(popularity policy)、最後に再生されたものに基づくポリシ(most recently played policy)、あるいは他のポリシを用いることができる。
【0033】
別のシナリオによれば、ユーザはクライアント機器でデジタルアセットへのアクセス(例えば再生)を希望するかもしれないが、そのデジタルアセットがクラウドストレージ206およびキャッシュストレージ204に格納され、ローカルストレージ202には格納されていない。この場合、関連するデータファイルがキャッシュストレージ204に既に存在するので、そのデジタルアセットをクラウドストレージ206からローカルストレージ202に送信する必要はない。代わりに、そのデータファイルがクライアント機器のメモリ装置のどの位置にあるかを調べる。概念的には、これをローカルダウンロードと呼ぶことができる。そして、クライアントのメモリ装置におけるデータファイルの位置を特定し、デジタルアセットの再生に用いることができる。
【0034】
図2Bは、一実施形態に係る例示的なグラフィカルユーザインタフェース250を示している。グラフィカルユーザインタフェース250は、名称(またはタイトル)列254および属性欄256を含んだテーブル252を有している。図2Bに示すように、属性欄256の属性は、継続期間に関する。しかし、デジタルアセットの様々な属性を、同様の方法でさらに、あるいは代わりに表してもよい。名称欄254または他の列を、対応するデジタルアセットがクライアント機器でローカル格納されているかクラウドストレージでリモート格納されているかを視覚的に区別できるようにしてもよい。図2Bに示した実施形態において、対応するデジタルアセットがクラウドストレージでリモート格納されていることを示すために、リモートインジケータ258を表示することができる。したがって、図2Bのテーブル252にはデジタルアセットA,B,Cの3つのデジタルアセットが一覧表示されている。一覧表示された3つのデジタルアセットのうち、デジタルアセットAおよびCはクライアント機器にローカル格納され、デジタルアセットBはクラウドストレージにリモート格納されている。ユーザは、任意のデジタルメディアアセットの再生、ダウンロード、または削除といったユーザアクションを実行するため、通常はグラフィカルユーザインタフェース250を操作することができる。
【0035】
より一般的には、電子機器に付随する表示機器に、(グラフィカルユーザインタフェース250のような)グラフィカルユーザインタフェースを提示することができる。一実施形態において、グラフィカルユーザインタフェースは複数のデジタルアセットのリストと、少なくとも1つの視覚的インジケータを含むことができる。上述の通り、リストは、例えばテーブル(例えばテーブル252)の形式で実施することができ、視覚的インジケータは例えばリモートインジケータ258によって実施することができる。通常、(ユーザアカウントを通じて特定のユーザに関連付けることが可能な)複数のデジタルアセットのうち、少なくとも1つが電子機器にローカル格納され、少なくとも1つがクラウドデータリポジトリにリモート格納される。少なくとも1つの視覚的インジケータは、デジタルアセットが電子機器にローカル格納されているのか、クラウドデータリポジトリにリモート格納されているのかを、電子機器のユーザが区別できるように機能することができる。視覚的インジケータの外観および/または位置は、実装に応じて変化しうる。例えば、図2Bに示すように、デジタルアセットAおよびデジタルアセットCは電子機器にローカル格納され、デジタルアセットBはクラウドデータリポジトリにリモート格納されている。例示的な削除動作において、電子機器からデジタルアセットAを削除するためにユーザが電子機器を操作したとすると、デジタルアセットAは事実上ローカル格納されなくなるが、依然としてクラウドデータリポジトリには存在し、そのことがグラフィカルユーザインタフェース250においてリモートインジケータ258を有することで示されるであろう。
【0036】
一実施例において、グラフィカルユーザインタフェースに示される複数のデジタルアセットのある1つを、少なくとも3つの方法の1つで格納することができる。第1の方法では、複数のデジタルアセットのある1つが、電子機器にローカル格納される。第2の方法では、複数のデジタルアセットのある1つが、クラウドデータリポジトリにリモート格納される(そして、電子機器には格納されない)。第3の方法では、複数のデジタルアセットのある1つが、電子機器にローカルキャッシュされるが、形式上はクラウドデータリポジトリに存在する。視覚的インジケータは、複数のデジタルアセットのある1つが、第1および第2の方法のいずれで格納されているかを視覚的に示すために機能することができる。この実施形態において視覚的インジケータは、第2の方法と第3の方法とを視覚的に区別しない。そのため、電子機器のユーザは、デジタルアセットが電子機器でキャッシュされていることを知らされない。しかし、別の実装では、デジタルアセットが電子機器にキャッシュされているかどうかをユーザに知らせるため、視覚的インジケータが、第2の方法を第3の方法と視覚的に区別してもよい。
【0037】
図3は、一実施形態に係るデータ読み出し再生処理300のフローチャートである。データ読み出し再生処理300は例えば、コンピュータ機器、多機能家庭用電子機器(例えばスマートホン)、あるいは他のクライアント機器のようなデータ再生機器によって実施することができる。
【0038】
データ読み出し再生処理300は、再生コマンドが開始されているかどうかを判定する判定302を含んでもよい。ある実装では、再生コマンドは、データ再生機器によってデジタルアセットを再生することを要求するユーザから受信することができる。例えば、図2Bは、特定のデジタルアセットについての再生コマンドを開始可能なグラフィカルユーザインタフェース250を示している。
【0039】
判定302により、再生コマンドが受信されていないと判定された場合、データ読み出し再生処理300は再生コマンドの受信を待機することができる。一方、判定302により、再生コマンドが受信されていると判定された場合、データ読み出し再生処理300は継続することができる。再生コマンドは、ユーザがデータ再生機器によって再生することを要求しているデジタルアセット(またはアイテム)を特定する。
【0040】
再生コマンドを受信すると、判定304は再生すべきアイテムがデータ再生機器にローカル格納されているかどうかを判定することができる。判定304が、再生すべきアイテムがローカル格納されていると判定した場合、そのアイテムについてのデータはローカルストレージから読み出す306ことができる。例えば、データ再生機器は通常、再生されるべきアイテムについてのデジタルデータ(例えばコンテンツデータ)およびメタデータのような電子データを格納するように機能するローカルストレージをサポートする電子メモリを含んでいる。
【0041】
あるいは、判定304が、再生すべきアイテムがローカル格納されていないと判定した場合、判定308はその再生すべきアイテムがキャッシュストレージに存在するかどうかを調べることができる。キャッシュストレージは通常データ再生機器にも設けられており、データ再生機器で再びアクセスされる可能性の高いデータのための、一時的なデータストレージ(キャッシュメモリ)を提供する。判定308が、再生すべきアイテムがキャッシュストレージに存在すると判定された場合、このアイテムに関するデータはデータ再生機器に設けられたキャッシュストレージから読み出す310ことができる。この場合、再生すべきアイテムに関するデータは形式上ローカルストレージに存在していなかったが、再生すべきアイテムに関するデータはキャッシュストレージから入手可能であった。
【0042】
さらに、判定308が、再生すべきアイテムがキャッシュストレージに存在しないと判定した場合、判定312は再生すべきアイテムがクラウドストレージに格納されているかどうかを調べることができる。判定302が、再生すべきアイテムに関するデータがクラウドストレージから入手可能であると判断した場合、そのアイテムに関するデータはクラウドストレージから読み出す314ことができる。
【0043】
従って、再生すべきアイテムに関するデータは、ローカルストレージ、キャッシュストレージ、およびクラウドストレージのいずれかから読み出すことができる。再生すべきアイテムに関するデータが読み出され(306,310または314)た後、そのアイテム、すなわちデジタルアセットは、再生316することができる。アイテムが再生316された後、データ読み出しおよび再生処理300は終了することができる。再生すべきアイテムに関するデータが何らかの理由によりローカルストレージ、キャッシュストレージ、およびクラウドストレージから入手できない場合、関連するデータが入手不能であるため、データ読み出しおよび再生処理300はアイテムの再生を開始しない。この場合、要求者は再生コマンドが不成功に終わったことを通知されるかもしれないが、やはりデータ読み出しおよび再生処理300は終了することができる。
【0044】
従って、データ読み出しおよび再生処理300は、ローカル、キャッシュ、およびクラウドストレージを用いて階層的データストレージを提供することができる。データは最適なソースから読み出すことができる。そのため、デジタルアセットに関するデータは容易に入手可能であり、そのようなデータがローカルストレージやキャッシュストレージから入手できなければ、データを読み出すためにダウンロードを用いる。つまり、機器の性能が向上し、かつ消費電力が低減する。例えば、データ再生機器がネットワークに無線接続されているが、データがローカルストレージまたはキャッシュストレージから入手できる場合、データをダウンロードするために無線ネットワークインタフェース(例えば無線送受信器)に電源を供給する必要はなく、電力消費および/または帯域幅消費が削減される。
【0045】
図4Aは、一実施形態に係るクラウドデータ読み出し処理400のフローチャートである。一実施形態によれば、クラウドデータ読み出し処理400は例えば、図3のブロック314および316に対応することができる。ここで、デジタルアセット(アイテム)に関するデータは、クラウドストレージから読み出されるべきであるものとする。
【0046】
クラウドデータ読み出し処理400は、アイテム(デジタルアセット)に関するアセット情報をローカルストレージから読み出す402ことができる。上述の通り、ローカルストレージはデータ再生機器が提供するデータストレージであってよい。例えば、ローカルストレージは半導体メモリ(例えばフラッシュメモリ)や、データ再生機器内に設けられたディスクドライブによって提供されてよい。
【0047】
次に、クラウドサーバにダウンロード要求が送信404される。クラウドサーバはクラウドストレージとのやりとりを管理するように機能する。ダウンロード要求がクラウドサーバに送信404された後、判定406は応答が受信されているかどうかを調べることができる。判定406が、ダウンロード要求に対する応答が受信されていないと判定した場合、クラウドデータ読み出し処理400は応答を待機することができる。
【0048】
判定406が、ダウンロード要求に対する応答が受信されていると判定すると、クラウドストレージ内のデジタルアセットのファイル位置が判定408できる。ここで、クラウドサーバからの応答で与えられるアセット情報から、クラウドデータ読み出し処理400はクラウドストレージ内のデジタルアセットのファイル位置を判定408できる。一実施形態において、アセット情報は位置情報を含み、位置情報はクラウドストレージ内のデジタルアセットのファイル位置を含んでもよいし、クラウドストレージ内のデジタルアセットのファイル位置を判定するために用いられてもよい。そして、クラウドストレージからのデジタルアセットのダウンロードを開始410することができる。一実施形態において、クラウドストレージからのデジタルアセットのダウンロードは、クラウドストレージ内のファイル位置に存在するデジタルアセットに関するデータファイルの読み出し要求によって開始410される。デジタルアセットのダウンロードは、デジタルアセットに関するデータをクラウドストレージからローカルストレージにコピーするように機能する。
【0049】
その後、判定412はデジタルアセットに関するデータが受信されているかどうかを調べることができる。判定412が、デジタルアセットに関するデータが受信されていないと判定した場合、判定414はデジタルアセットのダウンロードが完了しているか、中止すべきか(例えば時間切れか)判定することができる。判定414が、デジタルアセットのダウンロードが完了しておらず、かつ中断すべきでないと判定した場合、クラウドデータ読み出し処理400は、デジタルアセットに関するデータファイルの受信を継続もしくは待機できるよう、判定412に戻る。
【0050】
判定412が、デジタルアセットに関するデータ(すなわち、データファイルの少なくとも一部)がクラウドストレージから受信されていると判定すると、データ再生機器で受信データを再生416することができる。同時に、受信されたデータはキャッシュストレージに格納418することができる。通常、キャッシュストレージは記憶容量が限られており、キャッシュストレージに格納されるデータを管理するためにポリシを用いることができる。例えば、キャッシュストレージは、自身のキャッシュデータが有用であり続けるように、FIFOポリシまたは他のポリシを用いることができる。データはデータ再生機器の2つの異なる位置に物理的に格納することもできるが、通常、データはデータ再生機器で物理的に一度格納され、デジタルアセットに関するステータス情報に追従するように、関連するデータベースによってさらに管理される。例えば、ステータス情報は、提供されているストレージの位置、容量、状態、および/またはタイプを含んでよい。
【0051】
ブロック416および418に続き、ローカルストレージ内のアセット情報を更新420することができる。一実施形態において、そのデータ再生機器について、デジタルアセットに関するデータの状態を反映するため、データ再生機器(または他のどこか)に存在する関連するデータベースが更新422されてよい。このステータス情報は、例えば、データの位置、データ量、特定の受信データ、データの状態、および/または提供されているストレージのタイプを含んでよい。ローカルストレージ内のアセット情報が更新420された後、クラウドデータ読み出し処理400は、データの他の部分が再生416および格納418されていても、ダウンロード中のデジタルアセットに関するその後のデータを継続して受信できるよう、ブロック412およびその後のブロックを繰り返すために処理を戻してよい。最終的に、判定414はデジタルアセットのダウンロードが完了した(あるいはダウンロードを中止すべき)と判定し、クラウドデータ読み出し処理400は終了することができる。
【0052】
ここでは、クラウドストレージから取得中であっても、データの最初の部分が受信されればデジタルアセットをすぐに再生することができる。しかし、受信データが暗号化されている場合には、再生416の前に暗号化の解除が必要となることに留意されたい。また、受信データが暗号化されている場合、キャッシュストレージへの受信データの格納は、受信された状態のまま行ってもよいし、暗号化を解除して非暗号化状態としてから行ってもよいし、暗号化を解除したのち格納前に再暗号化してから行ってもよい。
【0053】
データのキャッシュストレージへの格納418は、通常、関連するデジタルアセットについてのデータファイル全体を格納する。その後、同じデジタルアセットを再度再生する場合(例えばリプレイまたはリピート)、キャッシュ内にまだあれば、ダウンロードする必要なくデータを入手可能であるため、有利である。その結果、データがローカルで入手可能なことで再生パフォーマンスが向上するだけでなく、データファイルをダウンロードするための電子機器の電力消費も不要となる(これは、電池駆動型の電子機器において特に有利である)。さらに、データがローカルで入手可能な場合、データをダウンロードするためのネットワーク帯域幅も消費されない。
【0054】
一実施形態において、ある特定のデータアセットに関するデータファイルの受信中、ユーザはそのデジタルアセットの別の部分に再生を進めるかもしれない(例えばスクラブ操作)。そのような場合、一実施形態によれば、その別の場所を取得および再生できるように、ダウンロードも先に進めることができる。しかし、ダウンロードと並行してキャッシュ動作も行われているため、こういった状況ではキャッシュデータが不完全となり得る(例えば、キャッシュデータにギャップが生じる)。そのため、一実施形態では、キャッシュストレージに存在するデジタルアセットの不足部分をダウンロードするため、ネットワーク接続が利用可能な際に、ある処理(例えばユーティリティまたはバックグラウンドプロセス)を用いることができる。
【0055】
図4Bは、一実施形態に係るキャッシュデータ読み出し処理440のフローチャートである。キャッシュデータ読み出し処理440は例えば、図3に示したデータ読み出し再生処理300のブロック310および316の使用方法の一実施形態を示すものである。
【0056】
キャッシュデータ読み出し処理440はまず、再生すべきデジタルアセットに関する、キャッシュストレージ内のデータ位置を読み出す442ことができる。データ再生機器はキャッシュメモリだけでなく、データ再生機器に既知のデジタルアセットに関する位置情報を格納したデータベースも含むことができる。位置情報は、データ位置を含んでもよいし、データ位置を求めるために用いられてもよい。キャッシュストレージ内のデータ位置が読み出される442と、キャッシュストレージ内のデータ位置からデータを読み出す444ことができる。その後、キャッシュストレージから読み出されたデータを用いて、デジタルアセットを再生446することができる。この場合、デジタルアセットに関するデータはローカルで入手可能であるため、データをダウンロードまたはストリーミングする必要がなく、デジタルアセットの再生応答性が高まるだけでなく、データを取得するためのデータ送信(例えば無線通信)が不要であるため電力効率も向上する。
【0057】
図4Cは、一実施形態に係るローカルデータ読み出し処理460のフローチャートである。ローカルデータ読み出し処理460は例えば、図3に示したデータ読み出し再生処理300のブロック310および316の使用方法の一実施形態を示すものである。
【0058】
ローカルデータ読み出し処理460はまず、再生すべきデジタルアセットに関する、ローカルストレージ内のデータ位置を読み出す462ことができる。データ再生機器はローカルメモリだけでなく、データ再生機器に既知のデジタルアセットに関する位置情報を格納したデータベースも含むことができる。位置情報は、データ位置を含んでもよいし、データ位置を求めるために用いられてもよい。ローカルストレージ内のデータ位置が読み出される462と、ローカルストレージ内のデータ位置からデータを読み出す464ことができる。その後、ローカルストレージから読み出されたデータを用いて、デジタルアセットを再生466することができる。この場合、デジタルアセットに関するデータはローカルで入手可能であるため、データをダウンロードまたはストリーミングする必要がなく、データを取得するためのデータ送信(例えば無線通信)が不要であるため電力効率も向上する。
【0059】
図3,4A,4B,および4Cに関して検討した処理において、通常、アイテムまたはデジタルアセットは1つ以上のデータ部分(例えばチャンク)について処理されることを理解されたい。例えば、デジタルアセットのダウンロードおよび/または格納によって完全な電子データファイルが得られてもよいし、単に1以上のデータ部分だけが得られてもよい。アイテムまたはメディアアセットに関するデータの入手可能性は、ファイルベースまたは部分ベースで評価することができる。例えば、所定部分がローカルで入手可能であれば、それらの部分はダウンロードせずに読み出すことができ、ローカルで入手できない他の部分はダウンロードすることができる。
【0060】
所定の実施形態の別の態様は、参加しているクライアント機器にクラウドデータストレージを提供することに関する。クライアント機器において、デジタルアセットはクラウドデータストレージから取得することも、クライアント機器にローカル格納することもできる。クライアント機器でのデジタルアセットのローカルストレージは、パージ可能もしくはパージ不能な方法で格納することができる。パージ可能とは、関連するデジタルアセットがクライアント機器にローカル格納されていても、より「重要な」デジタルアセットのために記憶容量を開放する必要がある場合には除去の対象となることを意味する。パージ処理では、どのデジタルアセットをパージするかを決定するために、最後にダウンロードされたデジタルアセットや、最後に再生されてからの経過時間が最も長いデジタルアセットが最初にパージされると言ったポリシを用いることができる。常に最小数のデジタルアセットがクライアント機器に存在し続けるよう、パージ処理が制限されてもよい。例えば、64GBのストレージを有するクライアント機器についての最小数は1000(オーディオアセット−楽曲トラックに関するものであってよい)とすることができる。別の例として、128GBのストレージを有するクライアント機器では最小数を2000とすることができる。また、当初はパージ可能として格納されたデジタルアセットがパージ不能となることもできる。
【0061】
図5Aは、デジタルアセットのための階層ストレージシステム500の状態図である。階層ストレージシステム500は、ローカルストレージ502、キャッシュストレージ504、およびクラウドストレージ506を含んでいる。ローカルストレージ502は、図1に示したクライアント機器108および110のようなクライアント機器に設けられたデータストレージである。キャッシュストレージ504は、将来の使用を見込んで維持されるデータ(例えばクラウドストレージ506から以前に取得されたデータ)の一時的なデータストレージである。通常、キャッシュストレージ504用の一時的なデータストレージは、クライアント機器にも設けられている。例えば、クライアント機器のメモリブロックを、キャッシュストレージ504として割り当て、以前にクラウドストレージ506から取得された、必要となる可能性の高いデータを格納するように管理することができる。クラウドストレージ506は、クライアント機器から離れた位置に設けられるが、コンピュータネットワーク(例えばインターネット)を通じてアクセス可能である。クラウドストレージ506は、多くの異なるユーザのために大量のデータストレージを提供可能であり、各ユーザは自分専用の独立したクラウドストレージを持つことができる。
【0062】
デジタルアセットがローカルストレージ502に格納されている限り、クライアント機器で稼動するアプリケーションプログラムはデジタルアセットにローカルアクセスし、利用することができる。例えば、(有線または無線)ネットワークコネクションを必要とすることなく、デジタルアセットをローカルストレージ502から読み出してクライアント機器で再生することができる。一実施形態体において、ローカルストレージ502に格納されているデジタルアセットは「パージ不可」と見なされる。それにより、クライアント機器のユーザは、ユーザが除去しない限りそのようなデジタルアセットがクライアント機器に存在するであろうことを確信できる。
【0063】
クライアント機器のユーザがクライアント機器でデジタルアセットにアクセス(例えば再生)を希望した場合、クライアント機器はアクセスすべきそのデジタルアセットがローカルストレージ502に既に存在するかどうかをチェックすることができる。そのデジタルアセットが既にローカルストレージ502存在すると判定された場合、そのデジタルアセットはクライアント機器においてローカルストレージ502用のメモリ内で見つけることができ、再生のためにローカルアクセスすることができる。
【0064】
一方、デジタルアセットがローカルストレージ502に存在していないと判定された場合、クライアント機器はアクセスすべきデジタルアセットがキャッシュストレージ504から入手可能かどうかをチェックすることができる。デジタルアセットがキャッシュストレージ504に存在すると判定された場合、デジタルアセットはクライアント機器においてキャッシュストレージ504用のメモリ内で見つけることができ、再生のために用いることができる。
【0065】
あるいは、デジタルアセットがローカルストレージ502にもキャッシュストレージ504にも存在していないと判定された場合、クライアント機器はデジタルアセットをクラウドストレージ506から取得することができる。より具体的には、アクセス(再生)すべきデジタルアセットがローカルストレージ502からもキャッシュストレージ504からも入手できない場合、デジタルアセットはクラウドストレージ506からキャッシュストレージ504に送信されてよい。ここで、デジタルアセットは、その後パージされる対象としてキャッシュストレージ504に格納される。実際には、この送信はデジタルアセットのストリーミングのように見えるが、用いられる仕組みはデジタルアセットのデータファイルのダウンロード処理である。例えばデータファイルは、アクセス(再生)されながら、ダウンロードされかつキャッシュストレージ504に一時的に格納されてよい。キャッシュストレージ504に格納されるデータファイルは、使用される可能性がより高いと見なされる他のデータによって置換されるまでキャッシュストレージ504に留まることが可能であるため、「パージ可能」と見なすことができる。例えば、ファストインファストアウト(FIFO)キャッシュポリシ、頻度ポリシ、最後に再生されてからの経過時間に基づくポリシ、または他のポリシを用いることができる。ストリーミングよりも電力効率が良好となりうるネットワーク通信を、データファイル全体をダウンロードするために用いることができる。通常、クライアント機器は移動可能な電池駆動型機器であるため、電池電力消費は考慮すべき重要なポイントである。
【0066】
デジタルアセットをクライアント機器でアクセス(例えば再生)しようとする一方で、ユーザはクラウドストレージ506にデジタルアセットのダウンロードを要求するかもしれない。ここで、ユーザが特定のデジタルアセット(またはデジタルアセット群)のダウンロードを要求できるように、グラフィカルユーザインタフェース(GUI)をクライアント機器で提示することができる。ユーザがデジタルアセットのダウンロードを要求した場合、デジタルアセットはクラウドストレージ506から読み出され、クラウドストレージ506からローカルストレージ502に送信されることができる。ここで、ローカルストレージ502に格納されたデータアセットはパージの対象とはならない。しかし、そのデジタルアセットに関してクラウドストレージ506にアクセスする前に、キャッシュストレージ504がそのデジタルアセットを既に格納していないかどうか調べてもよい。キャッシュストレージ504が既にそのデジタルアセットを格納していれば、デジタルアセットをダウンロードする必要はなく、いずれもクライアント機器にあるキャッシュストレージ504からローカルストレージ502に単に移動することができる。キャッシュストレージ504からローカルストレージ502へのデジタルアセットの移動(または再割り当て)は、ダウンロード動作を含まないがローカルダウンロードと呼ぶことができる。
【0067】
さらに、デジタルアセットが電子データファイルとして提供されることを理解されたい。クラウドストレージ506は、所与のデジタルアセットを異なる品質レベルで提供することができる。例えば、クラウドストレージ506は所与のデジタルアセットを高品質フォーマットおよび低品質フォーマットで格納することができる。ある実装において、異なる品質フォーマットは、異なるビットレートに対応してもよい。具体例として、高品質フォーマットは256kb/秒のビットレート(すなわち、高ビットレート)に対応し、低品質フォーマットは64kb/秒のビットレート(すなわち、低ビットレート)に対応することができる。
【0068】
再生要求に応答して、クライアント機器でどの品質レベルを用いるかの判定は、クライアント機器で実行することができる。一実施形態において、クライアント機器は、どの品質レベルをクラウドサーバからクライアント機器に送信(ダウンロードまたはストリーミング)すべきかを判定するため、自身の利用可能なネットワークパフォーマンスを評価する。例えば、クライアント機器は、クライアント機器と、クラウドストレージ506をサポートするクラウドサーバとの間のネットワークリンクの容量の指標として役立つ、自身のネットワークパフォーマンスを評価することができる。セルラ接続(例えば3Gネットワーク)のようにネットワークパフォーマンスが低い場合、クライアント機器は、クラウドストレージ506から入手可能なデジタルアセットについて、低品質フォーマット(例えば64kb/秒のビットレート)を要求ならびに受信すべきであると判定することができる。そして、このデジタルアセットは、クライアント機器に送信され、キャッシュストレージ504に格納されるであろう。この時点で、キャッシュストレージ504は低品質フォーマットのデジタルアセットを格納する。あるいは、LAN接続(例えばWi-Fiネットワーク)のようにネットワークパフォーマンスが高い場合、クライアント機器は、クラウドストレージ506から入手可能なデジタルアセットについて、高品質フォーマット(例えば256kb/秒のビットレート)を要求ならびに受信すべきであると判定することができる。そして、このデジタルアセットは、クライアント機器に送信され、キャッシュストレージ504に格納されるであろう。
【0069】
また、再生要求されているデジタルアセットが、キャッシュストレージ504に既に格納されている低品質フォーマットである場合、キャッシュストレージ504からデータを読み出すことにより、再生要求に応じてただちにデジタルアセットをクライアント機器で再生することができる。しかし、再生要求されているデジタルアセットが、キャッシュストレージ504に格納されていない高品質フォーマットである場合、(キャッシュストレージ504に低品質フォーマットが格納されているかどうかにかかわらず)クライアント機器は高品質フォーマットのデジタルアセットをクラウドストレージ506に要求および受信し、受信した電子データファイルをキャッシュストレージ504に格納することができる。
【0070】
また、ユーザがデジタルアセットのダウンロードを要求した場合、高品質フォーマットのデジタルアセットをローカルストレージ502に配信することが目的となる。高品質フォーマットのデジタルアセットがたまたまキャッシュストレージ504に格納されていれば、ダウンロードは単に電子データファイルをキャッシュストレージ504からローカルストレージ502に移動(または再割り当て)することであってよく、これをローカルダウンロードと呼ぶことができる。しかし、キャッシュストレージ504がデジタルアセットの低品質バージョンしか格納していない場合、クライアント機器はクラウドストレージ506に高品質フォーマットのデジタルアセットのダウンロードを要求する。
【0071】
図5Bは、一実施形態に係るデータ読み出しおよび格納処理550のフローチャートである。データ読み出しおよび格納処理550は例えば、クライアント機器によって実行することができる。クライアント機器はコンピュータ機器、多機能家庭用電子機器(例えばスマートホン)、または他の電子機器に属するものであってよい。クライアント機器は、携帯電話機、ネットブック、タブレットコンピュータ、ノート型コンピュータのような、移動型電子機器であることが多い。
【0072】
データ読み出しおよび格納処理550は、クライアント機器に提供されるべきデジタルアセットを特定552することができる。さらに、電子機器が利用可能なネットワークパフォーマンスを判定554することができる。一例として、ネットワークパフォーマンスは、クライアント機器がリモートクラウドストレージに接続するために用いているネットワーク(例えば無線ネットワーク)の帯域幅またはビットレートであってもよいし、それらから求めてもよい。次に、リモートクラウドストレージに要求すべきデジタルアセットの品質バージョンがネットワークパフォーマンスに基づいて判定556される。デジタルアセットの品質バージョンが判定556された後、デジタルアセットの判定された品質バージョンをリモートクラウドストレージに要求558することができる。そして、判定560は、判定されたデジタルアセットの品質バージョンについての要求に応答して電子ファイルが受信されているかどうかを判定することができる。判定560が、要求に応答して電子ファイルが受信されていないと判定した場合、データ読み出しおよび格納処理550は電子ファイルの受信(または時間切れイベント)を待機することができる。一方、判定560が、要求に応答して電子ファイルが受信されていると判定した場合、受信されている電子ファイルをクライアント機器のデータストレージ内に格納562することができる。電子ファイルがクライアント機器でデータストレージに格納562されるとクライアント機器は、データストレージからその電子ファイル(つまりデジタルアセット)にローカルアクセスして利用(例えば再生)することが可能になる。電子ファイルの格納に続き、データ読み出しおよび格納処理550は終了することができる。
【0073】
図6Aおよび6Bは、一実施形態に係るデータ読み出しおよび再生処理600のフローチャートである。データ読み出しおよび再生処理600は例えば、クライアント機器によって実行することができる。クライアント機器はコンピュータ機器、多機能家庭用電子機器(例えばスマートホン)、または他の電子機器のようなデータ再生機器に属するものであってよい。クライアント機器は、携帯電話機、ネットブック、タブレットコンピュータ、ノート型コンピュータのような、移動型電子機器であることが多い。
【0074】
データ読み出しおよび再生処理600は、再生コマンドが開始されているかどうかを判定する判定602を含むことができる。一実装において、再生コマンドは、データ再生機器によってデジタルアセットを再生することを要求するユーザから受信することができる。例えば、図2Bは、ある特定のデジタルアセットに対する再生コマンドを開始可能なグラフィカルユーザインタフェース250を示している。
【0075】
判定602が、再生コマンドが受信されていないと判定する場合、データ読み出しおよび再生処理600は再生コマンドの受信を待機することができる。一方、判定602が、再生コマンドが受信されていると判定する場合、データ読み出しおよび再生処理600は先に進むことができる。再生コマンドは、データ再生機器再生されるべきものとしてユーザが要求しているデータアセット(またはアイテム)を特定する。
【0076】
再生コマンドを受信すると、判定604は、再生すべきアイテムの高品質(HQ)バージョンがローカル格納されているかどうかを判定することができる。判定604が、再生すべきアイテムのHQバージョンがローカル格納されていると判定した場合、アイテムのHQバージョンに関するデータをローカルストレージ(例えばローカルストレージ502)から読み出す606ことができる。例えば、通常、データ再生機器は再生すべきアイテムに関するデジタルデータ(例えばコンテンツデータ)およびメタデータのような電子データを格納するように機能する不揮発性メモリを有している。
【0077】
あるいは、判定604が、再生すべきアイテムのHQバージョンがローカル格納されていないと判定した場合、判定608は再生すべきアイテムのHQバージョンがキャッシュストレージ(例えばキャッシュストレージ504)に存在するかどうか判定することができる。キャッシュストレージもまた通常データ再生機器に提供されており、データ再生機器で再度アクセスされる可能性の高いデータに対する一時的なデータストレージ(キャッシュメモリ)を提供する。判定608が、再生すべきアイテムのHQバージョンがキャッシュストレージに存在すると判定した場合、このアイテムのHQバージョンに関するデータはデータ再生機器に設けられたキャッシュストレージから読み出す610ことができる。この場合、再生すべきアイテムに関するデータはデータ再生機器のローカルストレージに形式上存在していなかったが、再生すべき(適切な品質レベルの)アイテムに関するデータはキャッシュストレージから入手可能であった。
【0078】
判定608が、再生すべきアイテムのHQバージョンがキャッシュストレージに存在しないと判定した場合、判定612はネットワークパフォーマンスが高いかどうかを判定することができる。クライアント機器は、クラウドストレージおよび/または他のネットワークリソースまたはサービスにアクセスするため、1つ以上のネットワークに接続することができる。ネットワークパフォーマンスは、データをクラウドストレージからクライアント機器に転送するための、これら1つ以上のネットワークの能力を表す。例えば、クライアント機器は、データ転送がキャリアネットワークに依存する無線機器であることが多い。従って、クライアント機器が無線ネットワークに依存する移動型機器であることが多いことを鑑みれば、またネットワーク輻輳により、クライアントが利用可能なネットワーク帯域幅は常に変化しうる。従って、ネットワークパフォーマンスは、ネットワーク上でデータを転送するための比較的近い将来の能力を表すことができる。例えば、クライアント機器が現在LAN(例えばWi-Fiネットワーク)に接続可能であるとすると、そのようなネットワークはそこそこ高いネットワーク帯域幅を有するため、データ転送のためのネットワークパフォーマンスは高いと考えることができる。一方、クライアント機器が現在LANを通じてではなくセルラネットワークのみによってインターネットに接続されている場合、データ転送のためのネットワークパフォーマンスは低いと考えることができる。
【0079】
判定612が、ネットワークパフォーマンスが適切に高いと判定した場合、判定614は再生すべきアイテムのHQバージョンがクラウドストレージに格納されているかどうかを判定することができる。判定614が、再生すべきアイテムのHQバージョンに関するデータがクラウドストレージから入手可能であると判断した場合、そのアイテムのHQバージョンに関するデータはクラウドストレージから読み出す616ことができる。
【0080】
従って、再生すべきアイテムのHQバージョンに関するデータは、ローカルストレージ、キャッシュストレージ、およびクラウドストレージのいずれかから読み出すことができる。再生すべきアイテムのHQバージョンに関するデータが読み出され(606,610または616)た後、そのアイテム、すなわちデジタルアセット、のHQバージョンを再生618することができる。アイテムが再生618された後、データ読み出しおよび再生処理600は終了することができる。
【0081】
一方、判定612が、ネットワークパフォーマンスが低いと判定した場合、あるいは判定614が、再生すべきアイテムのHQバージョンがクラウドストレージに格納されていないと判定した場合、データ読み出しおよび再生処理600は図6Bに示すブロック620から630を実行することができる。具体的には、判定620は再生すべきアイテムのLQバージョンがデータ再生機器でローカル格納されているかどうかを判定することができる。判定620が、再生すべきアイテムのLQバージョンがローカル格納されていると判定した場合、そのアイテムのLQバージョンに関するデータはローカルストレージから読み出す622ことができる。
【0082】
あるいは、判定620が、再生すべきアイテムのLQバージョンがローカル格納されていないと判定した場合、判定624は再生すべきアイテムのLQバージョンがキャッシュストレージ(例えばキャッシュストレージ504)に存在するかどうか判定することができる。キャッシュストレージもまた通常データ再生機器に提供されており、データ再生機器で再度アクセスされる可能性の高いデータに対する一時的なデータストレージ(キャッシュメモリ)を提供する。判定624が、再生すべきアイテムのLQバージョンがキャッシュストレージに存在すると判定した場合、このアイテムのLQバージョンに関するデータはデータ再生機器に設けられたキャッシュストレージから読み出す626ことができる。この場合、再生すべきアイテムに関するデータはデータ再生機器のローカルストレージに形式上存在していなかったが、再生すべき(適切な品質レベルの)アイテムに関するデータはキャッシュストレージから入手可能であった。
【0083】
さらに、判定624が、再生すべきアイテムのLQバージョンがキャッシュストレージに存在しないと判定した場合、判定628は再生すべきアイテムのLQバージョンがクラウドストレージに格納されているかどうかを判定することができる。判定628が、再生すべきアイテムに関するデータがクラウドストレージから入手可能であると判断した場合、そのアイテムに関するデータは(十分なネットワーク帯域幅が利用可能なら)クラウドストレージから読み出す630ことができる。
【0084】
従って、再生すべきアイテムのLQバージョンに関するデータは、ローカルストレージ、キャッシュストレージ、およびクラウドストレージのいずれかから読み出すことができる。再生すべきアイテムのLQバージョンに関するデータが読み出され(622,626,または630)た後、そのアイテム、すなわちデジタルアセット、のLQバージョンを再生618することができる。アイテムが再生618された後、データ読み出しおよび再生処理600は終了することができる。再生すべきアイテムのLQバージョンに関するデータが何らかの理由によりローカルストレージ、キャッシュストレージ、およびクラウドストレージのどれからも入手できない場合、関連するデータが入手不能であるため、データ読み出しおよび再生処理600はアイテムの再生を開始しない。この場合、要求者は再生コマンドが不成功に終わったことを通知されるかもしれないが、やはりデータ読み出しおよび再生処理600は終了することができる。
【0085】
従って、データ読み出しおよび再生処理600は、ローカル、キャッシュ、およびクラウドストレージを用いて階層的データストレージを提供することができる。データは最適なソースから読み出すことができる。所与のデジタルアセットについて、1つ以上のソースから入手可能なデータは異なる品質レベルを有することができる(例えばHQまたはLQバージョン)。そのため、デジタルアセットに関するデータは容易に入手可能であり、そのようなデータがローカルストレージやキャッシュストレージから入手できなければ、データを読み出すためにダウンロードを用いる。デジタルアセットのより低い品質のバージョンは、そのようなデータがローカルで入手できず、またネットワーク帯域幅が比較的低いか間欠的である場合に用いられてよい。つまり、機器の性能が向上し、かつ消費電力が低減する。例えば、データ再生機器がネットワークに無線接続されているが、データがローカルストレージまたはキャッシュストレージから入手できる場合、データをダウンロードするために無線ネットワークインタフェース(例えば無線送受信器)に電源を供給する必要はなく、電力消費および/または帯域消費が削減される。
【0086】
所定の実施形態の他の態様はさらに、異なる品質レベルを有するデジタルアセットのクラウドデータストレージの提供に関する。これらのデジタルアセットは、参加しているクライアント機器が利用できるようにすることができる。クライアント機器において、デジタルアセットはクラウドデータストレージから取得することも、クライアント機器にローカル格納することもできる。しかし、判断基準(例えば利用可能なネットワークビットレート)に応じて、クライアント機器は所望のデジタルアセットの低品質バージョンをまず取得するであろう。この場合、いくらか時間が経過した後、クライアント機器は所望のデジタルアセットの高品質バージョンを取得することができる。実際には、低品質バージョンは通常別個の電子ファイルである高品質バージョンにアップグレードされる。この手法は、利用可能なネットワーク帯域幅を適切に利用し、クライアント機器のユーザの長い待ち時間を回避する。
【0087】
図7は、一実施形態に係る品質アップグレード処理700のフローチャートである。品質アップグレード処理700は、例えばクライアント機器によって実行することができる。クライアント機器はコンピュータ機器、多機能家庭用電子機器(例えばスマートホン)、または他の電子機器に属するものであってよい。クライアント機器は、携帯電話機、ネットブック、タブレットコンピュータ、ノート型コンピュータのような、無線データ転送をサポートする移動型電子機器であることが多い。
【0088】
品質アップグレード処理700は、アップグレードを実行すべきかどうかをまず判定702することができる。ここで、クライアント機器は通常、ユーザが関心を持っているデジタルアセットの低品質バージョンを1つ以上既に格納している。アップグレード動作は、これらのデジタルアセットをそれらの1つ以上の低品質バージョンから高品質バージョンにアップグレードするように機能する。通常、アップグレード動作はインテリジェントな方法で開始される。例えば、高品質バージョンはダウンロードにかなりの帯域幅を必要とするので、アップグレード動作はクライアント機器が所望の十分な帯域幅を提供する高速ネットワークに接続されるまで延期することができる。一具体例として、アップグレード動作は、クライアント機器がLAN(例えばWi-Fiネットワーク)に接続されている際に実行することができる。アップグレード動作のタイミングに関する他の制限事項として、クライアント機器がアイドル状態かどうかを含んでもよい。一実装において、クライアント機器がロックモードにある場合、つまりユーザが所定時間電話機を操作しておらず、機器をアンロックして使用するにはパスワード入力が必要である状態であれば、アイドル状態と見なすことができる。さらなる制限事項には、クライアント機器が電池によって駆動されていることの対義として、クライアント機器が電源に接続されていること(すなわち、コンセントに接続されてAC駆動されていること)を含んでもよい。これは、無線データ転送が相当量の電力を消費しうるからである。以前低品質バージョンが格納され、まだアップグレードされていない特定のデジタルアセットにユーザが再びアクセスしようとした場合には、これらの追加制限事項を撤回してもよい。そのような状況では、クライアント機器がLANに接続されれば(追加制限事項とは無関係に)少なくともその特定のデジタルアセットに関するアップグレード動作を開始することができる。
【0089】
いずれにせよ、判定702がアップグレード動作を実行すべきでないと判定した場合には、品質アップグレード処理700は、アップグレードを実行するために適切な時間待機する。しかし、判定702がアップグレード動作を実行すべきと判断すれば、品質アップグレード処理700を先に進めることができる。この場合、判定704はクライアント機器が利用可能なネットワークパフォーマンスが高いかどうかを判定することができる。ネットワークパフォーマンスが高くないと判定704が判定した場合、品質アップグレード処理700は終了することができる。これは、相当量のデータ転送に対して低いパフォーマンスを提供するネットワークを用いてアップグレードを試行することは概して不効率であり、また問題があるからである。
【0090】
一方、クライアント機器が利用可能なネットワークパフォーマンスが十分に高い(例えばWi-Fiネットワーク)と判定704が判定した場合、クライアント機器で低品質バージョンとしてローカル格納されている1つ以上のデジタルアセットを特定706することができる。これら特定された1以上のデジタルアセットは、クライアント機器でアップグレードすべき、低品質バージョンを有するデジタルアセットを表す。次に、特定された1以上のデジタルアセットの高品質バージョンがリモートクラウドストレージに要求708される。そして、判定710は特定された1以上のデジタルアセットの高品質バージョンの要求に応答して1以上の電子ファイルが受信されているかどうかを判定することができる。1以上の電子ファイルがまだ受信されていないと判定710が判定した場合、品質アップグレード処理700はそのようなファイルの受信(または時間切れ)を待機する。しかし、判定710が1以上の電子ファイルがリモートクラウドストレージから受信されていると判定すれば、その1以上の電子ファイルをクライアント機器でデータストレージに格納712することができる。リモートクラウドストレージから受信した1以上の電子ファイルの格納712に続き、品質アップグレード処理700は終了することができる。
【0091】
図8Aは、一実施形態に係るネットワークベースのデータアップグレードシステム800のブロック図である。ネットワークベースのデータアップグレードシステム800は、例えば、図1に示したネットワークベースのデータ管理システム100の実装の一部を表すことができる。
【0092】
ネットワークベースのデータアップグレードシステム800はクラウドサーバ802を含んでいる。クラウドサーバ802はクラウドストレージ804に接続されている。クラウドストレージ804は、ネットワーク806に接続された大量のデジタルデータストレージを提供する。クラウドストレージ804は、多数の異なるユーザのためのデジタルデータを格納することができる。クラウドストレージ804は多数の異なるユーザ間で共有されるが、ある所定のユーザ用に格納されているデジタルデータは、その所定のユーザによってのみアクセス可能とすることができる。クラウドサーバ802は、クラウドストレージ804によるデータストレージとの間のデータ格納、アクセス、および配信を管理するように機能することができる。
【0093】
クラウドストレージ804は、ユーザに関連付けられたクライアント機器により、クラウドサーバ802を通じてアクセス可能である。例えば、図8に示すように、クライアント機器808は、クラウドストレージ804に格納されたデータにアクセスできるよう、ネットワーク806に接続されてよい。クライアント機器808は、コンピュータ機器のような電子機器を表しうる。例えば、クライアント機器808はパーソナルコンピュータや携帯電話機(例えばスマートホン)を表してもよい。通常、クライアント機器808は、ネットワーク806を通じてクラウドサーバ802にアクセスすることを容易にするアプリケーションプログラム(またはユーティリティまたはOSプログラム)を含むことができる。ネットワーク806は1つ以上の優先または無線ネットワークから構成されうる。クライアント機器808は例えば、有線接続または無線接続によってネットワーク806に接続することができる。しかし、クライアント機器808は通常、無線接続によってネットワークに接続する移動機器である。加えて、クライアント機器808は、メディア管理アプリケーションのような、クライアント機器808にローカル格納されているデータまたはクラウドストレージ804にリモート格納されているデータのアクセス、提示、および利用を容易にするアプリケーションプログラムを含んでよい。
【0094】
図8Aに示す、ネットワークベースのデータアップグレードシステム800は、1つ以上のデジタルアセットのアイドルアップグレード動作をも示している。より具体的には、アイドルアップグレード動作の主な動作が図8Aに示されている。ネットワークベースのデータアップグレードシステム800は、低品質フォーマットでクライアント機器に現在格納されている1以上のデジタルアセットに関する品質アップグレードを実行することができる。図8Aを参照して、アイドルアップグレード動作の一実施形態を以下のように説明することができる。ステップ(1)で、クライアント機器808は、アップグレード動作を起動すべきかどうかを判定することができる。上述の通り、アップグレード動作はクライアント機器808がアイドルである際に、クライアント機器808で実行または開始することができる。一例として、クライアント機器は低消費電力状態(low-power state)またはロック状態にあるとき、アイドルであると見なすことができる。いずれにせよ、ステップ(1)でアップグレード動作を起動すべきであると判定された場合、クライアント機器808はネットワークパフォーマンスのようなネットワーク状況をステップ(2)で評価することができる。ネットワークパフォーマンスの例には、ネットワーク帯域幅やビットレートが含まれる。ネットワークパフォーマンスのようなネットワーク状況が比較的低い場合、アイドルアップグレード動作は終了し、後のタイミングで再検討することができる。ネットワークパフォーマンスのようなネットワーク状況が比較的高い場合、アイドルアップグレード動作を続けることができる。アイドルアップグレード動作が継続する場合、ステップ(3)で、クライアント機器808からクラウドサーバ802に、特定のデジタルアセットの高品質(HQ)バージョンのダウンロード要求が送信される。クラウドサーバ802は、特定のデジタルアセットの高品質(HQ)バージョンの要求を受信した後、かつユーザおよび/またはクライアント機器808の適切な認証後、ステップ(4)で、クラウドストレージ804からデジタルアセットの高品質(HQ)バージョンを探す。そして、ステップ(5)でクラウドサーバ802は、クラウドストレージ804から特定のデジタルアセットの高品質(HQ)バージョンを読み出す。続いてクラウドサーバ802は、特定のデジタルアセットの高品質(HQ)バージョンをクライアント機器808に送信することができる。そして、クライアント機器808はステップ(6)で、特定のデジタルアセットの高品質(HQ)バージョンに関する送信データを受信する。そのような送信データの受信後、クライアント機器808はステップ(7)で、特定のデジタルアセットの高品質(HQ)バージョンに関する受信データをクライアント機器808に格納することができる。必要に応じて、クライアント機器808に以前格納されていた、特定のデジタルアセットの低品質(LQ)バージョンを削除(すなわちパージ)してもよい。ここで説明したアップグレード動作は、特定のデジタルアセットのアップグレードに関するものであったが、デジタルアセットのセットのような、より多くのデジタルアセットを、個別に、あるいは同時にアップグレードすることができる。
【0095】
図8Bは、一実施形態に係るネットワークベースのデータアップグレードシステム820のブロック図である。ネットワークベースのデータアップグレードシステム820は、例えば、図1に示したネットワークベースのデータ管理システム100の実装の一部を表すことができる。ネットワークベースのデータアップグレードシステム820は、図8Aに示したネットワークベースのデータアップグレードシステム800と概して同一の構成を有する。しかし、図8Bに示す、ネットワークベースのデータアップグレードシステム820は、1つ以上のデジタルアセットの次再生アップグレード(next play upgrade)動作を示している。次再生アップグレード動作の主な動作が図8Bに示されている。ネットワークベースのデータアップグレードシステム820は、低品質フォーマットでクライアント機器に現在格納されている1以上のデジタルアセットに関する品質アップグレードを実行することができる。具体的には、クライアント機器(またはそのユーザ)が、クライアント機器808に低品質フォーマットで既に格納されているデジタルアセットの再生を開始した際に、次再生アップグレード動作を実行することができる。図8Bを参照して、次再生アップグレード動作の一実施形態を以下のように説明することができる。ステップ(1)で、クライアント機器808は、アップグレード動作を起動すべきかどうかを判定することができる。ここでは、クライアント機器(またはそのユーザ)が、クライアント機器に低品質フォーマットで既に格納されているデジタルアセットの再生を開始した際に、アップグレード動作をクライアント機器808で実行または開始することができる。いずれにせよ、ステップ(1)でアップグレード動作を起動すべきであると判定された場合、クライアント機器808はネットワークパフォーマンスのようなネットワーク状況をステップ(2)で評価することができる。ネットワークパフォーマンスの例には、ネットワーク帯域幅やビットレートが含まれる。ネットワークパフォーマンスのようなネットワーク状況が比較的低い場合、次再生アップグレード動作は終了し、後のタイミングで再検討することができる。ネットワークパフォーマンスのようなネットワーク状況が比較的高い場合、次再生アップグレード動作を続けることができる。次再生アップグレード動作が継続する場合、ステップ(3)で、クライアント機器808からクラウドサーバ802に、特定のデジタルアセットの高品質(HQ)バージョンのダウンロード要求が送信される。クラウドサーバ802は、特定のデジタルアセットの高品質(HQ)バージョンの要求を受信した後、かつユーザおよび/またはクライアント機器808の適切な認証後、ステップ(4)で、クラウドストレージ804からデジタルアセットの高品質(HQ)バージョンを探す。そして、ステップ(5)でクラウドサーバ802は、クラウドストレージ804から特定のデジタルアセットの高品質(HQ)バージョンを読み出す。続いてクラウドサーバ802は、特定のデジタルアセットの高品質(HQ)バージョンをクライアント機器808に送信することができる。そして、クライアント機器808はステップ(6)で、特定のデジタルアセットの高品質(HQ)バージョンに関する送信データを受信する。そのような送信データの受信後、クライアント機器808はステップ(7)で、特定のデジタルアセットの高品質(HQ)バージョンに関する受信データをクライアント機器808に格納することができるほか、特定のデジタルアセットの高品質(HQ)バージョンの再生を開始することができる。なお、特定のデジタルアセットの高品質(HQ)バージョンの再生は、関連するデータの一部が受信されれば開始することができることに留意されたい。必要に応じて、クライアント機器808に以前格納されていた、特定のデジタルアセットの低品質(LQ)バージョンを削除(すなわちパージ)してもよい。ここで説明したアップグレード動作は、特定のデジタルアセットのアップグレードに関するものであったが、デジタルアセットのセットのような、より多くのデジタルアセットを、個別に、あるいは同時にアップグレードすることができる。
【0096】
図8Bに関して説明した次再生アップグレード動作は、ある特定のデジタルアセットの低品質バージョンを、その特定のデジタルアセットの高品質バージョンにアップグレードするために動作する。しかし、アップグレードは十分な帯域幅のような、適切なネットワーク状況の存在に依存する。ネットワーク評価は再生開始時のようにデジタルアセットごとに実行することができるが、実際のデータ送信(ダウンロード)中のように、ネットワーク評価をより頻繁に実行することもできる。例えば、再生開始時のネットワーク評価が十分なネットワーク帯域幅を示していれば、デジタルアセットの高品質バージョンのデータ送信が開始されるであろう。しかし、クラウドストレージ804からクライアント機器808へのデジタルアセットの送信(またはダウンロード)の最中にネットワーク帯域幅が仮に大幅に悪化した場合、次再生アップグレードは中止または一時停止されるであろう。このような状況において、クライアント機器808でのデジタルアセットの再生は既に開始されているであろう。そして、再生を維持するため、クライアント機器808は、クライアント機器808に既に存在するその特定のデジタルアセットの低品質バージョンの再生に切り替えることができる。その後、ネットワーク状況が再び改善すれば、次再生アップグレード動作を再開し、クライアント機器808に特定のデジタルアセットの高品質バージョンの再生に切り替えることを許可することができる。
【0097】
図8Cは、一実施形態に係るネットワークベースのデータダウングレードシステム840のブロック図である。ネットワークベースのデータダウングレードシステム840は、例えば、図1に示したネットワークベースのデータ管理システム100の実装の一部を表すことができる。ネットワークベースのデータダウングレードシステム840は、図8Aに示したネットワークベースのデータアップグレードシステム800と概して同一の構成を有する。しかし、図8Cに示す、ネットワークベースのデータダウングレードシステム840は、1つ以上のデジタルアセットのダウングレード動作を示している。ダウングレード動作の主な動作が図8Cに示されている。ネットワークベースのデータダウングレードシステム840は、クライアント機器808で現在再生中の1以上のデジタルアセットに対する品質ダウングレードを実行することができる。具体的には、クライアント機器(またはそのユーザ)があるデジタルアセットの高品質(HQ)バージョンのクラウドストレージ804からのダウンロードを開始した際、悪いネットワーク状況によりそのダウンロードが停止する可能性がある。そのような場合、ネットワークベースのデータダウングレードシステム840は、そのデジタルアセットの再生の途絶を緩和するためにダウングレード動作を実行することができる。図8Cを参照して、ダウングレード動作の一実施形態を以下のように説明することができる。ステップ(1)で、クライアント機器808は、ダウングレード動作を起動すべきかどうかを判定することができる。ここでは、悪いネットワークパフォーマンスなどにより、同時再生中のデジタルアセットが停止した際にクライアント機器808でダウングレード動作を実行または開始することができる。また、ダウングレード動作は、バッファされた音声が使い果たされている場合のように、再生が停止しそうな場合など、より早い時期に実施または開始されてもよい。次に、ダウングレード動作は、デジタルアセットのより低い品質のバージョンが、ローカルまたはリモートで入手可能かどうかを判定することができる。デジタルアセットのより低い品質バージョンが、ローカルで入手可能である(すなわち、クライアント機器808に既に格納されている)場合、そのデジタルアセットの、より低い品質のバージョンをローカルで読み出して再生することができる。ここで、デジタルアセットの停止したダウンロードは中止し、その代わりにそのデジタルアセットのより低い品質のバージョンを用いて再生を再開してもよい。あるいは、デジタルアセットの低品質バージョンが、ローカルで入手できない場合、ダウングレード動作はステップ(3)で、特定のデジタルアセットのより低い品質の(LowerQ)バージョンのダウンロード要求をクライアント機器808からクラウドサーバ802に送信させる。例えば、停止したダウンロードが高品質バージョンについてのダウンロードであり、より低い品質のバージョン(LowerQ)が低品質バージョンまたは中品質バージョンであってよい。クラウドサーバ802は、特定のデジタルアセットのより低い品質(LowerQ)のバージョンの要求を受信した後、かつユーザおよび/またはクライアント機器808の適切な認証後、ステップ(4)で、クラウドストレージ804からデジタルアセットのより低い品質(LowerQ)のバージョンを探す。そして、ステップ(5)でクラウドサーバ802は、クラウドストレージ804から特定のデジタルアセットのより低い品質(LowerQ)のバージョンを読み出す。続いてクラウドサーバ802は、特定のデジタルアセットのより低い品質(LowerQ)のバージョンをクライアント機器808に送信することができる。そして、クライアント機器808はステップ(6)で、特定のデジタルアセットのより低い品質(LowerQ)のバージョンに関する送信データを受信する。そのような送信データの受信後、クライアント機器808はステップ(7)で、特定のデジタルアセットのより低い品質(LowerQ)のバージョンに関する受信データをクライアント機器808に格納することができるほか、特定のデジタルアセットのより低い品質(LowerQ)のバージョンの再生を開始することができる。なお、特定のデジタルアセットのより低い品質(LowerQ)のバージョンの再生は、関連するデータの一部が受信されれば開始することができることに留意されたい。ここで説明したアップグレード動作は、特定のデジタルアセットのダウングレードに関するものであったが、デジタルアセットのセットのような、より多くのデジタルアセットを、個別に、あるいは同時にダウングレードすることができる。
【0098】
図8Cに関して上述したように、デジタルアセットのダウンロードおよび再生は同時に行うことができ、ダウンロードが停止すると、デジタルアセットの再生はそのデジタルアセットのより低い品質のバージョンを用いて継続または再開することができる。ダウングレード動作は引き続くデジタルアセットの再生にも影響を与えうることを理解すべきである。すなわち、ネットワークパフォーマンスが第1のデジタルアセットのダウンロードに関して不十分であることが判明していれば、第1のデジタルアセットに続く第2のデジタルアセットの引き続くダウンロードの際、ダウンロードは第2のデジタルアセットのより低い品質のバージョンをまず読み出すように適合することができる。
【0099】
所定の実施形態の他の見地は、ユーザがクライアント機器のローカルストレージの振る舞いを制御することを可能にするグラフィカルユーザインタフェース(GUI)に関する。デジタルアセットの1つまたはグループ(セット)に関連付けられるユーザインタフェース制御を通じて、ユーザはデジタルアセットの1つまたはグループをローカルに存在させ、かつ他のデジタルアセットを格納するための空きを作るための自動パージの対象から外すようにすることができる。
【0100】
図9Aは、一実施形態に係る例示的なグラフィカルユーザインタフェース900を示す図である。グラフィカルユーザインタフェース900は、名称(またはタイトル)欄904および属性欄906を含むリスト(例えばテーブル)902を含んでいる。図9Aに示すように、属性欄906は継続時間に関するものである。しかし、デジタルアセットのさまざまな属性を、これ以外にも、あるいは代わりに同様に示してもよい。名称欄904または追加欄は、対応するデジタルアセットがクライアント機器にローカル格納されているか、クラウドストレージでリモート格納されているかを視覚的に区別することができる。図9Aに示す実施形態では、対応するデジタルアセットがクラウドストレージでリモート格納されていることを示すためにリモートインジケータ908(例えば雲の記号)を表示することができる。従って、図9Aに示すリスト902では、3つのデジタルアセット(すなわちデジタルアセットA,デジタルアセットB,およびデジタルアセットC)が一覧表示されている。一覧表示されている3つのデジタルアセットのうち、デジタルアセットAおよびCはクライアント機器にローカル格納され、デジタルアセットBはクラウドストレージでリモート格納されている。グラフィカルユーザインタフェース900はまた、ユーザが選択または選択解除可能な「ダウンロード継続」コントロール910を含むことができる。図9Aのように「ダウンロード継続」コントロール910が選択解除されていれば、リスト902のデジタルアセットに何の影響も与えない。一般に、ユーザは、任意のデジタルメディアアセットについて、再生、ダウンロード、または削除などのユーザ動作を実行するためにもグラフィカルユーザインタフェース900を操作することができる。「ダウンロード継続」コントロール910の外観および/または配置は、実装に応じて変化しうる。また、代替実施形態では、属性欄906は存在しないか隠されてもよい。
【0101】
図9Bは、一実施形態に係る例示的なグラフィカルユーザインタフェース900’を示す図である。グラフィカルユーザインタフェース900’は「ダウンロード継続」コントロール910が選択された後のグラフィカルユーザインタフェース900を示している。すなわち、「ダウンロード継続」コントロール910が選択されると、リスト902内の1以上のデジタルアセットがローカル格納され、かつローカル格納された状態を維持するようになる。例えば、「ダウンロード継続」コントロール910の選択に続き、デジタルアセットBがグラフィカルユーザインタフェース900を提示しているクライアント機器にダウンロードされるだろう。さらに、リスト内の3つのデジタルアセットはクライアント機器に格納され続け、クライアント機器のストレージからパージされる対象から外されるだろう。
【0102】
これまでの説明から、1以上の実施形態に係る電子機器は、例えばコンピュータ機器(例えばパーソナルコンピュータ)、携帯電話機(例えばセルラ方式の電話機、スマートホン)、携帯情報端末(PDA)、メディアプレーヤ(例えば音楽、映像、ゲーム、画像)、メディアストレージ機器、カメラ、および/または同様の機器でありうることが容易に理解されるであろう。電子機器はまたこれら機器の2つ以上の機能を1つの機器に組み合わせた多機能機器であってもよい。携帯電子機器は様々なタイプのネットワーク通信をサポートしてもよい。
【0103】
携帯電子機器はハンドヘルド電子機器として提供されてもよい。ハンドヘルドとは、一般に、片手で楽に持てる程度に十分小さい大きさを有する電子機器を指す。ハンドヘルド電子機器は片手操作または両手操作を対象としたものであってよい。片手操作では、使用中における機器の支持およびユーザインタフェースを用いた操作の実行の両方を1つの手で行う。両手操作では、使用中、一方の手が機器の支持に用いられ、他方の手がユーザインタフェースの操作を実行するか、使用中、両方の手が機器を支持するとともに操作を実行する。ハンドヘルド電子機器は、ユーザのポケットに入るような大きさとされることもある。ポケットサイズであることにより、ユーザは機器を直接運ぶ必要がないため、機器をユーザが移動するほとんどの場所に持っていくことができる(例えば、ユーザは大きく、かさばり、かつしばしば重い機器によって制約を受けることがない)。
【0104】
デジタルアセットはデジタルメディアアセットであってよい。デジタルメディアアセット(例えばデジタルメディアアイテム)は例えばビデオアイテム(例えばビデオファイルまたは映画)、オーディオアイテム(例えば、歌、音楽アルバム、ポッドキャスト、またはオーディオブックのような音声ファイルまたは音声トラック)、または画像アイテム(例えば写真)に関するものであってよい。デジタルメディアアセットはまた、テキストまたはマルチメディアファイルを含んだり、それらで補足されてもよい。
【0105】
上述した本発明の様々な見地、機能、態様、または実装は、単独で用いられても様々な組み合わせで用いられてもよい。
【0106】
本発明は好ましくはソフトウェア、ハードウェア、またはハードウェアとソフトウェアの組み合わせによって実施される。本発明はまた、コンピュータ可読媒体上のコンピュータ可読コードとして実施されてもよい。コンピュータ可読媒体は一時的なものでなく、コンピュータシステムによって読み取ることが可能なデータを格納可能な任意のデータ記憶装置である。コンピュータ可読媒体の例は一般に、読み出し専用メモリおよびランダムアクセスメモリを含む。コンピュータ可読媒体のより具体的な例は、有形であり(かつ一時的でなく)、フラッシュメモリ、EEPROMメモリ、メモリカード、CD-ROM、DVD、ハードディスクドライブ、磁気テープ、光学データ記憶装置を含む。コンピュータ可読媒体はまた、コンピュータ可読コードが分散的に格納かつ実行されるように、ネットワークに接続されたコンピュータシステムに配信されてもよい。
【0107】
本発明の様々な実施形態の利点は非常に多い。様々な見地、態様、または実装は以下の利点の1つ以上を実現するであろう(ただし、実現は必須事項ではない)。少なくとも一部の実施形態の1つの利点は、デジタルアセットが共通インタフェースからアクセス可能であり、効率的な方法でユーザに提供可能なことである。少なくとも一部の実施形態の別の利点は、デジタルアセットがリモート格納されている場合、必要になるとそれらがストリーミングではなくダウンロードされることで、電力効率の向上を含む、より効率的な動作が実現できることである。少なくとも一部の実施形態のさらに別の利点は、これらのリモート格納された、再生のためにダウンロード済みのアセットをその後の潜在的な利用のためにキャッシュすることができることである。
【0108】
本明細書の説明から、本発明の多くの機能および利点が明らかである。さらに、本技術分野に属する当業者には多くの修正や変更が容易であるため、本発明は図示および説明された構成や動作そのものに限定されるべきではない。従って、全ての好適な修正およびその等価物は、本発明の範囲に含まれる。
【特許請求の範囲】
【請求項1】
データストレージ用のメモリを有する電子機器でデジタルアセットを提示するために、データにアクセスする方法であって、
前記電子機器によって提示すべきデジタルアセットを特定するステップと、
前記電子機器が利用可能なネットワークパフォーマンスを判定するステップと、
リモートクラウドストレージに要求すべき前記デジタルアセットの品質バージョンを、前記ネットワークパフォーマンスに基づいて判定するステップと、
前記デジタルアセットの前記判定された品質バージョンを前記リモートクラウドストレージに要求するステップと、
前記要求された前記デジタルアセットの前記判定された品質バージョンに関する電子ファイルを、前記電子機器で前記リモートクラウドストレージから受信するステップと、
前記電子ファイルを前記電子機器の前記データストレージに格納するステップと、を有することを特徴とする方法。
【請求項2】
前記デジタルアセットの前記判定された品質バージョンに関する前記電子ファイルを用いて、前記電子機器で前記デジタルアセットを提示するステップをさらに有することを特徴とする請求項1記載の方法。
【請求項3】
前記電子機器が携帯電話機を含むことを特徴とする請求項1記載の方法。
【請求項4】
前記ネットワークパフォーマンスが、データ転送に利用可能なネットワーク帯域幅またはビットレートに少なくとも部分的に基づくことを特徴とする請求項1乃至請求項3のいずれか1項に記載の方法。
【請求項5】
データストレージ用のローカルメモリを有する電子機器でデジタルアセットを提示するために、データにアクセスする方法であって、
前記電子機器によって提示すべきデジタルアセットの指示を受信するステップと、
前記デジタルアセットの高品質バージョンが前記電子機器の前記ローカルメモリから入手不能かどうか判定するステップと、
前記電子機器が利用可能なネットワークパフォーマンスが、デジタルアセットのダウンロードに十分かどうか判定するステップと、
前記デジタルアセットの前記高品質バージョンが、クラウドデータリポジトリから入手可能かどうかを判定するステップと、
前記電子機器が利用可能な前記ネットワークパフォーマンスが、デジタルアセットのダウンロードに十分であると判定され、前記デジタルアセットが前記クラウドデータリポジトリから入手可能であり、前記電子機器の前記ローカルメモリから入手不能であれば、前記デジタルアセットの前記高品質バージョンを前記クラウドデータリポジトリからダウンロードするステップと、
ダウンロードされている前記デジタルアセットの前記高品質バージョンを、前記ローカルメモリに格納するステップと、を有することを特徴とする方法。
【請求項6】
前記デジタルアセットの前記高品質バージョンを、前記電子機器で提示するステップ、をさらに有することを特徴とする請求項5記載の方法。
【請求項7】
前記デジタルアセットの前記高品質バージョンを提示する前記ステップが、前記ダウンロードするステップと少なくとも部分的に同時実行されることを特徴とする請求項6記載の方法。
【請求項8】
前記デジタルアセットが、前記電子機器で再生可能なデジタルメディアアセットであり、
前記デジタルアセットの前記高品質バージョンを前記電子機器で提示する前記ステップが、前記デジタルアセットの前記高品質バージョンを前記電子機器で再生するステップを有することを特徴とする請求項5乃至請求項7のいずれか1項に記載の方法。
【請求項9】
データストレージ用のメモリを有する電子機器でデジタルアセットを提示するためにデータにアクセスするためのコンピュータプログラムが少なくとも格納されたコンピュータ可読媒体であって、
前記電子機器によって提示すべきデジタルアセットを特定するためのコンピュータプログラムと、
前記電子機器が利用可能なネットワークパフォーマンスを判定するためのコンピュータプログラムと、
リモートクラウドストレージに要求すべき前記デジタルアセットの品質バージョンを、前記ネットワークパフォーマンスに基づいて判定するためのコンピュータプログラムと、
前記デジタルアセットの前記判定された品質バージョンを前記リモートクラウドストレージに要求するためのコンピュータプログラムと、
前記要求された前記デジタルアセットの前記判定された品質バージョンに関する電子ファイルを、前記電子機器で前記リモートクラウドストレージから受信するためのコンピュータプログラムと、
前記電子ファイルを前記電子機器の前記データストレージに格納するためのコンピュータプログラムと、を有するコンピュータ可読媒体。
【請求項10】
データストレージ用のローカルメモリを有する電子機器でデジタルアセットを提示するためにデータにアクセスするためのコンピュータプログラムが少なくとも格納されたコンピュータ可読媒体であって、
前記電子機器によって提示すべきデジタルアセットの指示を受信するためのコンピュータプログラムと、
前記デジタルアセットの高品質バージョンが前記電子機器の前記ローカルメモリから入手不能かどうか判定するためのコンピュータプログラムと、
前記電子機器が利用可能なネットワークパフォーマンスが、デジタルアセットのダウンロードに十分かどうか判定するためのコンピュータプログラムと、
前記デジタルアセットの前記高品質バージョンが、クラウドデータリポジトリから入手可能かどうかを判定するためのコンピュータプログラムと、
前記電子機器が利用可能な前記ネットワークパフォーマンスが、デジタルアセットのダウンロードに十分であると判定され、前記デジタルアセットが前記クラウドデータリポジトリから入手可能であり、前記電子機器の前記ローカルメモリから入手不能であれば、前記デジタルアセットの前記高品質バージョンを前記クラウドデータリポジトリからダウンロードするためのコンピュータプログラムと、
ダウンロードされている前記デジタルアセットの前記高品質バージョンを、前記ローカルメモリに格納するためのコンピュータプログラムと、を有するコンピュータ可読媒体。
【請求項11】
データストレージ用のローカルメモリを有し、ネットワークに接続可能な電子機器において、デジタルアセットをアップグレードする方法であって、
前記ローカルメモリに格納されているデジタルアセットの低品質バージョンを、アップグレードすべきかどうか判定するステップと、
前記電子機器が利用可能なネットワークパフォーマンスが、デジタルアセットのアップグレードに十分かどうか判定するステップと、
前記電子機器が利用可能な前記ネットワークパフォーマンスが、デジタルアセットアップグレードに十分であると判定されれば、前記デジタルアセットの高品質バージョンのダウンロードをクラウドサーバに要求するステップと、
前記デジタルアセットの前記高品質バージョンを、前記クラウドサーバから前記ネットワークを通じて前記電子機器で受信するステップと、
受信されている前記デジタルアセットの前記高品質バージョンを、前記ローカルメモリに格納するステップと、を有することを特徴とする方法。
【請求項12】
前記ローカルメモリに格納されているデジタルアセットの低品質バージョンを、アップグレードすべきかどうか判定する前記ステップが、少なくとも受信したユーザ入力に基づいて前記判定を行うことを特徴とする請求項11記載の方法。
【請求項13】
前記ローカルメモリに格納されているデジタルアセットの低品質バージョンを、アップグレードすべきかどうか判定する前記ステップが、少なくとも前記デジタルアセットの再生要求に基づいて前記判定を行うことを特徴とする請求項11記載の方法。
【請求項14】
前記ローカルメモリに格納されているデジタルアセットの低品質バージョンを、アップグレードすべきかどうか判定する前記ステップが、少なくとも前記電子機器のアイドル状態に基づいて前記判定を行うことを特徴とする請求項11記載の方法。
【請求項15】
前記ローカルメモリに格納されているデジタルアセットの低品質バージョンを、アップグレードすべきかどうか判定する前記ステップが、少なくとも前記電子機器のロック状態およびAC駆動状態に基づいて前記判定を行うことを特徴とする請求項11記載の方法。
【請求項16】
前記電子機器が携帯電話機を含むことを特徴とする請求項11乃至請求項15のいずれか1項に記載の方法。
【請求項17】
前記ネットワークが無線ネットワークを含み、前記ネットワークパフォーマンスが、データ転送に利用可能なネットワーク帯域幅またはビットレートに少なくとも部分的に基づくことを特徴とする請求項11乃至請求項15のいずれか1項に記載の方法。
【請求項18】
データストレージ用のローカルメモリを有する電子機器でデジタルアセットを提示するためにデータにアクセスするためのコンピュータプログラムが少なくとも格納されたコンピュータ可読媒体であって、
前記ローカルメモリに格納されている、デジタルアセットの低品質バージョンを、アップグレードすべきかどうか判定するためのコンピュータプログラムと、
前記電子機器が利用可能なネットワークパフォーマンスが、デジタルアセットのアップグレードに十分かどうか判定するためのコンピュータプログラムと、
前記電子機器が利用可能な前記ネットワークパフォーマンスが、デジタルアセットアップグレードに十分であると判定されれば、前記デジタルアセットの高品質バージョンのダウンロードをクラウドサーバに要求するためのコンピュータプログラムと、
前記デジタルアセットの前記高品質バージョンを、前記クラウドサーバから前記ネットワークを通じて前記電子機器で受信するためのコンピュータプログラムと、
受信されている前記デジタルアセットの前記高品質バージョンを、前記ローカルメモリに格納するためのコンピュータプログラムと、を有するコンピュータ可読媒体。
【請求項19】
電子機器に付随する表示機器に提示されるグラフィカルユーザインタフェースであって、
複数のデジタルアセットのリストと、
前記リスト内の前記複数のデジタルアセットが前記電子機器にローカル格納され、かつ前記電子機器に維持されるようにすべきかどうかを指示するためのユーザ選択を可能とするユーザインタフェースコントロールと、を有することを特徴とするグラフィカルユーザインタフェース。
【請求項20】
前記リスト内の前記複数のデジタルアセットの少なくとも1つが前記電子機器でローカル格納されるとともに、前記リスト内の前記複数のデジタルアセットの少なくとも1つがクラウドデータリポジトリでリモート格納され、
前記複数のデジタルアセットが前記電子機器でローカル格納されているのか、前記クラウドデータリポジトリでリモート格納されているのかを区別するための少なくとも1つの視覚的インジケータを有することを特徴とする請求項19記載のグラフィカルユーザインタフェース。
【請求項1】
データストレージ用のメモリを有する電子機器でデジタルアセットを提示するために、データにアクセスする方法であって、
前記電子機器によって提示すべきデジタルアセットを特定するステップと、
前記電子機器が利用可能なネットワークパフォーマンスを判定するステップと、
リモートクラウドストレージに要求すべき前記デジタルアセットの品質バージョンを、前記ネットワークパフォーマンスに基づいて判定するステップと、
前記デジタルアセットの前記判定された品質バージョンを前記リモートクラウドストレージに要求するステップと、
前記要求された前記デジタルアセットの前記判定された品質バージョンに関する電子ファイルを、前記電子機器で前記リモートクラウドストレージから受信するステップと、
前記電子ファイルを前記電子機器の前記データストレージに格納するステップと、を有することを特徴とする方法。
【請求項2】
前記デジタルアセットの前記判定された品質バージョンに関する前記電子ファイルを用いて、前記電子機器で前記デジタルアセットを提示するステップをさらに有することを特徴とする請求項1記載の方法。
【請求項3】
前記電子機器が携帯電話機を含むことを特徴とする請求項1記載の方法。
【請求項4】
前記ネットワークパフォーマンスが、データ転送に利用可能なネットワーク帯域幅またはビットレートに少なくとも部分的に基づくことを特徴とする請求項1乃至請求項3のいずれか1項に記載の方法。
【請求項5】
データストレージ用のローカルメモリを有する電子機器でデジタルアセットを提示するために、データにアクセスする方法であって、
前記電子機器によって提示すべきデジタルアセットの指示を受信するステップと、
前記デジタルアセットの高品質バージョンが前記電子機器の前記ローカルメモリから入手不能かどうか判定するステップと、
前記電子機器が利用可能なネットワークパフォーマンスが、デジタルアセットのダウンロードに十分かどうか判定するステップと、
前記デジタルアセットの前記高品質バージョンが、クラウドデータリポジトリから入手可能かどうかを判定するステップと、
前記電子機器が利用可能な前記ネットワークパフォーマンスが、デジタルアセットのダウンロードに十分であると判定され、前記デジタルアセットが前記クラウドデータリポジトリから入手可能であり、前記電子機器の前記ローカルメモリから入手不能であれば、前記デジタルアセットの前記高品質バージョンを前記クラウドデータリポジトリからダウンロードするステップと、
ダウンロードされている前記デジタルアセットの前記高品質バージョンを、前記ローカルメモリに格納するステップと、を有することを特徴とする方法。
【請求項6】
前記デジタルアセットの前記高品質バージョンを、前記電子機器で提示するステップ、をさらに有することを特徴とする請求項5記載の方法。
【請求項7】
前記デジタルアセットの前記高品質バージョンを提示する前記ステップが、前記ダウンロードするステップと少なくとも部分的に同時実行されることを特徴とする請求項6記載の方法。
【請求項8】
前記デジタルアセットが、前記電子機器で再生可能なデジタルメディアアセットであり、
前記デジタルアセットの前記高品質バージョンを前記電子機器で提示する前記ステップが、前記デジタルアセットの前記高品質バージョンを前記電子機器で再生するステップを有することを特徴とする請求項5乃至請求項7のいずれか1項に記載の方法。
【請求項9】
データストレージ用のメモリを有する電子機器でデジタルアセットを提示するためにデータにアクセスするためのコンピュータプログラムが少なくとも格納されたコンピュータ可読媒体であって、
前記電子機器によって提示すべきデジタルアセットを特定するためのコンピュータプログラムと、
前記電子機器が利用可能なネットワークパフォーマンスを判定するためのコンピュータプログラムと、
リモートクラウドストレージに要求すべき前記デジタルアセットの品質バージョンを、前記ネットワークパフォーマンスに基づいて判定するためのコンピュータプログラムと、
前記デジタルアセットの前記判定された品質バージョンを前記リモートクラウドストレージに要求するためのコンピュータプログラムと、
前記要求された前記デジタルアセットの前記判定された品質バージョンに関する電子ファイルを、前記電子機器で前記リモートクラウドストレージから受信するためのコンピュータプログラムと、
前記電子ファイルを前記電子機器の前記データストレージに格納するためのコンピュータプログラムと、を有するコンピュータ可読媒体。
【請求項10】
データストレージ用のローカルメモリを有する電子機器でデジタルアセットを提示するためにデータにアクセスするためのコンピュータプログラムが少なくとも格納されたコンピュータ可読媒体であって、
前記電子機器によって提示すべきデジタルアセットの指示を受信するためのコンピュータプログラムと、
前記デジタルアセットの高品質バージョンが前記電子機器の前記ローカルメモリから入手不能かどうか判定するためのコンピュータプログラムと、
前記電子機器が利用可能なネットワークパフォーマンスが、デジタルアセットのダウンロードに十分かどうか判定するためのコンピュータプログラムと、
前記デジタルアセットの前記高品質バージョンが、クラウドデータリポジトリから入手可能かどうかを判定するためのコンピュータプログラムと、
前記電子機器が利用可能な前記ネットワークパフォーマンスが、デジタルアセットのダウンロードに十分であると判定され、前記デジタルアセットが前記クラウドデータリポジトリから入手可能であり、前記電子機器の前記ローカルメモリから入手不能であれば、前記デジタルアセットの前記高品質バージョンを前記クラウドデータリポジトリからダウンロードするためのコンピュータプログラムと、
ダウンロードされている前記デジタルアセットの前記高品質バージョンを、前記ローカルメモリに格納するためのコンピュータプログラムと、を有するコンピュータ可読媒体。
【請求項11】
データストレージ用のローカルメモリを有し、ネットワークに接続可能な電子機器において、デジタルアセットをアップグレードする方法であって、
前記ローカルメモリに格納されているデジタルアセットの低品質バージョンを、アップグレードすべきかどうか判定するステップと、
前記電子機器が利用可能なネットワークパフォーマンスが、デジタルアセットのアップグレードに十分かどうか判定するステップと、
前記電子機器が利用可能な前記ネットワークパフォーマンスが、デジタルアセットアップグレードに十分であると判定されれば、前記デジタルアセットの高品質バージョンのダウンロードをクラウドサーバに要求するステップと、
前記デジタルアセットの前記高品質バージョンを、前記クラウドサーバから前記ネットワークを通じて前記電子機器で受信するステップと、
受信されている前記デジタルアセットの前記高品質バージョンを、前記ローカルメモリに格納するステップと、を有することを特徴とする方法。
【請求項12】
前記ローカルメモリに格納されているデジタルアセットの低品質バージョンを、アップグレードすべきかどうか判定する前記ステップが、少なくとも受信したユーザ入力に基づいて前記判定を行うことを特徴とする請求項11記載の方法。
【請求項13】
前記ローカルメモリに格納されているデジタルアセットの低品質バージョンを、アップグレードすべきかどうか判定する前記ステップが、少なくとも前記デジタルアセットの再生要求に基づいて前記判定を行うことを特徴とする請求項11記載の方法。
【請求項14】
前記ローカルメモリに格納されているデジタルアセットの低品質バージョンを、アップグレードすべきかどうか判定する前記ステップが、少なくとも前記電子機器のアイドル状態に基づいて前記判定を行うことを特徴とする請求項11記載の方法。
【請求項15】
前記ローカルメモリに格納されているデジタルアセットの低品質バージョンを、アップグレードすべきかどうか判定する前記ステップが、少なくとも前記電子機器のロック状態およびAC駆動状態に基づいて前記判定を行うことを特徴とする請求項11記載の方法。
【請求項16】
前記電子機器が携帯電話機を含むことを特徴とする請求項11乃至請求項15のいずれか1項に記載の方法。
【請求項17】
前記ネットワークが無線ネットワークを含み、前記ネットワークパフォーマンスが、データ転送に利用可能なネットワーク帯域幅またはビットレートに少なくとも部分的に基づくことを特徴とする請求項11乃至請求項15のいずれか1項に記載の方法。
【請求項18】
データストレージ用のローカルメモリを有する電子機器でデジタルアセットを提示するためにデータにアクセスするためのコンピュータプログラムが少なくとも格納されたコンピュータ可読媒体であって、
前記ローカルメモリに格納されている、デジタルアセットの低品質バージョンを、アップグレードすべきかどうか判定するためのコンピュータプログラムと、
前記電子機器が利用可能なネットワークパフォーマンスが、デジタルアセットのアップグレードに十分かどうか判定するためのコンピュータプログラムと、
前記電子機器が利用可能な前記ネットワークパフォーマンスが、デジタルアセットアップグレードに十分であると判定されれば、前記デジタルアセットの高品質バージョンのダウンロードをクラウドサーバに要求するためのコンピュータプログラムと、
前記デジタルアセットの前記高品質バージョンを、前記クラウドサーバから前記ネットワークを通じて前記電子機器で受信するためのコンピュータプログラムと、
受信されている前記デジタルアセットの前記高品質バージョンを、前記ローカルメモリに格納するためのコンピュータプログラムと、を有するコンピュータ可読媒体。
【請求項19】
電子機器に付随する表示機器に提示されるグラフィカルユーザインタフェースであって、
複数のデジタルアセットのリストと、
前記リスト内の前記複数のデジタルアセットが前記電子機器にローカル格納され、かつ前記電子機器に維持されるようにすべきかどうかを指示するためのユーザ選択を可能とするユーザインタフェースコントロールと、を有することを特徴とするグラフィカルユーザインタフェース。
【請求項20】
前記リスト内の前記複数のデジタルアセットの少なくとも1つが前記電子機器でローカル格納されるとともに、前記リスト内の前記複数のデジタルアセットの少なくとも1つがクラウドデータリポジトリでリモート格納され、
前記複数のデジタルアセットが前記電子機器でローカル格納されているのか、前記クラウドデータリポジトリでリモート格納されているのかを区別するための少なくとも1つの視覚的インジケータを有することを特徴とする請求項19記載のグラフィカルユーザインタフェース。
【図1】
【図2A】
【図2B】
【図3】
【図4A】
【図4B】
【図4C】
【図5A】
【図5B】
【図6A】
【図6B】
【図7】
【図8A】
【図8B】
【図8C】
【図9A】
【図9B】
【図2A】
【図2B】
【図3】
【図4A】
【図4B】
【図4C】
【図5A】
【図5B】
【図6A】
【図6B】
【図7】
【図8A】
【図8B】
【図8C】
【図9A】
【図9B】
【公開番号】特開2013−81158(P2013−81158A)
【公開日】平成25年5月2日(2013.5.2)
【国際特許分類】
【外国語出願】
【出願番号】特願2012−181152(P2012−181152)
【出願日】平成24年8月17日(2012.8.17)
【出願人】(503260918)アップル インコーポレイテッド (568)
【Fターム(参考)】
【公開日】平成25年5月2日(2013.5.2)
【国際特許分類】
【出願番号】特願2012−181152(P2012−181152)
【出願日】平成24年8月17日(2012.8.17)
【出願人】(503260918)アップル インコーポレイテッド (568)
【Fターム(参考)】
[ Back to top ]