(57)【要約】      （修正有）【課題】コンテンツ管理システムのコンテンツアイテムを、ユーザが性能の制約を受けることなく管理できるシステムを提供する。【解決手段】クライアントデバイスから複数の画像のコレクションについての要求を受信させ、クライアントデバイスにおける現在表示されているウィンドウ位置に対応する、複数の画像のコレクションのうちの第１セットの画像と、現在表示されていないウィンドウ位置に対応する、第２セットの画像とを判定させ、第１の解像度での第１セットの画像と、第２の解像度での第２セットの画像とをクライアントデバイスへ提供し、第２セットの画像のうちの１以上の画像に対応する更新されたウィンドウ位置が現在表示されているウィンドウ位置に対応することの指標をクライアントデバイスから受信し、第１の解像度で第２セットの画像のうちの１以上の画像を、クライアントデバイスへ提供させる。【選択図】図８
2019036329.tif 000002
【特許請求の範囲】
【請求項１】
方法であって、
コンテンツ管理システムに対して、該コンテンツ管理システム上の少なくとも１つのコンテンツアイテムにアクセスする要求を送信することと、
ユーザデバイス上で、前記少なくとも１つのコンテンツアイテムの予期される用途であって、前記少なくとも１つのコンテンツアイテムの第１のバージョンに対応する前記予期される用途を特定することと、
前記少なくとも１つのコンテンツアイテムの前記第１のバージョンよりも低い解像度を有する前記少なくとも１つのコンテンツアイテムの第２のバージョンを受信することと、
前記少なくとも１つのコンテンツアイテムの前記第２のバージョンと関連付けられる１以上のインタラクティブな機能を提供している間に、前記予期される用途に基づき、前記少なくとも１つのコンテンツアイテムの前記第１のバージョンをダウンロードすることと
を含む、方法。
【請求項２】
前記少なくとも１つの画像と関連付けられるメタデータをダウンロードすることをさらに含み、前記予期される用途を特定することは、前記メタデータに基づく、請求項１に記載の方法。
【請求項３】
前記第１のバージョンをダウンロードすることは、さらに、前記メタデータに基づき、前記少なくとも１つのコンテンツアイテムの前記第１のバージョンの前記ダウンロードを優先させることを含む、請求項２に記載の方法。
【請求項４】
前記予期される用途を特定することは、さらに、
前記ユーザデバイス上の前記少なくとも１つのコンテンツアイテムへのローカルアクセス、
前記ユーザデバイス上の閲覧履歴、
前記ユーザデバイス上の共有履歴、又は、
前記ユーザデバイスから前記コンテンツ管理システムへの最近のアップデート
の少なくとも１つに基づいて、前記少なくとも１つのコンテンツアイテムを分類することを含む、請求項１に記載の方法。
【請求項５】
前記少なくとも１つのコンテンツアイテムは複数の画像を含み、
前記複数の画像は、該複数の画像のそれぞれの前記予期される用途に基づいて、ダウンロードすることに対して優先順位が決定される、請求項１に記載の方法。
【請求項６】
前記ユーザデバイス上のユーザインタフェース内の画像のコレクションに前記複数の画像を表示することをさらに含む、請求項５に記載の方法。
【請求項７】
画像のコレクションの前記複数の画像のうちの画像上に実行されるユーザアクションを検知することをさらに含む、請求項５に記載の方法。
【請求項８】
前記少なくとも１つのコンテンツアイテムは複数の画像を含み、前記方法は、さらに、前記ユーザデバイス上のユーザインタフェース内のグリッドビューに前記複数の画像の１以上を提示することを含む、請求項１に記載の方法。
【請求項９】
前記複数の画像は、前記コンテンツ管理システム上に格納されるユーザアカウントと関連付けられる画像を含み、
前記複数の画像は、前記グリッドビューの１つのウィンドウ内に表示可能なものよりも多くの画像を含む、請求項８に記載の方法。
【請求項１０】
前記グリッドビューは、前記複数の画像の一部を含み、
前記複数の画像の前記一部の少なくとも１つは、前記少なくとも１つのコンテンツアイテムの前記第２のバージョンを含む、請求項８に記載の方法。
【請求項１１】
前記ユーザインタフェース内に提示される現在のウィンドウの前記グリッドビュー内に表示すべき、前記複数の画像のうち第１の部分の画像における、サムネイルの解像度のバージョンを有する前記第２のバージョンをダウンロードすることと、
前記複数の画像内の前記第１の部分の画像へ予め定義された近接内に位置する、前記複数の画像の第２の部分の画像における、前記サムネイルの画像のバージョンよりも低い解像度を有する前記第２のバージョンをダウンロードすることと、
前記第１の部分の画像又は前記第２の部分の画像に含まれない、前記複数の画像の第３の部分の画像における、最も低い利用可能な解像度を有する前記第２のバージョンをダウンロードすることと、をさらに含む、請求項８に記載の方法。
【請求項１２】
前記少なくとも１つのコンテンツアイテムのユーザ選択を検知することと、
前記ユーザ選択の検知に応じて、単一のコンテンツアイテムのビューに、前記少なくとも１つのコンテンツアイテムを提示することと、さらに含む、請求項１に記載の方法。
【請求項１３】
前記ダウンロードを行うことは、
利用可能な単一のコンテンツアイテムのビューにおいて前記少なくとも１つのコンテンツアイテムへのアクセスと、
前記少なくとも１つのコンテンツアイテムに行われるユーザアクションと、
前記少なくとも１つのコンテンツアイテムが属するコレクションにおいて他のコンテンツアイテムへの利用可能なアクセスと
の少なくとも１つに基づき、ダウンロードに対するコンテンツアイテムの優先順位を決定することをさらに含む、請求項１に記載の方法。
【請求項１４】
優先順位を決定することは、
前記単一のコンテンツアイテムのビューで見られた任意のコンテンツアイテムに第１の優先レベルを割り当てることと、
前記ユーザアクションが行われた任意のコンテンツアイテムに第２の優先レベルを割り当てることと、
前記コレクションから他のコンテンツアイテムがアクセスされた該コレクション内の任意のコンテンツアイテムに第３の優先レベルを割り当てることと、
の少なくとも１つを含む、請求項１３に記載の方法。
【請求項１５】
命令を含む非一時的コンピュータ可読媒体であって、該命令はユーザデバイスの少なくとも１つのプロセッサによって実行されたときに、前記ユーザデバイスに、
コンテンツ管理システムから前記ユーザデバイスへダウンロードすることが可能な、少なくとも１つの要因に基づく第１の数のコンテンツアイテムを決定させ、
第１の解像度の前記第１の数のコンテンツアイテムをダウンロードさせ、
前記ユーザデバイス上に、前記ダウンロードした第１の数のコンテンツアイテムのうち、それぞれの画像が第２の解像度を有する第２の数のコンテンツアイテムを含む第１のグリッドビューを表示させ、
前記第２の数のコンテンツアイテムを表示している間に、前記ダウンロードした第１の数のコンテンツアイテムのうち任意の追加のコンテンツアイテムをキャッシュさせる、非一時的コンピュータ可読媒体。
【請求項１６】
前記第１の解像度は前記第２の解像度よりも高い解像度を有する、請求項１５に記載の非一時的コンピュータ可読媒体。
【請求項１７】
前記第２の解像度はサムネイルの解像度を有し、前記第１の解像度は前記サムネイルの解像度よりも高い解像度を有する、請求項１５に記載の非一時的コンピュータ可読媒体。
【請求項１８】
前記少なくとも１つの要因は、
前記ユーザデバイスと前記コンテンツ管理システムとの間の接続レベルと、
前記ユーザデバイス上のトータルストレージの利用可能な量と、
前記ユーザデバイスの充電の利用可能な量と、
前記ユーザデバイスと関連付けられるモバイルデータプランと
の少なくとも１つを含む、請求項１５に記載の非一時的コンピュータ可読媒体。
【請求項１９】
前記ユーザデバイスの前記少なくとも１つのプロセッサによって実行されると、前記ユーザデバイスに、
前記第１のグリッドビューからの１以上のコンテンツアイテム、又は、前記キャッシュした追加の画像からのコンテンツアイテムを含むコンテンツアイテムの第２のグリッドビューを表示するように動作可能な入力を検知させる、請求項１５に記載の非一時的コンピュータ可読媒体。
【請求項２０】
前記第２のグリッドビューは前記第２の解像度を有するコンテンツアイテムを含む、請求項１９に記載の非一時的コンピュータ可読媒体。
【請求項２１】
前記ユーザデバイスの前記少なくとも１つのプロセッサによって実行されると、前記ユーザデバイスに、さらに、
前記コンテンツ管理システムに格納された各コンテンツアイテムについてのアスペクト比を決定させ、
各コンテンツアイテムについての前記アスペクト比及び前記少なくとも１つの要因に基づき、ダウンロードにおける各コンテンツアイテムの優先順位を決定させる、請求項１５に記載の非一時的コンピュータ可読媒体。
【請求項２２】
ユーザデバイスであって、
表示スクリーンと、
通信回路と、
ストレージと、
少なくとも１つのプロセッサと、を備え、前記少なくとも１つのプロセッサは、
前記ユーザデバイス上の前記ストレージに、コンテンツ管理システム上のユーザアカウントに関連付けられるコンテンツアイテムの第１のコレクションであって、第１の解像度を有するコンテンツアイテムの前記第１のコレクションをダウンロードし、
前記表示スクリーン上にコンテンツアイテムの前記第１のコレクションを表示し、
コンテンツアイテムの前記第１のコレクションと、前記ユーザアカウントに関連付けられる追加のコンテンツアイテムとの間の距離を決定し、
前記追加のコンテンツアイテムの各コンテンツアイテムと、コンテンツアイテムの前記第１のコレクションとの間の前記距離に基づき、第２の解像度又は第３の解像度の１以上での前記追加のコンテンツアイテムをダウンロードするように動作可能である、ユーザデバイス。
【請求項２３】
前記少なくとも１つのプロセッサは、さらに、
前記第２の解像度で、コンテンツアイテムの前記第１のコレクションからの短い距離を有すると決定されたコンテンツアイテムをダウンロードするように動作可能であり、前記第１の解像度は前記第２の解像度よりも高い解像度である、請求項２２に記載のユーザデバイス。
【請求項２４】
前記少なくとも１つのプロセッサは、さらに、
前記第３の解像度で、コンテンツアイテムの前記第１のコレクションからの長い距離を有すると決定されたコンテンツアイテムをダウンロードするように動作可能であり、前記第２の解像度は前記第３の解像度よりも高い解像度である、請求項２２に記載のユーザデバイス。
【請求項２５】
コンテンツアイテムの前記第１のコレクションは、少なくとも１つの要因に基づいてダウンロードされ、
前記少なくとも１つの要因は、
前記ユーザデバイスと前記コンテンツ管理システムとの間の接続レベルと、
前記ユーザデバイス上の利用可能なストレージと、
前記ユーザデバイスの利用可能な充電と、
の１つ以上を含む、請求項２２に記載のユーザデバイス。
【請求項２６】
前記少なくとも１つのプロセッサは、さらに、
コンテンツアイテムの前記第１のコレクション又は前記追加のコンテンツアイテム内の各ダウンロードされたコンテンツアイテムを特定するように動作可能であり、前記特定は、コンテンツアイテムに関連付けられるメタデータに基づく、請求項２２に記載のユーザデバイス。
【請求項２７】
システムであって、
コンテンツ管理システムに対して、該コンテンツ管理システム上の少なくとも１つのコンテンツアイテムにアクセスする要求を送信する手段と、
ユーザデバイス上で、前記少なくとも１つのコンテンツアイテムの予期される用途であって、前記少なくとも１つのコンテンツアイテムの第１のバージョンに対応する前記予期される用途を特定する手段と、
前記少なくとも１つのコンテンツアイテムの前記第１のバージョンよりも低い解像度を有する前記少なくとも１つのコンテンツアイテムの第２のバージョンを受信する手段と、
前記少なくとも１つのコンテンツアイテムの前記第２のバージョンと関連付けられる１以上のインタラクティブな機能を提供している間に、前記予期される用途に基づき、前記少なくとも１つのコンテンツアイテムの前記第１のバージョンをダウンロードする手段と
を備える、システム。
【請求項２８】
前記少なくとも１つの画像と関連付けられるメタデータをダウンロードする手段をさらに備え、前記予期される用途を特定することは、前記メタデータに基づく、請求項２７に記載のシステム。
【請求項２９】
前記少なくとも１つのコンテンツアイテムは、複数の画像を含み、前記複数の画像は、該複数の画像のそれぞれの前記予期される用途に基づいて、ダウンロードの優先順位が決定される、請求項２７に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
種々の実施形態が一般に複数の解像度を有するコンテンツアイテムを管理することに関連する。
【背景技術】
【０００２】
カメラ及びカメラを含むユーザデバイスが現代社会の必需品である一方で、画像を閲覧、共有、やり取りする能力がネットワークの制限によって大いに影響を受けている傾向にある。ユーザはそのユーザデバイスに格納された複数の画像を有するものの、それらのデバイスの有限の格納制限に起因して、当該ユーザは、それらのデバイスに格納された画像及びビデオの少なくとも一方の全てを維持することができないか、或いは、維持することを望まないかもしれない。昨今、この問題は、ユーザのリクエストによって閲覧及びアクセスの少なくとも一方が行われうる、大容量の画像やビデオをアップロードすることや格納することをユーザに許容するクラウドストレージシステムやソーシャルメディアネットワークの使用の増加によって解消されてきている。
【０００３】
しかしながら、クラウドストレージシステム及びソーシャルメディアネットワークの少なくとも１つ上の画像及びビデオの少なくとも１つへのアクセスは、継続的に利用可能なものではなく、それ故、様々な要因に依存してユーザにそれらの格納したコンテンツを閲覧させる。例えば、低若しくは弱インターネット接続又はＷｉ−Ｆｉの信号は、ローカルでの画像の閲覧又はダウンロードの妨げとなる。コンテンツ管理システムに格納された高解像度画像は、例えば、同一の画像の低解像度画像よりもユーザデバイスへダウンロードするのにより長い時間を要する。しかし、ユーザは、クラウドストレージシステムへ初期にアップロードする際やアップロードすべき画像及びビデオの少なくとも一方をキャプチャする際に、それらの潜在的な性能の制限に気付かないかもしれない。したがって、ユーザが画像及びビデオの少なくとも一方に対してアクセス及び閲覧の少なくとも一方を試み、インターネット接続及び他の種々のダウンロードの制約に影響を受けるとすぐに、生じうる複雑な事態が、より重大に感じられる。
【０００４】
さらに、性能の制限に依存して、ユーザは当該ユーザが所望する品質でそれらの格納した画像にアクセスすることができないかもしれない。例えば、ユーザは、それらのコンテンツ管理システム又はクラウドストレージアカウントへ高解像度（例えば、１０８０ｐ）の画像をキャプチャ及びアップロードの少なくとも一方を初期に行っているかもしれない。接続レベルが非常に低い場合、高解像度の画像をダウンロードすることは、非常に難しいかもしれないし、閲覧結果がピクセル化したもの又はグレイアウトしたものとなるかもしれない。さらに、高解像度の画像をダウンロードすることは、画像のファイルサイズに起因して長い期間を必要とし、従って、ユーザはそれらのローカルクライアントデバイス上で画像の閲覧及びやり取りの少なくとも一方を行うのに要望するよりも長く待たなければならいであろう。
【０００５】
したがって、本発明は、複数の解像度を有し、コンテンツ管理システム又は他のクラウドベースのストレージプロバイダに格納されるコンテンツアイテムを、ユーザ経験上の影響を有する種々の性能の制約を受けることなく、ユーザが管理することを許容する、上述の問題に有益なシステム及び方法を提供する。
【発明の概要】
【０００６】
複数の解像度を有するコンテンツアイテムを管理するシステム、方法、非一時的コンピュータ可読媒体が提供される。そのようなシステムは、１以上のプロセッサ、表示スクリーン、通信回路、ストレージ、及び命令を含むメモリを含んでもよい。
【０００７】
そのような方法は、通信ネットワークを介してユーザデバイスからコンテンツ管理システムへアクセスすることを含んでもよい。いくつかの実施形態において、ユーザデバイスのユーザはコンテンツ管理システム上の認証されたアカウントを有してもよい。例えば、コンテンツ管理システムは、ユーザデバイス上に常駐する専用のコンテンツ管理システムアプリケーションおよびコンテンツ管理システムをホストするウェブページへのリンクの少なくとも一方を用いてアクセスされてもよい。コンテンツ管理システムからの画像などの１以上のコンテンツアイテムをダウンロードする要求は、アクセスが許可されることに応じて送信されうる。いくつかの実施形態において、１以上のコンテンツアイテムは、関連付けられたメタデータを含んでもよい。１以上のコンテンツアイテムの分類は、要求に応じてコンテンツアイテムの予期される用途に基づいて実行されてもよい。いくつかの実施形態において、分類は、第１のバージョンの１以上のコンテンツアイテムが必要とされうるかどうかを判定してもよい。分類に応じて、第２のバージョンの１以上のコンテンツアイテムは、コンテンツ管理システムからユーザデバイスへダウンロードされてもよい。第２のバージョンの１以上のコンテンツアイテムをダウンロードしている場合、第１のバージョンの１以上のコンテンツアイテムのバックグラウンドでのダウンロードが実行されうる。いくつかの実施形態において、第１のバージョンの１以上のコンテンツアイテムは、第２のバージョンの１以上のコンテンツアイテムよりも高い解像度を有してもよい。
【０００８】
いくつかの実施形態において、分類は、種々の要因に基づいて１以上のコンテンツアイテムを収集することを含んでもよい。例えば、分類は、それらのユーザデバイスに格納される１以上のコンテンツアイテムへアクセスしたり、１以上のコンテンツアイテムが現れるようにページをスクロールしたり、１以上のコンテンツアイテム上でアクションを実行したりするユーザの能力に基づいてもよい。いくつかの実施形態において、１以上コンテンツアイテムを共有すること又は前回の共有がコンテンツアイテムを収集する基準を形成してもよい。
【０００９】
そのような方法はまた、１以上の要因に基づいて、コンテンツ管理システムからユーザデバイスへダウンロードすることが可能なコンテンツアイテムの数を決定することを含んでもよい。決定された数の画像などのコンテンツアイテムは、第１の解像度でコンテンツ管理システムからダウンロードされてもよい。ダウンロードされたコンテンツアイテムのうちの第１のセットのコンテンツアイテムを含む第１のグリッドビューが、ユーザデバイス上に表示されてもよい。第１のセットのコンテンツアイテムの各コンテンツアイテムは、第１の解像度よりも低い第２の解像度で表示されたり、フォーマットされたりしてもよい。第１のグリッドビューには表示されないが、ダウンロードされている任意の追加のコンテンツアイテムはキャッシュされてもよい。例えば、追加のコンテンツアイテムは、ユーザデバイスの一時的なキャッシュメモリにキャッシュされてもよい。さらに、キャッシュされた追加のコンテンツアイテムの各コンテンツアイテムは、１以上の追加のグリッドビューに表示されてもよい。
【００１０】
いくつかの実施形態において、１以上の要因はユーザデバイスとコンテンツ管理システムとの間の接続レベル、ユーザデバイス上の利用可能なストレージスペース、ユーザデバイスの利用可能な充電量、及びユーザデバイスに関連付けられるデータプランの少なくとも１つを含んでもよい。例えば、ダウンロード可能なコンテンツアイテムの量は、ユーザデバイスが強いインターネット接続又は弱いインターネット接続を有するかどうかに依存してもよい。１以上の要因はまた、ユーザデバイス上のコンテンツアイテムの閲覧履歴に対応してもよい。例えば、最近閲覧された画像が最近閲覧されていない画像よりも前にダウンロードされてもよい。
【００１１】
そのような方法はまた、ユーザデバイス上に設けられた通信回路を用いて通信ネットワーク上のコンテンツ管理システムのアカウントにアクセスすることを含んでもよい。アクセスされたアカウントに格納される第１のコレクションのコンテンツアイテムは、第１の解像度で当該デバイスのストレージにダウンロードされてもよく、ユーザデバイス上に表示されてもよい。いくつかの実施形態において、第１のコレクションのコンテンツアイテムとアカウント内に格納された任意の追加のコンテンツアイテムとの間の距離が判定されてもよい。追加のコンテンツアイテムが各コレクション間の判定された距離に依存して第２の解像度及び第３の解像度の少なくとも一方でダウンロードされてもよい。例えば、それらと現在閲覧されている画像との間の距離が短い距離であると判定された画像は、第１の解像度よりもより低品質の第２の解像度でダウンロードされてもよい。さらに、それらと現在閲覧されている画像との間の距離が長い距離であると判定された画像は、第２の解像度よりもより低品質の第３の解像度でダウンロードされてもよい。
【図面の簡単な説明】
【００１２】
本発明の上述および他の側面並びに利点は、添付の図面も併用しつつ以下の詳細な説明を考慮することでより明らかとなるであろう。添付の図面では、全体を通して、同様の参照符号は同様の部材を示す。
【図１】様々な実施の形態に従う例示的なシステムを示す。
【図２】種々の実施形態に従う、様々な解像度を有する画像を表示する、例示的なユーザインタフェースに対応する概略図を示す。
【図３】種々の実施形態に従う、ダウンロードする優先順位に基づく優先レベルを画像へ割り当てる例示のフローチャートを示す。
【図４】種々の実施形態に従う、ユーザデバイス上のコレクション内の画像を分類する概略を示す。
【図５】種々の実施形態に従う、ユーザインタフェース上に表示することが可能なグリッドビューの例示のダイアグラムを示す。
【図６】種々の実施形態に従う、１以上のグリッドの構造を説明する概略図を示す。
【図７】種々の実施形態に従う、現在の表示ウィンドウからの距離に基づく種々のグリッドビューの解像度を表示する例示のブロック図を示す。
【図８】種々の実施形態に従う、画像のバックグラウンドでのダウンロードを実行するための処理の例示のフローチャートを示す。
【図９】種々の実施形態に従う、画像を表示し、キャッシュするための処理の例示のフローチャートを示す。
【図１０】種々の実施形態に従う、画像間の決定された距離に基づいて画像をダウンロードするための処理の例示のフローチャートを示す。
【図１１】様々な実施形態に従う、他の例示的なシステムを示す。
【発明を実施するための形態】
【００１３】
複数の解像度を有するコンテンツアイテムを管理するための方法、システム、コンピュータ可読媒体を提供する。コンテンツアイテム若しくはアイテムの第２の解像度のバージョンを、バックグラウンドでダウンロードするか、又は、ダウンロードを試みる間に、ユーザは、ユーザデバイス上で第１の解像度で画像などのコンテンツアイテムのやり取り及び閲覧をすることができる。ここで使用されるように、用語「バックグラウンド」処理は、ユーザデバイスでの現在のユーザインタラクションに直接関連しない任意の処理であってもよい。
【００１４】
なお、以下、「デバイス（ｄｅｖｉｃｅ）」及び「コンテンツ管理システム（ｃｏｎｔｅｎｔ  ｍａｎａｇｅｍｅｎｔ  ｓｙｓｔｅｍ）」との用語は、本明細書で、広範なストレージプロバイダ及びデータ管理サービスプロバイダと、電子デバイスとユーザデバイスとを広く指すものとして用いられる。また、「コンテンツアイテム（ｃｏｎｔｅｎｔ  ｉｔｅｍ）」との語は、本明細書で、広範なデジタルデータ、ドキュメント、テキストコンテンツアイテム、音声コンテンツアイテム、ビデオコンテンツアイテム、コンテンツアイテムの一部、及び／又は他の種類のデータを広く指すものである。コンテンツアイテムはまた、ファイル、フォルダ、又は、コンテンツアイテムのコレクション、プレイリスト、アルバムのような異なる振る舞いで一緒にコンテンツアイテムをグループ化する他の機構を含み得る。ここで、「ユーザ（ｕｓｅｒ）」の語もまた、この中で広く用いられ、シングルユーザ、複数のユーザ、認証されたアカウント、代わりに自動的に動作する又は人間の命令により動作するアプリケーション又はプログラム、任意の他のユーザタイプ、又はこれらの任意の組み合わせに相当し得る。ここで、「ジェスチャ（ｇｅｓｔｕｒｅ）」及び「複数のジェスチャ（ｇｅｓｔｕｒｅｓ）」との語はまた、この中で広く用いられ、１以上の運動、動き、ホバリング、推論、サイン、又は１つ以上のセンサとの任意の他の物理的な相互作用、又は、発話によるコマンドや網膜の追跡に基づく目の動きの解釈などの、これらの任意の組み合わせに相当し得る。「連続するリアルタイム画像（ｃｏｎｔｉｎｕｏｕｓ  ｒｅａｌ−ｔｉｍｅ  ｉｍａｇｅ）」はまた、この中で広く用いられ、１つ以上の撮影コンポーネントを介して撮影されたライブ画像、撮影された連続画像、記録された画像、又は撮影コンポーネントを介して撮影され得る任意の他の種類の画像、又はこれらの任意の組み合わせに相当し得る。
【００１５】
本発明は、様々なコンポーネント及びコンポーネントの配置、様々な技術、方法、又はステップの手順と配置を具体化し得る。参照される図面は、実施の形態を説明することのみを目的としており、本発明を限定するものとして解釈されるものではない。それぞれが互いに独立して又は他の特徴との組み合わせにおいて用いることができる、様々な発明の特徴が以下に記載される。
【００１６】
図１は、様々な実施の形態に従う例示的なシステムを示す。システム１００は、ネットワーク１０６を跨いでコンテンツ管理システム１０４と通信するユーザデバイス１０２ａと１０２ｂとを含む。２つのユーザデバイスのみがシステム１００内に示されているが、任意の数のユーザデバイスがコンテンツ管理システム１０４及び／又はネットワーク１０６と作用し、上述の説明は単なる例示であることを、当業者は認識する。
ネットワーク１０６は、伝送制御プロトコル及びインターネットプロトコル（「ＴＣＰ／ＩＰ」）、ハイパーテキスト・トランスファー・プロトコル（「ＨＴＴＰ」）及び／又はワイヤレス・アプリケーション・プロトコル（「ＷＡＰ」）を含み、但しこれらに限定されない、任意の数のプロトコルを含み得る。例えば、ユーザデバイス１０２ａとユーザデバイス１０２ｂ（まとめると１０２）とは、ＴＣＰ／ＩＰを用いてコンテンツ管理システム１０４と通信し、そして、上位レベルでは、コンテンツ管理システム１０４におけるウェブサーバとＨＴＴＰを用いて通信するために、ブラウザを用い得る。
【００１７】
様々なユーザデバイス１０２は、デスクトップコンピュータ、モバイルコンピュータ、モバイル通信デバイス（例えば携帯電話機、スマートフォン、タブレット）、テレビ、セットトップボックス、及び／又は、任意の他のネットワーク利用可能デバイス、を含む、但しこれに限定されない、コンテンツ管理システム１０４と通信する。様々なタイプのユーザデバイスは、スマートフォン、携帯電話機、タブレットコンピュータ、パーソナルデジタルアシスタント（ＰＤＡｓ）、ラップトップコンピュータ、デジタル音楽プレイヤ、及び／又は、タッチ感応式表示インタフェースを含むことができる、任意の他の種類のユーザデバイスを含む、但しこれに限定されない、ものであり得る。様々なタッチ感応式表示インタフェースは、液晶ディスプレイ（ＬＣＤ）、モノクロディスプレイ、カラーグラフィックスアダプタ（ＣＧＡ）ディスプレイ、エンハンストグラフィックスアダプタ（ＥＧＡ）ディスプレイ、可変グラフィックスアレイ（ＶＧＡ）ディスプレイ、任意の他のディスプレイ、を含む、又はこれらの任意の組み合わせを含む、但しこれに限定されない、ものであり得る。ある実施形態では、タッチ感応式ディスプレイインタフェースは、ジェスチャを受け付けて検出するために、１つ以上のプロセッサに接続されたマルチタッチパネルを含み得る。マルチタッチパネルは、例えば、１つ以上の行トレースを有し、及び／又はライントレースを駆動する、及び１つ以上の列トレースを有し、及び／又はラインを検知する、容量性の検知媒体であり得る。マルチタッチパネルは、この中でタッチ感応式ディスプレイインタフェースの１つの例として記載されるが、当業者は任意のタッチ感応式ディスプレイインタフェースが使用されることを認識する。更に、様々な種類のユーザデバイスは、ある実施形態では、１つ以上の撮影コンポーネントを含み得る。例えば、ユーザデバイス１０２は、前向きカメラ及び／又は後向きカメラを含み得る。
【００１８】
コンテンツ管理システム１００は、ユーザが認証されたアカウントを使ってコンテンツを格納できるようにし、また、検索、修正、ブラウズ、同期及び／又は他のアカウントにコンテンツを共有するような管理タスクを実行する。いくつかの実施形態では、ユーザデバイス１０２上の対応するユーザインタフェース（例えばスタンドアロンアプリケーション、クライアントアプリケーション等）は、ユーザがコンテンツ管理システム１０４のモジュールによって提供される機能を実行することができるように、コンテンツ管理インタフェースモジュールを用いて実装され得る。システム１００の更なる詳細な記載は、図１１を参照して以下に示される。
【００１９】
いくつかの実施形態において、ユーザインタフェース２００は画像２０２などの画像のセットを表示してもよい。画像２０２は、例えば、行と列の画像を含むグリッドビューに表示されてもよい。当業者は任意の量の行及び列が使用され、任意の量の画像がセット２０２内に表示されうることを認識するであろう。例えば、セット２０２は、９、１６、１００、又は１０００の画像、或いは任意の他の数の画像を含んでもよい。いくつかの実施形態において、表示される画像のセットは、所定の数の全てが表示される画像や、一部に表示されるもののみを有するいくつかの画像を含んでもよい。画像の一部は、現在表示されたウィンドウへ近接する表示ウィンドウ内に表示される画像に対応してもよい。いくつかの実施形態において、それらの画像は、スワイプ、クリック又はスクロールなどの１以上のアクションをユーザが実行することによって全てが閲覧されてもよい。
【００２０】
セット２０２内に含まれる画像は、任意の適切なフォーマットに提示されてもよい。  例えば、セット２０２内の画像のいくつか又は全ては、高解像度の画像及びビデオの少なくとも１つ、標準解像度の画像及びビデオの少なくとも１つ、又はそれらの任意の他の組み合わせであってもよい。セット２０２内の各画像の種々のフォーマットは、画像又は複数の画像の表示解像度に対応してもよい。画像の表示解像度は、表示されうる画像の各次元の画素の数に対応してもよい。いくつかの実施形態において、セット２０２内に表示される画像の解像度は、ユーザインタフェース（ユーザインタフェースを表示する表示スクリーン）の表示解像度の性能によって制限されてもよい。画像の種々の解像度は、限定はしないが、標準解像度（例えば、４８０ｉ、５７６ｉ）、改善解像度（例えば、４８０ｐ、５７６ｐ）、高解像度（例えば、７２０ｐ、１０８０ｉ、１０８０ｐ）、及び超高解像度（例えば、２１６０ｐ、４３２０ｐ、８６４０ｐ）の少なくとも１つ、又は、任意の他の解像度を含んでもよい。
【００２１】
いくつかの実施形態において、ユーザはフルスクリーンモードで閲覧するセット２０２のうちの１以上の画像を選択してもよい。例えば、ユーザは指２０６を用いてセット２０２から画像２０４を選択してもよい。任意のジェスチャ、又は複数のジェスチャの組み合わせが画像を選択するために使用されてもよい。例えば、指２０６は、それらの上をタップすることによって画像２０４を選択してもよい。
【００２２】
選択した画像２０４は、サムネイルの解像度（例えば、７５ｘ７５ピクセル）などの第１の解像度でセット２０２内に初期に表示されてもよい。当業者は、サムネイルの解像度が、限定はしないが、１００ｘ１００ピクセル、１６０ｘ１６０ピクセル、２００ｘ２００ピクセル又は任意の他の組み合わせ、置換、又はそれらの範囲内の、複数のピクセルレベルを包含しうることを認識するであろう。サムネイルの解像度の画像２０４を提示することは、少なくとも一部において、利用可能な解像度でセット２０２からの複数の又は全ての画像を提示することの困難性に起因しうる。例えば、デバイスが高解像度（例えば、１０８０ｐ）でセット２０２内に含まれる全ての画像を格納するのに十分なトータルストレージを有していなければ、セット２０２は、より低い解像度（例えば、サムネイルの解像度）で初期に表示され、格納されてもよい。
【００２３】
画像２０４が選択されると、フルスクリーンモードでの画像又は単一の画像のビューを閲覧する要求が、コンテンツ管理システム（例えば、コンテンツ管理システム１００）へネットワーク（例えば、ネットワーク１０４）を介して送信されうる。例えば、ローカルではデバイスがセット２０２により低い解像度の画像を格納して表示する一方で、ユーザはコンテンツ管理システム上のそれらのアカウント内に格納される高解像度のバージョンの画像を有してもよい。ユーザによるセット２０２からの１以上の画像の選択の検知に応じて、コンテンツ管理システムは、高品質又は高解像度のバージョンの画像２０４を検索し、ユーザデバイスへ送信してもよい。いくつかの実施形態において、コンテンツ管理システムは、ユーザに対して閲覧可能又は不可能であってもよい、それ自身別個のインタフェース２５０を含んでもよい。いくつかの実施形態において、コンテンツ管理システム上に描画されるアクティビティは、ユーザからの物理的なインタラクションなしで実行されてもよい。しかしながら、例示の目的で、コンテンツ管理システムのインタフェース２５０は、ここに提示されてもよい。インタフェース２５０は、セット２０２からのその選択に応じて、画像２０４の単一の画像ビューを表示する要求を受信してもよい。インタフェース２５０（及び、コンテンツ管理システム１００）は、その後、コンテンツ管理システム上のユーザのアカウント内の高品質の画像２５４を配置してもよい。画像２５４は、いくつかの実施形態において、画像２５４がより高解像度から成ってもよい例外として、実質的に類似の画像２０４であってもよい。
【００２４】
いくつかの実施形態において、画像２５４は、ユーザデバイスへ送信され、ユーザインタフェース２００内に表示されてもよい。ユーザインタフェース２００内に初期に表示されたセット２０２は、ユーザインタフェース２００上で画像２５４に置き換えられてもよく、任意の数の表示スクリーンを立ち上げてもよい。例えば、画像２５４は、ユーザインタフェース上の「フルスクリーン」モードで表示されてもよいし、ユーザインタフェース２００の全て又はほぼ全てを占有してもよい。画像２５４は、ユーザインタフェース２００上の利用可能な表示空間の一部のみを占有してもよい。いくつかの実施形態において、セット２０２の一部及び画像２５４の両方は、ユーザインタフェース２００内に表示されてもよい。
【００２５】
いくつかの実施形態において、画像２０４を選択すること、高解像度のバージョン（例えば、画像２５４）に対するコンテンツ管理システムへの要求を送信すること、及び、単一の画像ビューの画像２５４を提示することの処理は、実質的に同時に全てが行われてもよい。例えば、ユーザは画像２０４を選択し、それに続いて、最小時間の遅延で単一の画像のビューで画像２５４が提示されてもよい。しかしながら、これは、要求の送信や高解像度の画像をダウンロードすることがネットワーク接続及び他の性能特性の少なくとも１つに依存するように、ユーザデバイスとコンテンツ管理システムとの間の接続レベルに依存してもよい。いくつかの実施形態において、これは、セット２０２のうちの画像の１以上を局所的にキャッシュすることによって解決されてもよく、これによって、画像２０４の選択と画像２５４の閲覧との間の任意の時間遅延を減少することになる。
【００２６】
いくつかの実施形態において、セット２０２内に含まれる画像に対応する画像２５４及び他の高品質のバージョンがバックグラウンドでダウンロードされてもよい。例えば、セット２０２のユーザインタフェースのように、画像２５４などの、種々の高品質のバージョンの画像がバックグラウンドでダウンロードされてもよい。これは、コンテンツ管理システムへ送信される要求や画像の応答を待つことなく、単一の画像ビューで、選択した画像をユーザが閲覧することを許容する。いくつかの実施形態において、高解像度のバージョンの画像は、ユーザデバイスへのダウンロードにおいて動的に優先順位が決定されてもよい。例えば、最近閲覧した画像、最近格納された画像、及び最近アップロードされた画像の少なくとも１つがダウンロードされるように優先順位が決定されてもよい。
【００２７】
図３は、種々の実施形態に従う、ダウンロードする優先順位に基づいて優先レベルを画像へ割り当てる例示のフローチャートを示す。処理３００はステップ３０２から開始される。ステップ３０２で、単一の閲覧モードで閲覧すべき選択された画像が利用可能であるかどうかに関する決定が行われうる。上記決定はユーザデバイス、コンテンツ管理システム、又は両方で分割されて（例えば、ユーザデバイス上で開始し、コンテンツ管理システム上で完了する）、実行されてもよい。例えば、選択した画像（例えば、画像２０４）は、ネットワーク接続の欠如のため単一の閲覧モードでの閲覧が利用可能でなくてもよい。単一の閲覧モードは、画像２０４の高品質のバージョン（例えば、画像２５４）を取得するか、又は、取得するように試みてもよいが、ユーザデバイスとコンテンツ管理システムとの間のネットワーク接続の欠如に起因して、高品質の画像が即座に利用可能でないかもしれない。ステップ３０２で、アクセスが利用不可能であれば、処理３００は、ステップ３０４へ進む。アクセスが利用可能であれば、処理３００は、ステップ３０８へ進み、第１の優先レベルが１以上の選択された画像に割り当てられる。
【００２８】
ステップ３０４で、選択した画像と同一のコレクション内に位置する任意の追加の画像が利用可能であるかどうかに関しての決定が行われてもよい。例えば、画像２０４は、セット２０２などの画像のコレクション内に位置してもよい。コレクション２０２内の追加画像の１つ以上がアクセス可能であれば、その後、選択した画像又は選択した複数の画像が第２の優先レベルに割り当てられる。そうでなければ、処理３００はステップ３０６へ進む。
【００２９】
ステップ３０６で、アクションが１つ以上の選択した画像に行われたか否かについての決定が行われる。例えば、ユーザ共有、編集、及び任意の他のタスクを選択した画像に実行した場合、当該画像は第３の優先レベルに割り当てられる。そうでなければ、処理３００はステップ３０２に戻り、単一の閲覧モードで１以上の画像が利用可能となるまで待機する。
【００３０】
いくつかの実施形態において、１以上の選択した画像へ割り当てられた優先レベルがコンテンツ管理システム上のユーザアカウントからの画像をユーザデバイスへダウンロードする順序を決定してもよい。前述した例示が選択した画像へ第１、第２、第３の優先レベルを割り当てるものの、当業者は、任意の優先レベル及び任意の優先レベルの割り当てが任意の特性に基づいて実行されてもよいことを認識するであろうし、既に記載したシナリオは単に例示である。例えば、順序の多くの異なるパラダイムが動的な優先順位の決定に使用されてもよい。いくつかの実施形態において、第１の優先レベルは、第２の優先レベル及び第３の優先レベルの両方よりも高くランク付けされてもよい。例えば、動的な優先順位の順序は、第１の優先レベル、第２の優先レベル、及び第３の優先レベルであってもよい。このシナリオでは、第１の優先レベルがより高くランク付けされ、従って、第２の優先レベルが割り当てられたアイテムよりも前にダウンロードされうる。また、このシナリオでは、第２の優先レベルが第３の優先レベルよりも高くランク付けされてもよく、第２の優先レベルに割り当てられたアイテムは第３の優先レベルが割り当てられたアイテムよりも前にダウンロードされてもよい。他の例示として、動的な優先順位の順序は、第１の優先レベルが、第２の優先レベルよりも高くランク付けされた第３の優先レベルよりも高くランク付けされる第１の優先レベルを有してもよい。当業者は、優先レベルの任意の順列が実現されうることを理解するであろうし、前述した優先レベルの順序や割り当てと、ランク付けは単に例示である。さらに、当業者は、任意の数のアイテムが任意の数の優先レベルに割り当てられてもよいことも理解するであろうし、３つの優先レベルの使用は単なるれいじである。当業者は処理３００からの任意のステップがユーザデバイス、追加のデバイス、コンテンツ管理ステム、又は任意のそれらの組み合わせ上で実行されてもよいことも理解するであろう。
【００３１】
図４は、種々の実施形態に従う、ユーザデバイス上のコレクション内の画像を分類する概略を示す。インタフェース４００は、コンテンツ管理システムの特定の部分に対応し、関連するメタデータを有する画像を含んでもよい。いくつかの実施形態において、ユーザがコンテンツ管理システムに直接アクセスし、やり取りすることができたのであれば、インタフェース４００は、コンテンツ管理システム（例えば、コンテンツ管理システム１００）のディスプレイ出力に対応してもよい。例えば、ユーザはコンテンツ管理システム１００上でそれらのユーザアカウント内に格納された画像にアクセスして閲覧することを試みてもよいいくつかの実施形態において、インタフェース４００は、ユーザがそれらのユーザアカウント内に格納された画像のいくつか又は全ての閲覧の試みに応じて提示されるディスプレイに対応してもよい。
【００３２】
インタフェース４００は画像４０２、４０４を表示してもよい。２つの画像がインタフェース４００内に含まれるのみであるが、当業者は、任意の数の画像がユーザに提示されるか、ユーザアカウント内に格納されるかの少なくとも一方が行われてもよいことを理解するであろうし、２つの画像の使用は、単なる例示である。いくつかの実施形態において、インタフェース４００内に表示される画像は関連するメタデータを含んでもよい。例えば、画像４０２、４０４は、それぞれ地理的情報４０２ａ、４０４ａだけでなく時間的情報４０２ｂ、４０４ｂを含んでもよい。地理的情報４０２ａは画像４０２が撮影された場所（例えば、ニューヨークシティ）を示し、時間的情報４０２ｂは画像４０２が撮影された日付及び時刻の少なくとも一方（例えば、２０１３年１０月１日、午後１２時００分）を示してもよい。地理的情報４０４ａは画像４０４が撮影された場所（例えば、サンフランシスコ）を示し、時間的情報４０４ｂは画像４０４が撮影された日付及び時刻の少なくとも一方（例えば、２０１１年７月４日、午後３時００分）を示してもよい。いくつかの実施形態において、日付及び時刻の扱いは、画像を処理する均一性を提供するために、複数のタイムゾーンに渡って同期されてもよい。
【００３３】
関連するメタデータはまた、いくつかの実施形態において、カメラから受信した交換可能な画像ファイルフォーマット（Ｅｘｉｆ）データを含んでもよい。カメラは、画像若しくはビデオ、画像種別（例えば、パノラマ）、連写、又は任意の他の撮影コンテンツに異なる拡張子を割り当ててもよい。いくつかの実施形態において、関連するメタデータは、ユーザによって最近アップロードされた、閲覧された、又は共有された画像に対応してもよい。例えば、最近共有された画像は、それらの画像が共有されたことを示す、値１又はＴｒｕｅを示す共有指標フラグを有してもよい。いくつかの実施形態において、関連するメタデータは、特定の画像又はコレクションが閲覧された時間に関する情報を含んでもよい。例えば、各画像は、画像が閲覧された時を示すか、画像が何回閲覧されたかを示すか、又は、任意の他の閲覧基準を示す、閲覧履歴を含んでもよい。他の例として、最近共有した画像がコレクションとともに分類されてもよい。
【００３４】
いくつかの実施形態において、ユーザアカウント内に含まれる画像が関連するメタデータを用いて分類され、関連するメタデータに基づいて１以上のコレクションへ収集されてもよい。ユーザインタフェース４５０は、ユーザのユーザデバイス（例えば、デバイス１０２）上に表示されるユーザインタフェースに対応してもよい。いくつかの実施形態において、ユーザインタフェース４５０は、ユーザインタフェース４５０が画像のコレクションを含んでもよいということを例外として、図２のユーザインタフェース２００に実質的に類似してもよい。ユーザインタフェース４５０は、ユーザアカウント上の画像内に格納された関連するメタデータの１以上の一片に基づいて形成されうるコレクション４６０、４７０を含んでもよい。例えば、コレクション４６０は、サンフランシスコへのユーザの旅行からの画像に対応し、地理的情報４０４ａ及び時間的情報４０４ｂの少なくとも１つに実質的に類似するメタデータをそれぞれが有する画像４６２、４６４、４６８、４７０を含んでもよい。他の例として、コレクション４７０は、ニューヨークシティへのユーザの旅行からの画像に対応してもよく、コレクション４７０内の各画像は地理的情報４０２ａ及び時間的情報４０２ｂの少なくとも１つに実質的に類似してもよい。いくつかの実施形態において、コレクション内の画像の分類は、ユーザの最近の閲覧履歴、共有履歴、任意の最近のアップロードした画像、又はコンテンツアイテムの種別に基づいてもよい。例えば、最近閲覧した画像は特定のコレクションに含まれてもよい。
【００３５】
いくつかの実施形態において、ユーザはそれらのユーザデバイスへ、それらのユーザアカウントからの１以上の画像をダウンロードするように要求してもよい。画像又は複数の画像がダウンロードされる際に、それらは、画像に関連するメタデータに基づいて、コンテンツ管理システム及び当該デバイスの少なくとも一方によって分類されてもよい。例えば、地理的情報４０４ａ及び時間的情報４０４ｂの少なくとも１つを含む任意の画像がユーザデバイス上のコレクション４６０内に収集され、配置されてもよい。いくつかの実施形態において、コンテンツ管理システム、ユーザデバイス、又は両方に分割して常駐する１以上のアルゴリズムは、類似の又は実質的に類似のメタデータに基づいて、分類され、収集されてもよい。任意の数の画像が分類され、任意の数のコレクションに収集されてもよい。例えば、ユーザアカウント内に格納される全ての画像は、分類されるが、予め定義された数のみが１以上のコレクション内でユーザデバイスへ送信されてもよい。
【００３６】
いくつかの実施形態において、ユーザアカウント内に格納される画像は、グリッドの画像、又は、複数のグリッド画像を含むページに表示されてもよい。グリッド画像は、低解像度、又は、単一のビューモードでの画像を表示するために使用されるものよりも低解像度の任意の数の画像を含んでもよい。例えば、単一の画像ビューにおいて、画像は１５４ｘ１５４ピクセルの解像度を有し、それに対して、グリッド内の画像は７５ｘ７５ピクセルの解像度を有してもよい。上述した解像度の値は、単に例示であり、当業者は単一のビューモードとグリッドの両方に対して任意のピクセル値が使用されてもよいということを理解するであろう。いくつかの実施形態において、ユーザアカウント内に格納される全ての画像は、ユーザデバイスへ送信されうる、１以上のグリッドへ分類され、収集されてもよい。例えば、ユーザアカウント内に格納される千（１，０００）の画像が存在してもよく、百（１００）画像を含む、十（１０）のグリッドがユーザアカウント内で形成されてもよい。１０のグリッドの任意の数がユーザデバイスへ送信されてもよいが、基準要因（例えば、利用可能なトータルストレージ）が単一の時間で送信される量を決定してもよい。グリッドへの画像の収集は、画像が個別に閲覧される場合よりも速くそれらのユーザアカウント内に格納された大量の画像を見ることをユーザに許容するため、非常に有益であろう。さらに、グリッドの画像はより低い解像度を有する画像を含むため、グリッドのトータルの格納サイズは小さくてもよく、従って、任意のネットワークの待ち時間又はストレージの制約に関わらずユーザデバイス上でより早く、かつ高速に閲覧することができるであろう。例えば、低解像度のグリッドの画像を収集することによって、全体として単一の画像ビューの１以上の画像に等しい、各グリッドが低解像度を全てが有する大量の画像を含むため、より大量の画像がユーザデバイスへ送信されうる。特定の例示として、６４ｘ６４ピクセルの解像度を有する九つ（９）の画像を含む単一のグリッドは、一つ（１）の５１２ｘ５１２ピクセルの画像よりもユーザデバイスへ送信する帯域幅がより少なくてすむ。従って、ユーザは、高解像度の１つの画像のみが送信される通常送信されるよりも速く大量の画像を閲覧しやり取りすることができる。
【００３７】
図５は、種々の実施形態に従う、ユーザインタフェース上に表示することが可能なグリッドビューの例示のダイアグラムを示す。ユーザインタフェース５００は、ユーザデバイスの表示スクリーン上に表示されてもよい（例えば、ユーザデバイス上に配置されたタッチ検知ディスプレイインタフェース）。いくつかの実施形態において、ユーザインタフェース５００は、ユーザインタフェース５００がグリッドビューにおいて種々の画像を表示してもよいということを例外として、ユーザインタフェース４００に実質的に類似してもよい。
【００３８】
各グリッドは、任意の数の画像を含んでもよく、当該画像の数がコンテンツ管理システム及びユーザの少なくとも一方によって設定されてもよい。例えば、当該システムは、ユーザデバイス上の利用可能な量のトータルストレージを算出し、算出結果に基づいて、ユーザデバイスへ送信されるべき多数のグリッドを作成してもよい。いくつかの実施形態において、ユーザはどのくらいの画像が単一のグリッドビューに含まれるべきかを選択したり、当該グリッド内に含まれるべき画像の解像度を選択したりの少なくとも一方を行ってもよい。例えば、ユーザは、含まれる百（１００）が１つのグリッドに含まれるように決定してもよく、ユーザによって指定された数に基づいて、特定の解像度（例えば、７５ｘ７５ピクセル）の百の画像がグリッド内に作成されてもよい。他の例として、ユーザはグリッドビュー内に含まれる画像が所定の解像度を有することを決定してもよく、当該決定に基づいて、所定の量の画像が各画像のサイズ及び解像度に基づいてグリッド内に含まれてもよい。
【００３９】
ユーザインタフェース５００は、グリッドビュー内に複数の画像５０２を含んでもよい。複数の画像５０２は、１０ｘ１０のグリッド又は配列で表示されてもよい（例えば、列ごとに十の画像で、行ごとに十の画像）。複数の画像５０２は正方形のグリッド（例えば、行及び列ごとに同じ数の画像）を含ものの、当業者は任意の数の画像がグリッド内に含まれ、行ごと又は列ごとに任意の数の画像が使用されうることを理解するであろう。例えば、グリッドの複数の画像５０２は、２０ｘ１０（１０単位で２０）の画像、５ｘ５（５単位で５）の画像、１５ｘ８（８単位で１５）の画像、又は任意の数の他の収集画像、或いはそれらの組み合わせの配列を含んでもよい。
【００４０】
いくつかの実施形態において、グリッドビューに含まれる複数の画像は、グリッドビューのブロック又はページで送信されてもよい。例えば、複数の画像５０２は、別個のページの複数の画像５１２及び複数の画像５２２とともに１ページで送信されてもよい。複数の画像５０２は、ユーザインタフェース５００上で現在表示されているウィンドウ内に表示されてもよく、例えば、その一方で、複数の画像５１２及び複数の画像５２２がユーザインタフェース５００内に表示されうる現在表示されていないウィンドウに含まれてもよい。例えば、複数の画像５０２がユーザインタフェース５００の現在のウィンドウに初期に表示され、１以上のユーザインタラクション（例えば、スワイプ、フリック、タップ等）がユーザインタフェース５００の現在のウィンドウ内に複数の画像５１２が表示させるようにしてもよい。
【００４１】
現在表示されていないウィンドウ（例えば、複数の画像５１２及び複数の画像５２２）の１つの中に含まれる複数の画像は、現在のウィンドウ内に表示される画像よりも低い解像度にフォーマットされていてもよい。例えば、現在表示されていないウィンドウの１つにおける複数の画像５１２のうち画像５１４が現在表示されているウィンドウの複数の画像５０２のうち画像５０４よりも低い解像度でフォーマットされていてもよい。例えば、画像５０４は７５ｘ７５ピクセルのサムネイル解像度であってもよく、一方で、画像５１４は６４ｘ６４のピクセルの解像度を有するものであってもよい。これは、現在表示されていないウィンドウに含まれる画像がより少ない量のトータルストレージを占めることを許容する。現在のウィンドウの表示から現在表示されていないウィンドウへ遷移するジェスチャに応じて、現在表示されていないウィンドウ（例えば、複数の画像５１２）のうちの複数の画像は、例えば、サムネイル画像などの、より高い解像度で、コンテンツ管理システムからダウンロードされてもよい。いくつかの実施形態において、種々のグリッドビュー内に含まれる複数の画像の解像度は動的であってもよく、１以上のジェスチャの検出に応じて自動的に増大／縮小されてもよい。例えば、前述したように、ジェスチャの検出に応じて、複数の画像５１２は、より高い解像度（例えば、サムネイル解像度よりも低い解像度からサムネイル解像度へ）を有するように増大されてもよく、一方で、複数の画像５０２はそれに応じて解像度が縮小されてもよい。
【００４２】
１以上のグリッドビュー内に表示可能な画像の数は、種々の要因に依存してもよい。例えば、ユーザは利用可能なトータルストレージの量、ユーザアカウント内に格納されるトータル画像の量、及びグリッド内に表示可能な画像の解像度の少なくとも１つに基づいて、グリッド内にどのくらいの画像が含まれるべきかを決定してもよい。いくつかの実施形態において、ユーザデバイス及びコンテンツ管理システムの少なくとも一方は、どのくらいの画像がグリッドビュー内で閲覧されうるかを決定してもよい。例えば、ユーザデバイスは、九つ（９）の画像のみが一つ（１）のグリッドのユーザインタフェース上に表示されうることを決定してもよい。
【００４３】
図６は、種々の実施形態に従う、１以上のグリッドの構造を説明する概略図を示す。ユーザインタフェース６００は、それらのユーザデバイス上のユーザの現在のストレージ設定を表示してもよい。例えば、ユーザのユーザデバイスは、利用可能な各納涼を決定するために状態チェックを行ってもよい。いくつかの実施形態において、利用可能なストレージの量は、特定のファイルタイプに依存してもよい。例えば、音楽用に利用可能な第１の量のトータルストレージと、画像用に利用可能な第２の量のトータルストレージと、文書用に利用可能な第３の量のトータルストレージが存在してもよい。これは単に例示であり、当業者は、任意の量のストレージの可用性が使用されてもよく、コンテンツのフォーマットが当該コンテンツ種別用に利用可能なトータルストレージの特定の量を有し、音楽、画像、及び文書の少なくとも１つ用の第１、第２、及び第３の量のトータルストレージの使用は単なる例示であることを理解するであろう。
【００４４】
ユーザインタフェース６００はストレージ指標６０２を含んでもよい。ストレージ指標６０２は、それらのデバイスにアイテムをダウンロードする又は追加するためにユーザに対して利用可能なストレージの量を詳述している。トータルストレージ６０６は、ユーザのユーザデバイス上の利用可能なトータルストレージの総量に対応してもよい。例えば、ユーザデバイスは、ユーザのユーザデバイス上に格納されることが可能な任意の形式のメディア、ソフトウェア、アプリケーション又は他のアイテムで満たされうる、２００ＧＢのトータルストレージを含んでもよい。トータルストレージ６０６が２００ＧＢに対応するものの、当業者は、限定はしないが、１ＧＢ、１０ＧＢ、１００ＧＢ、又は１ＴＢを含む任意の格納量が使用されうることを理解するであろう。現在のストレージ６０４は、ユーザデバイス上の現在格納されているトータルストレージに対応してもよい。例えば、ユーザデバイスは、ユーザデバイス上に格納された１以上のアイテムによって現在格納されている１００ＧＢを有する、２００ＧＢの総量を有してもよい。
【００４５】
ユーザインタフェース６５０は、コンテンツ管理システム１００などのコンテンツ管理システム上のユーザアカウントの表示可能な部分に対応してもよい。いくつかの実施形態において、ユーザインタフェース６５０は、ユーザインタフェース６５０がユーザアカウント内の種々のメディアアイテムの格納値を含んでもよいということを例外として、ユーザインタフェース２５０に実質的に類似してもよい。いくつかの実施形態において、ユーザインタフェース６５０は、写真ディレクトリ６５８及びビデオディレクトリ６６８を含んでもよい。各ディレクトリはまた、それぞれ、写真ディレクトリ６５８に対応するストレージ指標６５２や、ビデオディレクトリ６６８に対応するストレージ指標６６２などの自身のストレージ指標を含んでもよい。ストレージ指標６５２、６６２は、ストレージ指標６５２、６６２のそれぞれが、ユーザアカウント内に格納される種々のメディアアイテムによって占められる利用可能なトータルストレージの量を示してもよいということを例外として、実質的にストレージ指標６０２に類似してもよい。
【００４６】
ストレージ指標６５２は、トータルストレージ値６５６を含んでもよく、ストレージ指標６６２はトータルストレージ値６６６を含んでもよい。トータルストレージ値６５６は写真をアップロードするためのコンテンツ管理システム上で利用可能なトータルストレージ量に対応してもよく、一方で、トータルストレージ値６６６はビデオをアップロードするためのコンテンツ管理システム上で利用可能なトータルストレージ量に対応してもよい。いくつかの実施形態において、トータルストレージ値６５６、６６６は、コンテンツ管理システム上のユーザアカウント内で利用可能なトータルストレージ量に等しく、かつ、対応してもよい。例えば、ユーザアカウント内で利用可能なトータルストレージは、８ＧＢであってもよく、トータルストレージ値６５６、６６６は、各ストレージ指標が当該特定のメディアタイプに対して使用する８ＧＢのみを有することを示してもよい。いくつかの実施形態において、現在の写真ストレージ値６５４は、写真によってユーザアカウント内で占められるストレージ量を示してもよい。例えば、現在の写真ストレージ値６５４は、ユーザがユーザアカウント内で格納される１ＧＢの写真を有することを示してもよい。いくつかの実施形態において、現在のビデオストレージ値６６４は、ビデオによってユーザアカウント内で占められるストレージ量を示してもよい。例えば、現在のビデオストレージ値６６４は、ユーザがユーザアカウント内で格納される２ＧＢのビデオを有することを示してもよい。いくつかの実施形態において、写真用の１ＧＢのストレージとビデオ用の２ＧＢのストレージは、８ＧＢのトータルの利用可能なストレージスペースの中から、ユーザがメディアアイテム用に使用する３ＧＢのストレージ有することを示してもよい。しかしながら、２つの現在のストレージ値は、トータル値に対して総計となる必要はなく、ビデオ及び写真の両方に対して利用可能な８ＧＢのストレージスペースであってもよい。当業者はまた、任意のストレージスペース量及び現在のストレージレベルが使用され、トータルスペースが８ＧＢで、写真用に１ＧＢ、ビデオ用に２ＧＢの使用が単なる例示であることを理解するであろう。
【００４７】
いくつかの実施形態において、コンテンツ管理システムは、ユーザデバイス上の現在のストレージレベルを決定するために、当該ユーザデバイス上で１以上のパフォーマンスアルゴリズム又はストレージアルゴリズムを実行してもよい。例えば、パフォーマンスアルゴリズムは、コンテンツ管理システムからユーザデバイスへ送信されてもよく、ユーザデバイス上で利用可能なトータルストレージ量を算出するために使用されてもよい。当該アルゴリズムは、その後ユーザデバイスに算出結果をコンテンツ管理システムへ戻すべく送信させうる。ユーザデバイスのストレージレベルを算出することに応じて、コンテンツ管理システムは、コンテンツ管理システム上のそれらのアカウント内で格納されるいくつかの又は全てのコンテンツをどのように閲覧するからを決定するために、ユーザに対する閲覧オプションをユーザデバイスに送信してもよい。前述した例示は、アルゴリズムをデバイスへ送信すること、デバイス上で情報を算出すること、算出結果をコンテンツ管理システムへ戻すべく送信すること、及び、その後にデバイスへ表示オプションが送信されることを有するが、当業者は、それらのステップのいずれか１つがコンテンツ管理システム及びユーザデバイスの何れかによって実行されてもよいことを理解するであろう。
【００４８】
ユーザデバイス上で利用可能なストレージスペースの量を算出することに応じて、ユーザデバイスは種々のグリッドビューオプションを表示してもよい。種々のグリッドビューオプションは、ユーザアカウント内に格納されるいくつかの又は全ての画像が閲覧されうる種々の方法をユーザに示してもよい。前述した例示に続いて、ユーザのユーザデバイス上に利用可能な１００ＭＢのストレージスペースと、コンテンツ管理システム上のユーザカウント内に格納された１ＧＢの写真がある。表示オプション６１０は、各画像が１０ＭＢの大きさである、１０の写真、即ち、トータル１００ＭＢの写真をグリッドビュー内に表示することが可能であることをユーザに示してもよい。表示オプション６１２は、各画像が１ＭＢの大きさである、１００の写真、即ち、トータル１００ＭＢの写真をグリッドビュー内に表示することが可能であることをユーザに示してもよい。さらに、表示オプション６１４は、各画像が１００ｋＢの大きさである、１０００の写真、即ち、トータル１００ＭＢの写真をグリッドビュー内に表示することが可能であることをユーザに示してもよい。ユーザは、それらのオプション又は任意のサイズの画像量を表示するための任意の追加のオプションの何れかを選択してもよい。例えば、ユーザは、表示オプション６１２を選択してもよく、ユーザインタフェース６００は画像セット６２２を表示してもよい。画像セット６２２は、各画像が１ＭＢのサイズである１００の写真を含んでもよい。
【００４９】
図７は、種々の実施形態に従う、現在の表示ウィンドウからの距離に基づく種々のグリッドビューの解像度を表示する例示のブロック図を示す。現在のウィンドウ７０２は、ユーザインタフェース、例えば図２のユーザインタフェース２００などによって現在表示される画像又は画像のセットに対応してもよい。現在表示されている画像は第１の解像度から成ってもよい。例えば、現在ンのユーザインタフェース内に表示される画像は、１０８０ｐの高解像度画像（１９２０ｘ１０８０、２，０７３，６００ピクセル）であってもよい。他の例として、現在のウィンドウ内に表示される画像は、グリッド内の各画像が２５６ｘ２５６ピクセルの解像度を有するグリッドの画像に対応してもよい。
【００５０】
いくつかの実施形態において、現在表示されていないウィンドウ内に表示されうる１以上の追加の画像及び画像のセットの少なくとも１つが存在してもよい。現在表示されていないウィンドウは、ユーザインタフェース内に現在表示されていない任意のウィンドウに対応してもよいが、時間内のいくつかのポイントでユーザインタフェース内に表示されうる。例えば、現在表示されていない図５のウィンドウ５０４は、現在のウィンドウ５０２から現在表示されていないウィンドウ５０４へ遷移するために、ユーザによるジェスチャ（例えば、スワイプ）に応じて表示されてもよい。ユーザのユーザデバイス上に占められるストレージスペースの量を最小化するために、現在表示されていないウィンドウに含まれる画像は、より低い解像度で格納されてもよい。現在表示されているウィンドウ及び現在表示されていないウィンドウのいずれかの中に含まれる画像の解像度は、現在表示されているウィンドウ及び現在表示されていないウィンドウの間の距離に依存してもよい。例えば、表示ウィンドウ７０４は、現在のウィンドウ７０２から距離ｄ１を有する現在表示されていないウィンドウに対応してもよい。いくつかの実施形態において、現在表示されていないウィンドウが距離ｄ１を有するのであれば、当該現在表示されていないウィンドウは、現在のウィンドウ７０２内の画像の解像度よりも低い解像度を有する１以上の画像を含んでもよい。例えば、現在表示されていないウィンドウ７０４は、９００ｐの解像度（１６００ｘ９００、１，４４０，０００ピクセル）を有する１以上の画像を含んでもよい。他の例として、現在のウィンドウ７０２が１００ｘ１００ピクセルの解像度を有するグリッドの画像を含むのであれば、現在表示されていないウィンドウ７０４は、７５ｘ７５ピクセルの解像度を有するグリッドの画像を含んでもよい。
【００５１】
いくつかの実施形態において、現在表示されていないウィンドウ７０６、７０８は、それぞれ距離ｄ２、ｄ３を有してもよい。種々の距離が各ウィンドウ内に含まれる画像又は複数の画像の解像度に対応してもよい。例えば、距離ｄ２を有するウィンドウ７０６は、７２０ｐの解像度（１２８０ｘ７２０、８２９，４４０ピクセル）を有する複数の画像を含んでもよい。他の例として、距離ｄ３を有するウィンドウ７０８は、ＳＶＧＡの解像度（８００ｘ６００、４８０，０００ピクセル）を有する複数の画像を含んでもよい。さらに他の例として、現在表示されていないウィンドウ７０６、７０８の少なくとも一方は、６４ｘ６４ピクセル又はそれよりも小さい現在表示されていないウィンドウ７０４よりも小さい解像度を有するグリッドの画像を含んでもよい。いくつかの実施形態において、現在閲覧されているウィンドウ又は画像と、現在閲覧されていないウィンドウ又は画像との間の距離が長くなればなるほど、より小さい解像度を有する現在閲覧されていないウィンドウ又は画像となってもよい。
【００５２】
図８は、種々の実施形態に従う、画像等のコンテンツアイテムのバックグラウンドでのダウンロードを実行するための処理の例示のフローチャートを示す。処理８００は、ステップ８０２で開始される。ステップ８０２で、ユーザデバイスは、通信ネットワークを介してコンテンツ管理システムにアクセスしてもよい。例えば、デバイス１０２は、ネットワーク１０４にわたるコンテンツ管理システム１００上の認証されたアカウント（例えば、ユーザアカウント）にアクセスする１以上の要求を送信してもよい。いくつかの実施形態において、コンテンツ管理システムにアクセスすることは、ユーザがユーザ名、パスワード、又は任意の他の識別情報若しくはクレデンシャル、或いはそれらの組み合わせを入力することを含んでもよい。いくつかの実施形態において、ユーザがコンテンツ管理システムへのアクセスを許可されるとすぐに、供給されたログインクレデンシャルがユーザデバイス及びコンテンツ管理システムの少なくとも一方に格納されてもよい。
【００５３】
ステップ８０４で、コンテンツ管理システムからの１以上の画像にアクセスする要求が、ユーザデバイスからコンテンツ管理システムへ送信されてもよい。当該要求は、コンテンツ管理システムがユーザデバイスへアクセスを許可することに応じて送信されてもよい。例えば、コンテンツ管理システム上のユーザアカウントへログインされるとすぐに、ユーザは、ユーザアカウント内に格納された１以上の画像を選択してもよい。１以上の画像の選択に応じて、ユーザは、コンテンツ管理システムからユーザデバイスへ選択した画像をダウンロードするように要求してもよい。いくつかの実施形態において、当該要求は、コンテンツ管理システムからの１以上の画像をダウンロードする要求に対応してもよい。
【００５４】
ステップ８０６で、アクセスするように要求された１以上画像は、当該１以上の画像に対しる予期される使用によって分類されてもよい。いくつかの実施形態において、分類は、１以上の画像の予期される使用が第１のバージョンでダウンロードされる画像に対応するかどうかを判定してもよい。例えば、分類は、１以上の画像が単一の画像ビューで閲覧されうるかどうかを判定してもよい。いくつかの実施形態において、単一の画像ビューで閲覧される画像は、サムネイル解像度などの低解像度で閲覧され、ダウンロードされるグリッドビューに含まれる画像とは対照的に、１０８０ｐなどの高解像度でダウンロードされてもよい。
【００５５】
いくつかの実施形態において、１以上の画像を分類することは、種々の要因に基づいて、１以上の画像を収集することを含んでもよい。例えば、分類は、１以上の画像へのローカルアクセスがユーザデバイスで利用可能であるかどうかに基づいて１以上の画像を収集してもよい。他の例として、分類は、ユーザが１以上の画像が現れるユーザデバイスのユーザインタフェース上に表示可能なページをスクロールしたかどうかに基づいて、１以上の画像を収集してもよい。さらに他の例として、分類は、１以上の選択した画像に対してアクションが行われたかどうかに基づいて、複数の画像を収集してもよい。分類は、ユーザが前回又は最近共有した他の画像とともに１以上の画像を収集してもよい。いくつかの実施形態において、１以上の画像は、他の共有した画像とともに収集されてもよい。分類はまた、コンテンツ管理システムへのユーザによる最近のアップロード、最近閲覧した画像、又は、画像が撮影された又は閲覧された時間フレームに基づいて複数の画像を収集してもよい。ステップ８０８において、１以上の分類された画像は、第２のバージョンで受信されてもよい。例えば、選択した画像が単一の画像ビューで閲覧されるがユーザデバイスとコンテンツ管理システムとの間の接続レベルが低い場合、その結果、画像は、まず低い解像度でダウンロードされてもよい。これは、分類と実質的に同時に画像を閲覧することをユーザに許容し、任意の待ち時間なしで当該バージョンの画像を十分に扱うことをユーザに許容する。
【００５６】
ステップ８１０で、第１バージョンの１以上の画像のバックグラウンドでのダウンロードが実行されてもよい。バックグラウンドでのダウンロードは、第２バージョンの１以上の画像がユーザデバイスで閲覧されている間に、第１バージョンの１以上の画像をユーザデバイスへダウンロードしてもよい。例えば、ユーザデバイスとコンテンツ管理システムとの間の接続レベルが低い間は、ユーザは、低い解像度の画像をまずダウンロードしてもよい。いくつかの実施形態において、第２バージョンの１以上の画像がダウンローを継続している間に、第１バージョンの１以上の画像のバックグラウンドでのダウンロードが発生してもよい。低い解像度のバージョンの画像がユーザデバイスで閲覧されている間に、高解像度のバージョンの画像がバックグラウンドでダウンロードされてもよい。接続レベルが低いことに起因して、より高い解像度の画像が、例えば、ダウンロードするためにより長い時間かかってもよいしたがって、ユーザは、高解像度のバージョンのダウンロード中にまず低解像度の画像を閲覧し、扱うことができてもよい。
【００５７】
いくつかの実施形態において、ダウンロードの要求は、複数の画像をダウンロードする要求を含んでもよく、コレクション内でダウンロードするのに動的に優先順位の決定が行われてもよい。いくつかの実施形態において、画像を分類し、動的に優先順位を決定することは、コレクション内でユーザインタフェース上に画像を表示することを含んでもよい。例えば、図４の画像４０４は、ダウンロードされ、ユーザインタフェース４００上でコレクション４６０内に表示されてもよい。いくつかの実施形態において、分類及び動的な優先順位の決定は、コンテンツ管理システムがユーザデバイス上で単独で動作するように、コレクション内の画像上で実行される任意のユーザアクションを関連付けることを含んでもよい。これは、ユーザデバイスとコンテンツ管理システムとの間の接続レベルを問わず、それらのユーザデバイス上で実質的にローカルな感触をユーザが有することを許容することができる。
【００５８】
いくつかの実施形態において、画像は、グリッドビューのユーザインタフェース内に初期に提示されてもよい。例えば、グリッドビュー内に含まれる各画像は、第２バージョン（サムネイル解像度）で提示されてもよい。ユーザによる選択に応じて、１以上の画像が単一の画像ビューに第１の解像度で提示されてもよい。例えば、ユーザには、サムネイルの解像度でグリッドビューに複数の画像を有して提示されてもよい。複数の画像の１以上を閲覧するユーザ選択に応じて、選択した画像は高解像度で提示されてもよい。
【００５９】
いくつかの実施形態において、画像は、コンテンツ管理システム上のユーザアカウント内に格納されてもよい。しかしながら、ユーザアカウント内に、グリッドビューを表示するユーザインタフェース上の１つのウィンドウ内に表示可能な数よりも多くの画像が存在してもよい。例えば、グリッドビューは、百（１００）の画像を表示することができる一方で、ユーザアカウント内には千（１０００）の画像が存在してもよい。この場合、ユーザインタフェース上の現在表示されているウィンドウのグリッドビュー内に表示されるようにダウンロードされた各画像は、第２バージョン（例えば、サムネイルの解像度）であってもよい。いくつかの実施形態において、ユーザインタフェース上の現在のウィンドウ内に現在表示されていない任意の追加の画像は、第２バージョンでダウンロードされてもよく、解像度の種別は現在のウィンドウと現在表示されていないウィンドウとの間の近接度に依存してもよい。例えば、現在表示されていないが、現在のウィンドウに連続して近接したウィンドウ内に含まれる画像は、サムネイルの解像度（例えば、６４ｘ６４ピクセル）よりも低い解像度を有してもよく、一方で、現在のウィンドウに連続して近接していない現在表示されていないウィンドウ内に含まれる画像は、利用可能な最も低い解像度（例えば、５０ｘ５０ピクセル）でダウンロードされてもよい。
【００６０】
このように、短い距離を有する（例えば、現在表示されているウィンドウに近接する）画像は、第１の解像度よりも低い解像度を有してもよく、一方で、長い距離を有する（例えば、現在表示されているウィンドウに近接しておらず、実質的に遠い）画像は、第１の解像度及び第２の解像度よりも低い解像度を有してもよい。例えば、ユーザデバイス上に現在表示されていない画像は、ユーザデバイス上に現在表示されている画像よりも低い解像度を有してもよい。現在閲覧されている画像と特定の画像との間の距離が長くなるにつれて、解像度がより小さくなってもよい。これは、大量の画像を通してスクロールしている間は、画像へアクセスする待ち時間が最小化され当該スクロールが非常にスムーズとなりうるように、ユーザにとって有益なものでありうる。  
いくつかの実施形態において、バックグラウンドでのダウンロードにおける動的に優先順位を決定することは、種々の要因に基づいてもよい。例えば、優先順位の決定は、単一の画像ビューで閲覧されるべく選択された１以上の画像への利用可能なアクセスに基づいてもよく、第１の優先レベルに割り当てられてもよい。他の例として、優先順位の決定は、選択した１以上の画像が属するように同一のコレクション内に配置される１以上の追加の画像への利用可能なアクセスに基づいてもよい。この場合、第２の優先レベルが、１以上の選択した画像へ割り当てられてもよい。さらに他の例として、優先順位の決定は、１以上の選択した画像へ／でアクションが実行されたかどうかに基づいてもよい。この場合、第３の優先レベルが、１以上の選択した画像へ割り当てられてもよい。
【００６１】
いくつかの実施形態において、種々の優先レベルは、画像をダウンロードするためのランキングレベルに対応してもよい。例えば、より高いランキングレベルに割り当てられた画像は、より低いランキングレベルに割り当てられた画像より前にダウンロードされてもよい。任意のランキングの順列が使用されてもよい。例えば、第１の優先レベルは、第２及び第３の優先レベルよりも高くランク付けされてもよく、第２の優先レベルは第３の優先レベルよりも高く、或いはその逆にランク付けされてもよい。同様に、第２の優先レベルは、第１及び第３の優先レベルよりも高くランク付けされてもよく、第１の優先レベルは第３の優先レベルよりも高く、或いはその逆にランク付けされてもよい。さらに、第３の優先レベルは、第１及び第２の優先レベルよりも高くランク付けされてもよく、第１の優先レベルは第２の優先レベルよりも高く、或いはその逆にランク付けされてもよい。当業者は、第１、第２、及び第３の優先レベルの使用が単に例示であって、任意の数の優先レベル及び任意の順序のそれらのレベルが使用されてもよいことを理解するであろう。
【００６２】
いくつかの実施形態において、１以上の画像に関連付けられたメタデータは、コンテンツ管理システムからユーザデバイスへダウンロードされてもよい。メタデータは１以上の画像より前に、又は実質的に同時に、ダウンロードされてもよい。いくつかの実施形態において、１以上の画像の予期される使用の分類は、ダウンロード下メタデータの少なくとも一部に基づいてもよい。例えば、画像４０４は、地理的情報４０４ａ及び時間的情報４０４ｂを含んでもよい。地理的情報４０４ａ及び時間的情報４０４ｂは、画像４０４とともに、又は、画像４０４のダウンロードの前にダウンロードされてもよく、コレクション（例えば、コレクション４６０）内の画像４０４を分類するために使用されてもよい。いくつかの実施形態において、バックグラウンドでのダウンロードは、ダウンロードしたメタデータの少なくとも一部に基づいて動的に優先順位が決定されてもよい。
【００６３】
図９は、種々の実施形態に従う、画像を表示し、キャッシュするための処理の例示のフローチャートである。処理９００はステップ９０２で開始されうる。ステップ９０２で、ダウンロード可能な画像の判定が行われてもよい。当該判定は、ユーザデバイス上の利用可能なストレージスペースの量を算出することを含む。ダウンロード可能な画像の量は、初期に、他のユーザデバイス／個別のデバイス、１以上のソーシャルメディアネットワーク、及びコンテンツ管理システムの少なくとも１つに格納されてもよい。いくつかの実施形態において、ユーザは、コンテンツ管理システム上の認証されたアカウントを有してもよく、ユーザデバイスへダウンロード可能なアカウント内に格納された多くの画像が判定されてもよい。
【００６４】
いくつかの実施形態において、当該判定は、１以上の要因に基づいてもよい。例えば、コンテンツ管理システムからダウンロード可能な画像の量は、ユーザデバイス（例えば、クライアントデバイス１０２）と、コンテンツ管理システム（例えば、コンテンツ管理システム１００）との間の接続レベルに依存してもよい。ユーザデバイスとコンテンツ管理システムとの間の接続レベルが弱い、又は低ければ、ダウンロード可能な画像の量は、接続レベルが高い又はと良い場合よりも低くてもよい。他の例として、利用可能なＷｉ−Ｆｉ信号がなければ、ダウンロード可能な画像の量は、ユーザの現在のセルラーデータプランに基づいて調節されてもよい。この場合、ユーザは、月々の又は年々のサービスのほとんどの部分を受けることができないか、或いは、任意の過剰な課金を負担するかもしれない。いくつかの実施形態において、ユーザは、Ｗｉ−Ｆｉのみのオプション又はＷｉ−Ｆｉ優先オプションのサービスを受けることができる。例えば、ユーザは、１以上の画像をダウンロードするために使用するネットワーク条件をデバイスへ通知するそれらのユーザ設定の範囲内のオプションを選択してもよい。
【００６５】
いくつかの実施形態において、上記判定は、ユーザデバイス上の利用可能なストレージスペースの量に基づいてもよい。例えば、ユーザは、１００ＧＢの利用可能なストレージスペースのみを有しているものの、コンテンツ管理システム上のユーザアカウント内に格納された１ＧＢの画像が存在してもよい。この場合、ユーザは、図６のオプション６１０、６１２、６１４などの種々の解像度で画像をダウンロードするためのオプションを有して提示されるか、又は、上記オプションを提示してもよい。他の例として、画像をダウンロードするのに必要とされるストレージスペースの量は、ユーザデバイス上のフリーのストレージスペースの総量よりも少なくてもよい。コンテンツ管理システム及びユーザデバイスの少なくとも一方は、フリーのストレージスペースの総量に対応させて、ユーザデバイスへダウンロードされる画像の量を制限してもよい。コンテンツ管理システム及びユーザデバイスの少なくとも一方はまた、フリーのストレージスペースの総量に対応させて、画像のサイズ又は解像度を低減させてもよい。
【００６６】
いくつかの実施形態において、上記判定は、ユーザデバイス上の利用可能な充電量に基づいてもよい。例えば、ユーザデバイスが実質的に低レベルの利用可能な充電量を有している場合、大量の画像、又は同等の単一の高解像度の画像をダウンロードすることは、大容量の処理電力を取り上げうる。これは、特に、ユーザが緊急でそれらのデバイスを使用する必要がある不運なシチュエーションにおいて、ユーザにとって妨げとなりうる。このように、ユーザデバイスが実質的に低バッテリレベルにあれば、ダウンロード可能な画像の量及びダウンロード可能な画像のサイズの少なくとも一方は、ユーザデバイス上の残充電量をいくらか残すことを保証するように修正されてもよい。この場合、ユーザは、ダウンロードされる画像の品質又は量を問わず、緊急のシチュエーションにおいて、それらのデバイスを使用することができる。
【００６７】
ステップ９０４において、判定した画像の量は、第１の解像度でユーザデバイスへダウンロードされてもよい。前述した例に続いて、オプション６１０は、ユーザデバイス上の利用可能なストレージスペースに基づいて、ユーザが各写真が１０ＭＢのサイズである１０の写真（例えば、トータル１００ＭＢのストレージスペース）をダウンロードすることをユーザへ示してもよい。
【００６８】
ステップ９０６において、ダウンロードされた画像からのうち第１のサブセットの画像は、ユーザデバイス上の第１のグリッドビューに表示されてもよい。第１のグリッドビュー内に表示される画像は、いくつかの実施形態において、第２の解像度で表示されてもよい。例えば、ユーザは、各画像が１ＭＢのサイズの１００の画像をダウンロードすることを選択してもよい。ユーザは、ユーザインタフェース６００内のセット６２２などのグリッドビュー内に１００の画像のいくつか又は全てを表示してもよい。いくつかの実施形態において、グリッドビュー内に表示される画像は、ダウンロードした画像の中のいくつかの解像度から成ってもよい。例えば、ユーザがオプション６１２を選択して、それぞれが１ＭＢの解像度を有する１００の画像をダウンロードした場合、セット６２２は、１ＭＢの解像度を有する１００の画像を表示してもよい。他の例として、１００のダウンロードした画像のいくつか又は全ては、スペースを確保するために、又は、接続レベルが減少している場合に、より低い解像度（例えば、１００ｋＢ）でグリッドビュー内に表示されてもよい。
【００６９】
ステップ９０８において、第１のサブセットの画像が第１のグリッドビュー内に表示される一方で、ダウンロードした画像のうちのさらなる画像がキャッシュされてもよい。例えば、ユーザが１ＭＢの解像度を有する１００の画像をダウンロードしたものの、５０の画像のみを表示する場合、残りの５０の画像は、ユーザデバイス上の一時的なメモリにキャッシュされてもよい。これは、ユーザが選択した画像の量を一度に見せる又は提示すること許容し、一方で、後の時点で任意の他の画像をまだ表示することができる。いくつかの実施形態において、初期にダウンロードした画像は、サムネイルの解像度（例えば、７５ｘ７５ピクセル）から成ってもよく、一方で、グリッドビュー内に表示される画像がサムネイルの解像度よりも高い解像度（例えば、２５６ｘ２５６ピクセル）から成ってもよい。例えば、ユーザは、各画像がサムネイルの解像度でトータル１００ＭＢを有する１０００の画像をストレージスペースにダウンロードしてもよい。しかしながら、グリッドビューの１００の画像を表示するユーザ入力又は選択に応じて、１００の画像がオリジナルのストレージバージョンよりも高い解像度でユーザデバイスへ提示されるか、ダウンロードされるかの少なくとも一方が行われてもよい。
【００７０】
いくつかの実施形態において、第２のサブセットの画像を表示する入力が検知されてもよい。第２のサブセットの画像は、第１のサブセットの画像及び追加的にキャッシュされた画像の少なくとも一方からの画像を含んでもよい。例えば、ユーザは、サンフランシスコへの最近の旅行からユーザの画像の全てを閲覧するように決定してもよい。ユーザは、ユーザデバイスへ１以上の入力と、日付で検出して組織化したユーザの旅行に対応する画像とを提供してもよい。当該画像は、ユーザデバイス上に現在格納されている任意の画像に基づいて組織化されてもよい。このように、組織化のメカニズム（例えば、組織化アルゴリズム）は、現在表示されているサブセットの画像及び任意のキャッシュされた画像から画像を選択してもよい。
【００７１】
いくつかの実施形態において、コンテンツ管理システム上のユーザアカウント内に格納された各画像のアスペクト比についての判定が行われてもよい。アスペクト比の当該判定は、その後、ダウンロードする画像の優先順位を決定するために使用されてもよい。いくつかの実施形態において、アスペクト比は、ユーザデバイスへダウンロードすることが可能な画像の量を判定するために使用される他の要因に追加して使用される要因であってもよい。例えば、ユーザの画像の全てが接続レベル利用可能なストレージスペースの量、デバイスの充電量、及びデータプランの少なくとも１つに基づいてダウンロード可能かどうかを判定されてもよいが、それらの画像のいくつか又は全てがユーザのユーザデバイスに準拠しないアスペクト比を有し、したがって、表示可能でないかもしれない。このように、いくつかの実施形態において、適切なアスペクト比を有する画像のみがダウンロードされうる。いくつかの実施形態において、最良の又はより適切なアスペクト比を有する画像が、ユーザデバイス上で表示可能であるが差異的に閲覧することができないアスペクト比を有する任意の画像より前にダウンロードされうる。
【００７２】
図１０は、種々の実施形態に従う、画像間の決定された距離に基づいて画像をダウンロードするための処理の例示のフローチャートである。処理１０００はステップ１００２で開始されうる。ステップ１００２で、ユーザは、コンテンツ管理システム上のアカウントへアクセスしてもよい。いくつかの実施形態において、当該アカウントは、ユーザに関連付けられ、ユーザアカウントして参照されうる。いくつかの実施形態において、ユーザは、ユーザアカウントへのアクセスを許可するために、ログインクレデンシャル（例えば、ユーザ名、パスワードなど）を提供するように要求されてもよい。ログインクレデンシャルは、いくつかの実施形態において、ユーザのユーザデバイスに格納されてもよく、将来コンテンツ管理システムへアクセスするために使用されうる。
【００７３】
ステップ１００４で、第１のコレクションの画像がコンテンツ管理システムからユーザデバイスへダウンロードされてもよい。いくつかの実施形態において、第１のコレクションの画像が第１の解像度でダウンロードされてもよく、ユーザアカウント内に格納されてもよい。  例えば、第１のコレクションの画像は、１０８０ｐなどの高解像度でダウンロードされてもよい。当業者は、任意の量の画像が第１のコレクションの画像内にダウンロードされ、当該画像が任意の解像度からなってもよいことを理解するであろう。いくつかの実施形態において、第１のコレクションの画像の解像度は、１以上の要因に基づいてもよい。例えば、第１のコレクションの画像のダウンロードは、ユーザデバイスとコンテンツ管理システムとの間の接続レベルに基づいてもよい。他の例として、ダウンロードは、ユーザデバイス上のストレージスペースの利用可能な量や、ユーザデバイスの利用可能な充電量の少なくとも１つに基づいてもよい。
【００７４】
いくつかの実施形態において、ダウンロードされた第１のコレクションの画像は、ユーザデバイスの表示スクリーン上に提示されるユーザインタフェース内に表示されてもよい。例えば、図６の画像６２２は、ユーザインタフェース６００内に表示されてもよい。いくつかの実施形態において、第１のコレクションの画像は、画像のブロック又はページでダウンロードされてもよい。例えば、複数の画像は、画像のブロック単位で、コンテンツ管理システムからユーザデバイスへダウンロードされてもよい。当該ブロックは、圧縮ファイル、ファイルディレクトリ、又は他のブロッキング、或いは任意のそれらの組み合わせであってもよい。いくつかの実施形態において、第１のコレクションの画像は、ユーザインタフェース内のグリッドビューに表示されてもよい。
【００７５】
ステップ１００６で、第１のコレクションの画像と、ユーザアカウント内に格納された任意の追加の画像との間の距離メトリックが判定されてもよい。いくつかの実施形態において、距離メトリックは、現在閲覧されているウィンドウと、現在閲覧されていないウィンドウとの間の距離に対応してもよい。例えば、１以上の画像が図７の現在のウィンドウ７０２内に表示されてもよい。ウィンドウ７０２内に表示される単複の画像は、例えば、１０８０ｐの解像度を有する高解像度の画像であってもよい。コンテンツ管理システム及びユーザデバイスの少なくとも一方は、第１のコレクションの画像と、任意の追加の画像との間の距離を判定してもよい。例えば、図７のウィンドウ７０４は、ユーザアカウント内、及び、ユーザデバイス上の少なくとも一方に格納された１以上の追加の画像を含んでもよく、コンテンツ管理システム及びユーザデバイスの少なくとも一方は、第１のコレクションの画像とウィンドウ７０４内に含まれる任意の画像との間の距離メトリックを判定してもよい。いくつかの実施形態において、現在表示されているウィンドウに実質的に近接している現在表示されていないウィンドウ内に表示可能な画像が第２の解像度に割り当てられてもよい。しかしながら、いくつかの実施形態において、現在表示されているウィンドウに実質的に近接している現在表示されていないウィンドウ内に表示可能な画像が第３の解像度に割り当てられてもよい。例えば、ウィンドウ７０４及びウィンドウ７０６の少なくとも一方に含まれる画像は、それらがウィンドウ７０３に実施的に近接する現在表示されていないウィンドウである場合に、第２の解像度（例えば、７５ｘ７５ピクセル、２５６ｘ２５６ピクセルなど）に割り当てられてもよい。しかしながら、現在のウィンドウ７０２に実質的に近接していない現在表示されていないウィンドウであるウィンドウ７０８は、第３の解像度（例えば、６４ｘ６４ピクセル、５０ｘ５０ピクセルなど）に割り当てられてもよい。
【００７６】
ステップ１００８で、追加の画像は、当該追加の画像と、第１のコレクション内の画像との間の判定した距離メトリックに基づいて、第２の解像度及び第３の解像度の少なくとも一方でダウンロードされてもよい。例えば、ウィンドウ７０４内に含まれる画像は、高解像度（例えば、９００ｐ）でダウンロードされてもよく、一方で、ウィンドウ７０８に含まれる画像は、ＳＶＧＡの解像度でダウンロードされてもよい。したがって、短い距離を有する画像（例えば、現在表示されているウィンドウに近接している）は、第１の解像度よりも低い解像度を有してもよく、一方で、長い距離を有する画像（例えば、現在井表示されているウィンドウから近接していない或いは実質的に離れている）は、第１の解像度及び第２の解像度よりも低い解像度を有してもよい。これは、画像が現在表示されている画像と比較して相対的に小さいタイムフレームで閲覧されるであろう可能性及び予測の何れか一方に従って、画像のダウンロードを適切にかつ効果的に補助するであろう。したがって、現在表示されている画像の直後に閲覧されそうにない画像は、高解像度で初期にダウンロードされる必要はなく、むしろ低解像度でダウンロードされ、スペースを確保するようにしてもよい。
【００７７】
いくつかの実施形態において、各ダウンロードされる画像は、第１のコレクションの画像及び追加の画像内に分類されてもよい。分類は、各画像に関連付けられたメタデータに基づいてもよい。例えば、画像は、地理的情報４０４ａ及び時間的情報４０４ｂを含んでもよい。情報４０４ａ、４０４ｂは、第１の解像度で表示されうる、コレクション４６０内の画像４０４に分類されるのを補助してもよい。いくつかの実施形態において、ユーザアカウントに格納される追加の画像に関連付けられるメタデータは、ユーザインタフェース内に表示されない追加の画像のコレクションに当該追加の画像を収集するようにしてもよい。したがって、日付を必要とする又は要求される画像や、一度に閲覧される必要が現在はない画像を分類することによって、ユーザデバイス上に有意なストレージスペースが確保されうる。
【００７８】
図１１は、様々な実施の形態に従う例示的なシステムを示す。ある実施の形態では、図１１のシステム１１００は、システム１００の要素をより細かいレベル（例えばモジュール、アプリケーション等）で表わすことを除き、図１のシステム１００と実質的に類似し得る。
【００７９】
ある実施の形態では、ユーザデバイス１０２は、ユーザデバイス１０２上のコンテンツアイテムシステム１０８ａ及び１０８ｂ（まとめると１０８）内にローカルに格納されたコンテンツアイテム１１０ａ及び１１０ｂ（まとめると１１０）、及び／又はコンテンツ管理システム１０４（例えばデータストア１１８）上に離れて格納されている等のコンテンツアイテムを、生成し、アクセスし、修正し、及び管理するために使用され得る。例えば、ユーザデバイス１０２ａは、コンテンツ管理システム１０４のデータストア１１８に離れて格納されているコンテンツアイテム１１０ｂにアクセスし得、ユーザデバイス１０２ａ上のコンテンツアイテムシステム１０８ａ内にコンテンツアイテム１１０ｂをローカルに格納する場合もしない場合もある。引き続きこの例では、ユーザデバイス１０２ａは、コンテンツアイテム１１０ｂを、一時的に、ユーザデバイス１０２ａ上のキャッシュ内にローカルに格納し、コンテンツアイテム１１０ｂの版（ｒｅｖｉｓｉｏｎｓ）を生成し、コンテンツアイテム１１０ｂの版は通信されてコンテンツ管理システム１０４のデータストア１１８に格納され得る。オプションとして、コンテンツアイテム１１０ａのローカルコピーはユーザデバイス１０２ａに格納され得る。ある実施の形態では、データストア１１８は、コンテンツアイテムの１つ以上のコレクション１３２を含み得る。例えば、コレクション１３２は、類似する属性（例えばメタデータ）を有する、及び／又は類似のコンテンツを含む１つ以上のコンテンツアイテムを含み得る。
【００８０】
ある実施形態では、ユーザデバイス１０２は、デジタル画像及び／又はビデオを撮影し記録するためのカメラ１３８（例えば１３８ａ及び１３８ｂ）を含み得る。ユーザデバイス１０２は、画像などのコンテンツアイテムをカメラ１３８を使用して取得、記録および／または格納してもよい。例えば、カメラ１３８は画像を撮影及び記録し、画像をメタデータと共に格納し得る。メタデータは、以下の生成時のタイムスタンプ、ユーザの位置情報、方向、回転、タイトル及び／又は任意の他の属性又は撮影された画像に関連するデータを含みうるが、これらに限らない。メタデータの値は、属性１１２として、名前と値の組、  タグ値の組、及び／又は任意の他のこれらの方法または組み合わせを格納して、メタデータとコンテンツアイテムとを関連付けてメタデータのタイプを容易に特定する。ある実施形態では、属性１１２は、これに限らないが、Ｅｘｃｈａｎｇｅａｂｌｅ  Ｉｍａｇｅ  Ｆｉｌｅ  Ｆｏｒｍａｔ（「Ｅｘｉｆ」）、ＪＰＥＧ  Ｆｉｌｅ  Ｉｎｔｅｒｃｈａｎｇｅ  Ｆｏｒｍａｔ  （Ｊｆｉｆ）、及び／又は他の標準を含む、特定の標準によって定義されたタグと値の組であり得る。
【００８１】
ある実施の形態では、ユーザデバイス１０２は、時刻標準化モジュール１４６を含み得、コンテンツ管理システム１０４は、時刻標準化モジュール１４８を含み得る。時刻標準化モジュール１４６（例えば１４６ａと１４６ｂ）は、コンテンツアイテムと共に格納される日時を標準化するために用いられ得る。時刻標準化モジュール１４６、対応する時刻標準化モジュール１４８及び／又は任意のこれらの組み合わせは、格納されるコンテンツアイテムの日時を標準化するために用いられる。標準化された日時は、コンテンツアイテムを、ソート、グループ化、比較の実行、基本的な数式の実行、及び／又はクラスタ形成するために用いられる。
【００８２】
ある実施の形態では、ユーザデバイス１０２は、組織化モジュール１３６を含み得、コンテンツ管理システム１０４は組織化モジュール１４０を含み得る。組織化モジュール１３６（例えば１３６ａと１３６ｂ）は、コンテンツアイテムをコンテンツアイテムのクラスタやコレクションに組織化するため、コンテンツアイテムを組織化して、ユーザインタフェースの表示のためのコンテンツアイテムのサンプリングを提供するため、及び／又は表示のための組織化されたコンテンツアイテムを検索するために使用され得る。組織化モジュール１３６は、任意のクラスタリングアルゴリズムを用い得る。組織化モジュール１３６は、ユーザデバイス１０２のユーザインタフェースの表示のためのコンテンツアイテムやコンテンツ管理システム１０４のコンテンツアイテムを組織化するために、クラスタのための類似するコンテンツアイテムを特定するために用いられ得る。様々な類似性の規則に従う各コンテンツアイテム間の類似性の情報を具体化する１つ以上の数値的表現を生成するために、類似性の規則が定義され得る。組織化モジュール１３６は、コンテンツアイテムをクラスタ化するために、コンテンツアイテム間の類似性の参照として数値的表現を用い得る。
【００８３】
ある実施形態では、コンテンツアイテムはクラスタに組織化されて、検索要求に応じた類似のコンテンツの検索を援助し得る。例えば、組織化モジュール１３６ａは、２つの画像が類似することを特定し得、これらの画像を共に１つのクラスタにグループ化し得る。組織化モジュール１３６ａは、独立して、及び／又は対応する組織化モジュール（例えば１４０及び／又は１３６ｂ）と共同してクラスタを決定するために、コンテンツアイテムを処理し得る。ある実施の形態では、組織化モジュール１３６ａは、対応する組織化モジュール（例えば１４０及び／又は１３６ｂ）と特定したクラスタのみを表示のために提供し得る。この例を続けると、クラスタを決定するためのコンテンツアイテムの処理は、新たなコンテンツアイテム及び／又は新たな類似性の規則を受け取る際に実行され得る繰り返し処理であり得る。
【００８４】
ある実施の形態では、ユーザデバイス１０２ａは分類モジュール１５０ａを含んでもよく、ユーザデバイス１０２ｂは分類モジュール１５０ｂ（分類モジュールを１５０と総称する）を含んでもよく、それらの分類モジュールを独立して使用するか、コンテンツ管理システム１０４に含まれる分類モジュール１５２と組み合わせて使用するか、および／またはそれらの任意の組み合わせを行うことで、コンテンツアイテムを分類し、コンテンツアイテムを修正し、および／または画像を分類してもよい。例えば、分類モジュール１５０及び／又は１５２は、画像が文章を含むかを判定し、含む場合に格納される文章の種類を判定するために用いられ得る。コンテンツアイテムの修正は、コンテンツアイテムの表示を改善（画像内の文章の表示を修正）するために、コンテンツアイテムを訂正し、更なる変換を実行し、及び／又はコンテンツアイテムをクロップし得る。
【００８５】
ある実施の形態では、ユーザデバイス１０２ａは、検索モジュール１４２ａを含み得、一方、ユーザデバイス１０２ｂは、合わせて検索モジュール１４２として参照され得る、検索モジュール１４２ｂを含み得る。コンテンツ管理システム１０４は、対応する検索モジュール１４４を提供し得る。検索モジュール１４２及び１４４は、ユーザデバイス１０２及び／又はコンテンツ管理システム１０４の両方に置かれたコンテンツアイテムの検索をサポート可能であり得る。１つ以上のコンテンツアイテムを要求する検索リクエストは、検索モジュール１４２及び／又は１４４によって受け取られ得る。ある実施形態では、検索は、管理サービスの提供の際にコンテンツアイテムに割り当てられるメタデータ及び／又は属性を検索することによって処理され得る。例えば、コンテンツアイテムと共に格納されたクラスタマーカは日付によってコンテンツアイテムを発見するために用いられ得る。この特定のシナリオでは、クラスタマーカは、クラスタマーカと共に格納されたコンテンツアイテムの大まかな時刻、平均時間を示し得、このマーカは、特定のクラスタマーカを有するコンテンツのクラスタを検索し、検索結果を返すスピードを増加させるために用いられ得る。
【００８６】
コンテンツ管理システム１０４によって管理されるコンテンツアイテム１１０は、それぞれのユーザデバイス１０２のコンテンツアイテムシステム１０８にローカルに格納され得、及び／又はコンテンツ管理システム１０４のデータストア１１８に離れて格納（例えばデータストア１１８内のコンテンツアイテム１３４）され得る。コンテンツ管理システム１０４は、管理するコンテンツアイテムの同期処理を提供し得る。属性１１２ａ及び１１２ｂ（合わせると１１２）または他のメタデータも、コンテンツアイテム１１０と共に格納され得る。例えば、特定の属性は、コンテンツ管理システム１０４によって管理及び／又は同期処理されるユーザデバイス１０２にローカルに格納されたコンテンツアイテムを追跡するために、コンテンツアイテムと共に格納され得る。ある実施形態では、属性１１２は、拡張された属性、リソースフォーク、又は、コンテンツアイテムシステム１０８等のコンテンツアイテムシステムによって解釈されないコンテンツアイテムと共にメタデータを格納可能な任意の他の実装を用いて実装され得る。特に、属性１１２ａ及び１１２ｂは、コンテンツアイテムのためのコンテンツの識別子であり得る。例えば、コンテンツの識別子は、コンテンツアイテムを識別する、ユニーク又はほぼユニークな識別子（例えば番号や文字列）であり得る。コンテンツアイテムと共にコンテンツ識別子を格納することにより、コンテンツアイテムを追跡し得る。例えば、ユーザがコンテンツアイテムシステム１０８階層の中でコンテンツアイテムを他の場所に動かした場合および／またはユーザがコンテンツアイテムを変更した場合、コンテンツアイテムはユーザデバイス１０２のコンテンツアイテムシステム１０８の中で依然として特定可能である。コンテンツ識別子で特定されたコンテンツアイテムに対する任意の変更又は修正は、コンテンツ管理システム１０４によって提供される同期及び／又はバージョン管理サービスのためにアップロード又は提供され得る。
【００８７】
スタンドアローンのコンテンツ管理アプリケーション１１４ａと１１４ｂ（合わせると１１４）、クライアントアプリケーション、及び／又はサードパーティアプリケーションは、ユーザデバイス１０２ａ及び１０２ｂ上でそれぞれ実行されて、ユーザがコンテンツ管理システム１０４と相互作用するユーザインタフェースを提供する。コンテンツ管理アプリケーション１１４は、コンテンツ管理インタフェースモジュール１５４と共に提供される、ユーザデバイス１０２のための機能とアクセス可能なモジュールを外部に提供し得る。ウェブブラウザ１１６ａと１１６ｂ（合わせると１１６）は、コンテンツ管理インタフェースモジュール１５４と共に外部に提供され、コンテンツ管理１０４の機能を提供し得るクライアントアプリケーションのウェブページフロントエンドを表示するために用いられる。
【００８８】
コンテンツ管理システム１０４は、ユーザが認証されたアカウントを使ってコンテンツを格納できるようにし、また、検索、修正、ブラウズ、同期及び／又は他のアカウントにコンテンツを共有するような管理タスクを実行する。コンテンツ管理システム１０４の様々な実施形態は、コンテンツ管理インタフェースモジュール１５４、アカウント管理モジュール１２０、同期モジュール１２２、コレクションモジュール１２４、共有モジュール１２６、ファイルシステム抽象化１２８、データストア１１８、及び組織化モジュール１４０を含む要素を有し得るが、これらに限らない。コンテンツ管理インタフェースモジュール１５４は、コンテンツ管理システム１０４のサーバサイド又はバックエンドの機能／性能を外部に提供し得る。例えば、ユーザデバイス１０２の対応するユーザインタフェース（例えばスタンドアローンのアプリケーション、クライアントアプリケーション等）は、コンテンツ管理インタフェースモジュール１５４を用いて実行され、ユーザがコンテンツ管理システム１０４によって提供される機能を実行できるようにし得る。
【００８９】
ユーザデバイス１０２に表示されるユーザインタフェースは、アカウント管理モジュール１２０を用いて、ユーザがアカウントを生成し、及び／又はユーザがアカウントを使用することを認証するために用いられ得る。アカウント管理モジュール１２０は、ユーザ及び／又はユーザデバイス１０２によるアカウントの使用を、ユーザ名／パスワード、デバイス識別子、及び／又は任意の他の認証方法を用いて認証する機能を提供し得る。アカウント情報１３０は、データストア１１８内でアカウントのために管理され得る。アカウント情報は、個人情報（例えば、電子メールアドレス又はユーザ名）、アカウント管理情報（例えば、「無料」や「有料」等のアカウントの種類）、使用情報（コンテンツアイテムの編集履歴）、許可された最大のストレージ空間、使用済みストレージ空間、コンテンツの格納場所、セキュリティ設定、個人の構成設定、コンテンツの共有データ等を含み得るが、これらに限らない。コンテンツ管理システム１０４のストレージ空間の量は、予約され、分配され、確保され、格納され、及び／又は認証されたアカウントによりアクセスされ得る。アカウントは、データストア１１８内のそのアカウント用のコンテンツアイテム１３４及び／又はコンテンツアイテム１１０にアクセスするために、及び／又は、コンテンツアイテム１３４及び／又はコンテンツアイテム１１０を、他のアカウントから共有されたアカウントからアクセス可能にするために用いられ得る。ある実施の形態では、アカウント管理モジュール１２０はコンテンツ管理システム１０４の任意の数の他のモジュールと相互作用してもよい。
【００９０】
ある実施の形態では、コンテンツ管理システム１０４のアカウントは、アカウントによって認証された１つ以上のユーザデバイス１０２から書類、テキストアイテム、音声アイテム、ビデオアイテム等のコンテンツを格納するために用いられ得る。コンテンツはまた、異なる振る舞いである、又はコンテンツアイテムを互いにグループ化する他のメカニズムを用いた、様々な種類のコレクションを含み得る。例えば、アカウントは、任意のユーザからアクセス可能にした公開コレクションを含み得る。ある実施形態では、公開コレクションはウェブでアクセス可能なアドレスに割り当てられ得る。このウェブでアクセス可能なアドレスへのリンクは、公開されたフォルダのコンテンツにアクセスするために用いられ得る。他の例では、アカウントは、写真及び／又はビデオを格納し得る写真コレクションを含み得、写真及び／又はビデオの目的に合わせた特定の属性及び行為を提供し得る。アカウントはまた、音声アイテムを再生し、他の音声に関連する行為を実行する機能を提供する、音声コレクションを含み得る。アカウントはさらに、特定の目的のコレクションを含み得る。アカウントはまた、複数のユーザアカウントとリンクし、これらのアカウントから利用可能な共有コレクション又はグループコレクションを含み得る。ある実施形態では、共有コレクションへのアクセスは、共有コレクションにアクセスすることが可能な異なるユーザに対して異なり得る。
【００９１】
コンテンツアイテム１１０及び／又はコンテンツアイテム１３４は、データストア１１８に格納され得る。ある実施形態では、データストア１１８は、ストレージデバイス、複数のストレージデバイス、又はサーバであり得る。或いは、データストア１１８は、１つ以上の通信ネットワークを介してアクセス可能なクラウドストレージプロバイダ又はネットワークストレージであり得る。コンテンツ管理システム１０４は、コンテンツアイテムのシステム抽象化１２８（例えば、コンテンツアイテムのシステムデータベース抽象化レイヤ）を用いて、複雑さや詳細をユーザデバイス１０２から見えないようにして、コンテンツ管理システム１０４によって格納されたコンテンツアイテムがどこにあるのかをユーザデバイス１０２が正確に知る必要がないようにし得る。実施形態は、ユーザデバイス１０２に現れるように、コンテンツアイテムを同一のコレクションに階層的に格納し得る。或いは、コンテンツ管理システム１０４は、様々な順番、配置、及び／又は階層でコンテンツアイテムを格納し得る。コンテンツ管理システム１４０は、コンテンツアイテムを、ネットワークアクセス可能ストレージ（ＳＡＮ）デバイス、ｒｅｄｕｎｄａｎｔ  ａｒｒａｙ  ｏｆ  ｉｎｅｘｐｅｎｓｉｖｅ  ｄｉｓｋｓ（ＲＡＩＤ）等に格納し得る。コンテンツ管理システム１０４は、コンテンツアイテムを、ＦＡＴ、ＦＡＴ３２、ＮＴＦＳ、ＥＸＴ２、ＥＸＴ３、ＥＸＴ４、ＲｅｉｓｅｒＦＳ、  ＢＴＲＦＳ等の１つ以上のパーティションタイプを用いて格納し得る。
【００９２】
データストア１１８はまた、コンテンツアイテム、コンテンツアイテムの種類、及び様々なアカウント、フォルダ、コレクション、又はグループとのコンテンツアイテムの関係を表すメタデータを格納し得る。このコンテンツアイテムのためのメタデータは、コンテンツアイテムの一部として、及び／又は別々に格納され得る。メタデータは、オブジェクト指向データベース、リレーショナルデータベース、コンテンツアイテムシステム、又は任意の他のデータのコレクションに格納され得る。ある実施形態では、データストア１１８に格納された各コンテンツアイテムは、システム全体にわたってユニークな識別子が割り当てられ得る。
【００９３】
ある実施形態では、データストア１１８は、コンテンツアイテムの複製やコンテンツアイテムのチャンクを特定することにより、要求されるストレージ空間の量を低下させ得る。複数のコピーを格納する代わりに、データストア１１８は、コンテンツアイテム１３４の１つのコピーを格納し、１つのコピーと複製をつなぐためのポインタや他の機構を使用し得る。同様に、データストア１１８は、より効率的にコンテンツアイテム１３４を格納すると共に、コンテンツアイテムの変化、コンテンツアイテムの異なるバージョン（バージョンツリーの分岐を含む）、及び変更履歴を追跡するコンテンツアイテムバージョン管理を用いることによって、アンドゥ（Ｕｎｄｏ）操作の機能を提供し得る。変更履歴は、元のコンテンツアイテムのバージョンにいつ適用したか、変更されたコンテンツアイテムのバージョンをいつ生成したかの変更の組を含み得る。
コンテンツ管理システム１０４は、１つ以上のユーザデバイス１０２からのコンテンツの自動同期処理をサポートするように構成され得る。同期処理は、プラットフォーム非依存であり得る。すなわち、コンテンツは、種類、機能、オペレーティングシステム等の異なる、複数のユーザデバイス１０２にわたって同期処理され得る。例えば、ユーザデバイス１０２ａは、コンテンツ管理システム１０４の同期モジュール１２２を介して、ユーザデバイス１０２のコンテンツアイテムシステム１０８内のコンテンツを、ユーザアカウントに関連付けられたコンテンツと同期するクライアントソフトウェアを含み得る。ある場合では、クライアントソフトウェアは、新規の、削除された、修正された、コピーされた又は移動されたコンテンツアイテムやフォルダ等のような、指定されたコレクション及びそのサブコレクション内のコンテンツに対する任意の変更と同期し得る。既存のコンテンツ管理システムと結合するクライアントソフトウェアのある例では、ユーザはローカルフォルダのコンテンツを直接操作し得る一方で、バックグラウンドプロセスが変更のためにローカルコンテンツを監視し、コンテンツ管理システム１０４に変更を同期する。ある実施形態では、バックグラウンドプロセスは、コンテンツ管理システム１０４において更新されたコンテンツを特定し、ローカルコレクションに変更を同期する。クライアントソフトウェアは、同期処理の動作の通知を提供し得、コンテンツ管理システムのアプリケーション内でコンテンツ状態の表示を直接提供し得る。ある実施形態では、ユーザデバイス１０２は利用可能なネットワーク接続を有し得ない。このシナリオでは、クライアントソフトウェアは、コンテンツアイテムの変更に対してリンクされたコレクションを監視し、ネットワーク接続が可能になった際のコンテンツ管理システム１０４への後の同期のために、これらの変更をキューに入れ得る。同様に、ユーザは、コンテンツ管理システム１０４との同期を手動で停止又は一時停止し得る。
【００９４】
ユーザはまた、コンテンツ管理インタフェースモジュール１５４によって生成及び提供されたウェブインタフェースを介してコンテンツを視認し又は操作し得る。例えば、ユーザはコンテンツ管理システム１０４によって提供されたウェブアドレスへウェブブラウザ内で移動し得る。コンテンツアイテムの新たなバージョンをアップロードするなどの、ウェブインタフェースを介してなされたデータストア１１８のコンテンツへの変更や更新は、ユーザアカウントに関連付けられた他のユーザデバイス１０２へ逆に伝達され得る。例えば、複数のユーザデバイス１０２のそれぞれはそのクライアントソフトウェアを用いて、１つのアカウントと関連付けられており、アカウント内のコンテンツアイテムはユーザデバイス１０２のそれぞれとの間で同期し得る。
【００９５】
コンテンツ管理システム１０４は、コンテンツ及び／又はコンテンツのコレクションの公開又は非公開による共有を管理するための共有モジュール１２６を含み得る。共有モジュール１２６は、独立して、又はユーザデバイス１０２ａにある対応する共有モジュール１５２ａ及びユーザデバイス１０２ｂにある対応する共有モジュール１５２ｂ（合わせると共有モジュール１５２）と連携して、共有を管理し得る。公開によるコンテンツの共有は、コンテンツアイテム及び／又はコレクションを、コンテンツ管理システム１０４を用いたネットワーク通信において任意のデバイスからアクセス可能にすることを含み得る。非公開によるコンテンツの共有は、データストア１１８内のコンテンツアイテム及び／又はコレクションを、２つ以上のユーザアカウントと結びつけて、各ユーザアカウントがコンテンツへアクセス可能にすることを含み得る。この共有は、プラットフォーム非依存で実行され得る。すなわち、コンテンツは、種類、機能、オペレーティングシステム等の異なる、複数のユーザデバイス１０２にわたって共有され得る。例えば、１つ以上の共有リンクが、共有されたコンテンツアイテムにアクセスするためにユーザ又はユーザのコンタクトに提供され得る。コンテンツはまた、異なるユーザアカウントの種類にわたって共有され得る。特に、共有モジュール１２６がコレクションモジュール１２４と共に用いられることにより、仮想的なコレクションを他のユーザ又はユーザアカウントと共有することができ得る。仮想コレクションは、ユーザデバイス１０２のコンテンツアイテムシステム１０８内の様々な場所に格納され得る、及び／又はコンテンツ管理システム１０４に離れて格納され得るコンテンツ識別子のコレクションであり得る。
【００９６】
ある実施形態では、コンテンツ管理システムを用いた、アカウントのための仮想コレクションは、コンテンツアイテムのための１つ以上の識別子のコレクションに対応し得る（例えば、ストレージのコンテンツアイテムを特定する）。仮想コレクションは、コレクションモジュール１２４を用いて、コンテンツ管理システムによって格納され及び／又は管理された既存のコンテンツアイテムから選択され、データストレージにある既存のコンテンツアイテムと仮想コレクションを関連付ける（例えば、格納場所、コンテンツ識別子、又は格納されたコンテンツアイテムのアドレスを関連付ける）ことにより生成され得る。既存のコンテンツアイテムと仮想コレクションを関連付けることにより、コンテンツアイテムは、コンテンツアイテムをコレクション内に置くために、データストレージ内の他の場所にコンテンツアイテムを格納する（例えばコンテンツアイテムをディレクトリにコピー及びペーストする）必要がない仮想コレクションの一部として指定され得る。
【００９７】
ある実施形態では、コンテンツ管理システム１０４は、各エントリや行がデータストア１１８の各コンテンツアイテムの場所を特定する、コンテンツアイテムのためのコンテンツディレクトリ又はデータベーステーブル／エントリを管理するように構成され得る。ある実施形態では、ユニーク又はほぼユニークな識別子がデータストア１１８に格納される各コンテンツアイテムのために格納され得る。
【００９８】
ある実施形態では、メタデータが各コンテンツアイテムのために格納され得る。例えば、メタデータは、コンテンツアイテムを特定するために用いられるコンテンツのパスを含み得る。コンテンツのパスは、コンテンツアイテムの名前と、コンテンツアイテムに関連付けられたコンテンツアイテムの階層（例えば、ユーザデバイス１０２内のローカルな格納に対するパス）とを含み得る。コンテンツ管理システム１０４は、コンテンツのパスを使用して、従来的な階層的なビューを用いたユーザインタフェースに、適切なコンテンツアイテムの階層でコンテンツアイテムを表示し得る。データストア１１８内のコンテンツアイテムの場所を特定するコンテンツのポインタもまた、コンテンツ識別子と共に格納され得る。例えば、コンテンツのポインタは、メモリ内のコンテンツアイテムの正確な格納アドレスを含み得る。ある実施形態では、コンテンツのポインタは、そのそれぞれがコンテンツアイテムの一部を含む複数の場所を指し示し得る。
【００９９】
コンテンツのパス及びコンテンツのポインタに加えて、コンテンツアイテムのエントリ／コンテンツアイテムデータベースのデータベーステーブルの行は、コンテンツアイテムへアクセス可能なユーザアカウントを特定するユーザアカウント識別子を含み得る。ある実施形態では、複数のユーザアカウント識別子は、コンテンツアイテムが複数のユーザアカウントにわたって共有されたことを特定する１つのコンテンツエントリと関連付けられ得る。
【０１００】
非公開によりコンテンツアイテムを共有するため、共有モジュール１２６は、コンテンツアイテムと関連付けられたコンテンツエントリ又はデータベーステーブルの行にユーザアカウント識別子を追加するように構成され得、これにより、コンテンツアイテムへの追加されたユーザアカウントのアクセスを登録する。共有モジュール１２６はまた、コンテンツアイテムへのユーザアカウントのアクセスを制限するため、コンテンツエントリ又はデータベーステーブルの行からユーザアカウント識別子を削除するように構成され得る。共有モジュール１２６はまた、仮想コレクションのためのデータベーステーブルへのユーザアカウントの追加又は削除に用いられ得る。
【０１０１】
公開によりコンテンツを共有する場合、共有モジュール１２６は、任意のブラウザが何らかの認証を要することなく、コンテンツ管理システム１０４へのアクセスを可能にする、ｕｎｉｆｏｒｍ  ｒｅｓｏｕｒｃｅ  ｌｏｃａｔｏｒ（「ＵＲＬ」）等のカスタムネットワークアドレスを生成するように構成され得る。これを実現するため、共有モジュール１２６は生成されたＵＲＬにコンテンツ識別データを含めるよう構成されてもよい。このコンテンツ識別データは、要求されたコンテンツアイテムを適切に特定して返信するために後に用いられてもよい。例えば、共有モジュール１２６は、生成されたＵＲＬにユーザアカウント識別子とコンテンツのパスを含むように構成され得る。ＵＲＬの選択のうえで、ＵＲＬに含まれるコンテンツ識別子のデータは、コンテンツ識別子のデータを受信して適切なコンテンツエントリを特定し、このコンテンツエントリに関連付けられたコンテンツアイテムを返信し得る、コンテンツ管理システム１０４に送信され得る。
【０１０２】
公開により仮想コレクションを共有するため、共有モジュール１２６は、任意のブラウザが何らかの認証を要することなく、コンテンツ管理システム１００へのアクセスを可能にする、ｕｎｉｆｏｒｍ  ｒｅｓｏｕｒｃｅ  ｌｏｃａｔｏｒ（「ＵＲＬ」）等のカスタムネットワークアドレスを生成するように構成され得る。これを実現するため、共有モジュール１２６は生成されたＵＲＬにコレクション識別データを含めるよう構成されてもよい。このコレクション識別データは、要求されたコンテンツアイテムを適切に特定して返信するために後に用いられてもよい。例えば、共有モジュール１２６は、生成されたＵＲＬにユーザアカウント識別子とコレクション識別子を含むように構成され得る。ＵＲＬの選択の際、ＵＲＬに含まれるコンテンツ識別データはコンテンツ管理システム１０４に送信されてもよく、このコンテンツ管理システム１０４は受信されたコンテンツ識別データを使用して適切なコンテンツエントリ又はデータベースの行を特定し、このコンテンツエントリ又はデータベースの行に関連付けられたコンテンツアイテムを返信してもよい。
【０１０３】
ＵＲＬの生成に加えて、共有モジュール１２６はまた、コンテンツアイテムへのＵＲＬが生成されたことを記録するように構成され得る。ある実施形態では、コンテンツアイテムに関連付けられたコンテンツエントリは、コンテンツアイテムへのＵＲＬが生成されたかを示すＵＲＬフラグを含み得る。例えば、ＵＲＬフラグは、最初に０又は「偽」が設定される二値であり得、コンテンツアイテムへのＵＲＬが生成されていないことを示し得る。共有モジュール１２６は、コンテンツアイテムへのＵＲＬが生成された後にフラグの値を１又は「真」に変更するように構成され得る。
【０１０４】
ある実施形態では、共有モジュール１２６はまた、生成されたＵＲＬを非活性化するように構成され得る。例えば、各コンテンツエントリもまた、生成されたＵＲＬからの要求に応じてコンテンツが返信されるべきかを示すＵＲＬ活性フラグを含み得る。例えば、共有モジュール１２６は、ＵＲＬ活性フラグが１又は「真」に設定されている場合に生成されたリンクによって要求されたコンテンツアイテムのみを返信するように構成され得る。ＵＲＬ活性フラグの値又は二値の変更は、ＵＲＬが生成されたコンテンツアイテム又はコレクションへのアクセスを容易に制限し得る。これにより、ユーザは、コンテンツアイテムを移動したり生成されたＵＲＬを削除したりする必要なく、共有コンテンツへのアクセスを制限することができる。同様に、共有モジュール１２６は、ＵＲＬ活性フラグの値を１又は「真」に再び変更することによりＵＲＬを再活性化し得る。従って、ユーザは、新たなＵＲＬを生成する必要ななくコンテンツアイテムへのアクセスを容易に回復させる。
【０１０５】
例示的なシステム
本発明の例示的な実施形態では、Ｃ、Ｃ＋＋、Ｊａｖａ、ＪａｖａＳｃｒｉｐｔ、Ｐｙｔｈｏｎ、Ｒｕｂｙ、ＣｏｆｆｅｅＳｃｒｉｐｔ、ａｓｓｅｍｂｌｙ  ｌａｎｇｕａｇｅ等の任意の適切なプログラミング言語を用いて特定の実施形態のルーチンを実装し得る。手続型又はオブジェクト指向等の異なるプログラミング技術が用いられ得る。ルーチンは、１つの処理デバイス又は複数のプロセッサ上で実行し得る。ステップ、操作、コンピュータ処理は特定の順番で表され得るが、この順番は異なる特定の実施形態において変更され得る。ある特定の実施形態では、本明細書において連続的に示された複数のステップは、同時に実行され得る。
【０１０６】
特定の実施形態は、命令実行システム、装置、システム又はデバイスと共に使用するためのコンピュータ可読ストレージデバイス又は非一時的なコンピュータ可読媒体に実装され得る。特定の実施形態は、ソフトウェア又はハードウェア又は両方の組み合わせの制御ロジックの形式で実装され得る。この制御ロジックは、１つ以上のプロセッサで実行されたときに、特定の実施形態に記載されたものを実行するために動作可能であり得る。
【０１０７】
特定の実施の形態は、プログラムされた汎用デジタルコンピュータを用いて、特定用途向け集積回路、プログラマブルロジックデバイス、ＦＰＧＡ（ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙｓ）、光、化学、バイオ、量子又はナノ加工のシステム、コンポーネント及び機構を用いて、実装され得る。一般に、特定の実施形態の機能は、この分野で知られるあらゆる手段により実現され得る。分散化、ネットワーク化されたシステム、コンポーネント、及び／又は回路が用いられ得る。データの通信又は伝送は有線、無線又は任意の他の手段によりなされ得る。
【０１０８】
用例／図に図示された要素の１つ以上は、より分割された又は統合された方法で、又は、削除され又はある場合に動作しないものとして、特定のアプリケーションに従って有用なものとして扱われて、実装され得る。ストレージデバイス等の機械可読媒体に格納され得るプログラムやコードを実装して、上述した任意の方法をコンピュータに実行させることは、思想及びスコープの範囲内であり得る。
【０１０９】
この中の記載及び以下の請求項のあらゆる箇所で用いられるように、「ａ」、「ａｎ」及び「ｔｈｅ」はコンテキストが明示的に述べない限り複数の参照を含む。また、この中の記載及び以下の請求項のあらゆる箇所で用いられるように、「ｉｎ」の意味はコンテキストが明示的に述べない限り「ｉｎ」及び「ｏｎ」を含む。
【０１１０】
仮想的な状態を管理するシステム及び方法を提供するための方法が記載されたが、本発明の思想及びスコープから乖離することなく多くの変更がなされ得ることが理解されるべきである。この分野における当業者から見てクレームされた主題から実質的でない変更、知られていないもの又は後に考案されたものは、請求項のスコープと均等であると想定される。従って、この分野の当業者に現在明らかな代用物又は後に知られたものは、定義された要素のスコープ内であると定義され得る。本発明の記載された実施形態は、限定では無く説明の目的のために示されたものである。
【図１】
2019036329.tif 000003
【図２】
2019036329.tif 000004
【図３】
2019036329.tif 000005
【図４】
2019036329.tif 000006
【図５】
2019036329.tif 000007
【図６】
2019036329.tif 000008
【図７】
2019036329.tif 000009
【図８】
2019036329.tif 000010
【図９】
2019036329.tif 000011
【図１０】
2019036329.tif 000012
【図１１】
2019036329.tif 000013
【手続補正書】
【提出日】平成30年10月31日(2018.10.31)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
システムであって、
少なくとも１つのプロセッサと、
命令を格納する少なくとも１つの非一時的コンピュータ可読記憶媒体であって、該命令は前記少なくとも１つのプロセッサによって実行されたときに前記システムに、
クライアントデバイスから複数の画像のコレクションについての要求を受信させ、
前記クライアントデバイスにおける現在表示されているウィンドウ位置に対応する、前記複数の画像のコレクションのうちの第１セットの画像と、前記クライアントデバイス上に現在表示されていないウィンドウ位置に対応する、前記複数の画像のコレクションのうちの第２セットの画像とを判定させ、
第１の解像度での前記第１セットの画像と、第２の解像度での前記第２セットの画像とを前記クライアントデバイスへ提供し、
前記第２セットの画像のうちの１以上の画像に対応する更新されたウィンドウ位置が前記現在表示されているウィンドウ位置に対応することの指標を前記クライアントデバイスから受信させ、
前記第１の解像度での前記第２セットの画像のうちの前記１以上の画像を、前記クライアントデバイスへ提供させる、
ことを特徴とするシステム。
【請求項２】
請求項１に記載のシステムであって、
前記第１の解像度での前記第２セットの画像のうちの前記１以上の画像を、前記クライアントデバイスへ提供させることは、前記クライアントデバイスに、前記第２の解像度での前記第２セットの画像のうちの前記１以上の画像の以前のバージョンを、前記第１の解像度での前記第２セットの画像のうちの前記１以上の画像と置き換えさせることを特徴とするシステム。
【請求項３】
請求項１に記載のシステムであって、
前記第１の解像度は、前記第２の解像度よりも高い解像度であることを特徴とするシステム。
【請求項４】
請求項３に記載のシステムであって、
前記第１の解像度は、サムネイルの解像度であり、前記第２の解像度は、前記サムネイルの解像度よりも低い解像度であることを特徴とするシステム。
【請求項５】
請求項１に記載のシステムであって、
命令をさらに含み、該命令は前記少なくとも１つのプロセッサによって実行されたときに前記システムに、
前記第１セットの画像のうちの１以上の画像に対応する更新されたウィンドウ位置が前記現在表示されていないウィンドウ位置に対応することの指標を受信させ、
前記第２の解像度での前記第１セットの画像のうちの前記１以上の画像を、前記クライアントデバイスへ提供させる、
ことを特徴とするシステム。
【請求項６】
請求項１に記載のシステムであって、
前記第２の解像度での前記第１セットの画像のうちの前記１以上の画像を、前記クライアントデバイスへ提供させることは、前記クライアントデバイスに、前記第１の解像度での前記第１セットの画像のうちの前記１以上の画像の以前のバージョンを、前記第２の解像度での前記第１セットの画像のうちの前記１以上の画像と置き換えさせることを特徴とするシステム。
【請求項７】
請求項１に記載のシステムであって、
前記第２セットの画像の前記１以上の画像に対応する前記更新されたウィンドウ位置が前記現在表示されているウィンドウ位置に対応することの前記指標を受信することは、前記クライアントデバイスとユーザとのインタラクションを検出させることを含むことを特徴とするシステム。
【請求項８】
請求項７に記載のシステムであって、
命令をさらに含み、該命令は前記少なくとも１つのプロセッサによって実行されたときに前記システムに、
前記ユーザとのインタラクションが前記第１セットの画像を前記現在表示されているウィンドウ位置から離れる方向であって、かつ、前記現在表示されていないウィンドウ位置に向けてスクロールすることであるかを判定させることを特徴とするシステム。
【請求項９】
請求項７に記載のシステムであって、
命令をさらに含み、該命令は前記少なくとも１つのプロセッサによって実行されたときに前記システムに、
前記ユーザとのインタラクションが前記第２セットの画像を前記現在表示されていないウィンドウ位置から離れる方向であって、かつ、前記現在表示されているウィンドウ位置に向けてスクロールすることであるかを判定させることを特徴とするシステム。
【請求項１０】
方法であって、
クライアントデバイスから複数の画像のコレクションについての要求を受信することと、
前記クライアントデバイスにおける現在表示されているウィンドウ位置に対応する、前記複数の画像のコレクションのうちの第１セットの画像と、前記クライアントデバイス上に現在表示されていないウィンドウ位置に対応する、前記複数の画像のコレクションのうちの第２セットの画像とを判定することと、
第１の解像度での前記第１セットの画像と、第２の解像度での前記第２セットの画像とを前記クライアントデバイスへ提供することと、
前記第２セットの画像のうちの１以上の画像に対応する更新されたウィンドウ位置が前記現在表示されているウィンドウ位置に対応することの指標を前記クライアントデバイスから受信することと、
前記第１の解像度での前記第２セットの画像のうちの前記１以上の画像を、前記クライアントデバイスへ提供することと
を含むことを特徴とする方法。
【請求項１１】
請求項１０に記載の方法であって、
前記第１の解像度での前記第２セットの画像のうちの前記１以上の画像を、前記クライアントデバイスへ提供することは、前記第１の解像度での前記第２セットの画像内の全ての画像を提供することを含むことを特徴とする方法。
【請求項１２】
請求項１１に記載の方法であって、
前記第１の解像度での前記第２セットの画像内の前記全ての画像を提供することは、前記クライアントデバイスに、前記第２の解像度での前記第２セットの画像内の全ての画像の以前のバージョンを置き換えさせることを特徴とする方法。
【請求項１３】
請求項１２に記載の方法であって、
前記第２セットの画像は、予め定義された数の画像を有する複数の画像のブロックを含むことを特徴とする方法。
【請求項１４】
請求項１３に記載の方法であって、
前記複数の画像のブロックは、複数の画像のグリッドの定義された位置を含むことを特徴とする方法。
【請求項１５】
請求項１３に記載の方法であって、
前記第２セットの画像の前記１以上の画像に対応する前記更新されたウィンドウ位置が前記現在表示されているウィンドウ位置に対応することの前記指標を受信することは、複数の画像の前記ブロックの位置が前記現在表示されているウィンドウ位置に入るかを判定することを含むことを特徴とする方法。
【請求項１６】
請求項１０に記載の方法であって、
前記第２セットの画像の前記１以上の画像に対応する前記更新されたウィンドウ位置が前記現在表示されているウィンドウ位置に対応することの前記指標を受信することは、前記１以上の画像が前記現在表示されているウィンドウ位置に関して近接した距離内であると検出することを含むことを特徴とする方法。
【請求項１７】
請求項１０に記載の方法であって、
前記第２セットの画像の前記１以上の画像に対応する前記更新されたウィンドウ位置が前記現在表示されているウィンドウ位置に対応することの前記指標を受信することは、前記１以上の画像が前記現在表示されているウィンドウ位置内の位置であると検出することを含むことを特徴とする方法。
【請求項１８】
命令を含むコンピュータプログラムであって、該命令は少なくとも１つのプロセッサによって実行されたときにコンピュータシステムに、
クライアントデバイスから複数の画像のコレクションについての要求を受信させ、
前記クライアントデバイスにおける現在表示されているウィンドウ位置に対応する、前記複数の画像のコレクションのうちの第１セットの画像と、前記クライアントデバイス上に現在表示されていないウィンドウ位置に対応する、前記複数の画像のコレクションのうちの第２セットの画像とを判定させ、
第１の解像度での前記第１セットの画像と、第２の解像度での前記第２セットの画像とを前記クライアントデバイスへ提供し、
前記第２セットの画像のうちの１以上の画像に対応する更新されたウィンドウ位置が前記現在表示されているウィンドウ位置に対応することの指標を前記クライアントデバイスから受信させ、
前記第１の解像度での前記第２セットの画像のうちの前記１以上の画像を、前記クライアントデバイスへ提供させる、
ことを特徴とするコンピュータプログラム。
【請求項１９】
請求項１８に記載のコンピュータプログラムであって、
前記更新されたウィンドウ位置が前記１以上の画像に対応することの前記指標を受信することは、ユーザとのインタラクションが前記第１セットの画像を前記現在表示されているウィンドウ位置から離れる方向であって、かつ、前記現在表示されていないウィンドウ位置に向けてスクロールすることであるかを判定することを含むことを特徴とするコンピュータプログラム。
【請求項２０】
請求項１８に記載のコンピュータプログラムであって、
前記更新されたウィンドウ位置が前記１以上の画像に対応することの前記指標を受信することは、ユーザとのインタラクションが前記第２セットの画像を前記現在表示されていないウィンドウ位置から離れる方向であって、かつ、前記現在表示されているウィンドウ位置に向けてスクロールすることであるかを判定することを含むことを特徴とするコンピュータプログラム。
【外国語明細書】
2019036329000001.pdf