(57)【要約】  ユーザーとコンテンツプロバイダーとの間の社会的距離に基づいてコンテンツ項目を取り出す。社会的距離は、例えば、コンテンツプロバイダーとのユーザーのインタラクションに基づいて決定される。コンテンツプロバイダーは、決定された社会的距離に基づいて、ユーザーに対してランク付けされる。ユーザーからの要求の前に、コンテンツ項目は、ランク付けされたコンテンツプロバイダー及びユーザーの計算装置の記憶空間、帯域幅及びバッテリー電力レベルなどの制約に基づいてプリフェッチされる。いくつかの実施例において、計算装置上の可変サイズのキャッシュがサイズを満たすか又は変更すると、追加のコンテンツ項目が取り出され、又は検索されたコンテンツ項目が削除される。
2013507718.tif 000002
【特許請求の範囲】
【請求項１】
ユーザーに関連付けられるモバイルコンピューティング装置においてコンテンツをプリフェッチするシステムであって、
ユーザーデータを格納するメモリー領域と、
前記ユーザーと前記モバイルコンピューティング装置との間のインタラクションを監視し、
前記監視されたインタラクションを前記ユーザーデータの一部として前記メモリー領域に格納し、
各々がコンテンツプロバイダーに関連付けられるコンテンツ項目のリストを受信し、
前記メモリー領域に格納された前記ユーザーデータに少なくとも基づいて各コンテンツプロバイダーについて、前記コンテンツプロバイダーと前記ユーザーとの間の関係を表す社会的距離値を計算し、
前記計算された社会的距離値に基づいて前記リスト上の１つ又は複数のコンテンツ項目を選択的に取り出す
ようにプログラムされたプロセッサーと
を備え、前記プロセッサーは、前記１つ又は複数のコンテンツ項目について前記ユーザーから要求を受信する前に前記１つ又は複数のコンテンツ項目を取り出すようにプログラムされるシステム。
【請求項２】
前記プロセッサーは前記モバイルコンピューティング装置に関連付けられる１つ又は複数の制約を決定するようにさらにプログラムされ、前記プロセッサーは前記決定された制約に応じて前記１つ又は複数のコンテンツ項目を取り出すようにプログラムされる請求項１に記載のシステム。
【請求項３】
前記メモリー領域は可変サイズのキャッシュを含み、前記プロセッサーは、前記可変サイズのキャッシュ内の利用可能なストレージに基づいて取り出すコンテンツ項目の量を定義するようにプログラムされる請求項１に記載のシステム。
【請求項４】
前記ユーザーデータは前記ユーザーと前記コンテンツプロバイダーとの間のインタラクションについて記述するインタラクション履歴を含み、前記プロセッサーは前記インタラクション履歴に少なくとも基づいて前記社会的距離値を計算するようにプログラムされる請求項１に記載のシステム。
【請求項５】
前記ユーザーデータは前記ユーザーの閲覧履歴を含む請求項１に記載のシステム。
【請求項６】
前記コンテンツ項目は、画像ファイル、ビデオファイル、テキストファイル、ブログ投稿、電子メールメッセージ、インスタントメッセージ、オーディオクリップ、ハイパーリンク及びマイクロブログ投稿のうちの１つ又は複数を含む請求項１に記載のシステム。
【請求項７】
前記ユーザーと前記コンテンツプロバイダーとの間の社会的距離に基づいて前記モバイルコンピューティング装置のリソースの使用に優先順位をつける手段と、
前記ユーザーと前記コンテンツプロバイダーとの間の社会的距離に基づいて前記モバイルコンピューティング装置におけるコンテンツ取り出しに優先順位をつける手段と
をさらに備える請求項１に記載のシステム。
【請求項８】
各々がコンテンツプロバイダーに関連する、コンテンツ項目のリストへアクセスするステップであって、各コンテンツプロバイダーが自身に関連付けられる社会的距離値を有し、前記社会的距離値は前記コンテンツプロバイダーとユーザーとの間の関係を表す、ステップと、
前記ユーザーの計算装置に関連付けられる制約を決定するステップと、
前記社会的距離値に基づいて及び前記決定された制約に応じて、前記リスト上の１つ又は複数のコンテンツ項目を選択的に取り出すステップと
を含み、前記アクセスするステップ、前記決定するステップ及び前記取り出すステップは、前記１つ又は複数のコンテンツ項目について前記ユーザーから要求を受信する前に生じる方法。
【請求項９】
前記コンテンツ項目のリストへアクセスするステップは、前記コンテンツ項目の各々に関連付けられるコンテンツプロバイダーの社会的距離値によってソートされたコンテンツ項目のリストを受信するステップを含む請求項８に記載の方法。
【請求項１０】
前記社会的距離値に基づいて前記コンテンツ項目のリスト中でコンテンツ項目をランク付けするステップをさらに含む請求項８に記載の方法。
【請求項１１】
前記１つ又は複数のコンテンツ項目を選択的に取り出すステップは、１位にランク付けされたコンテンツプロバイダーに関連付けられるコンテンツ項目を取り出すステップを含む請求項１０に記載の方法。
【請求項１２】
前記１つ又は複数のコンテンツ項目を選択的に取り出すステップは、２位にランク付けされたコンテンツプロバイダーに関連付けられるコンテンツ項目の一部を取り出すステップをさらに含む請求項１１に記載の方法。
【請求項１３】
前記１つ又は複数のコンテンツ項目を選択的に取り出すステップは、前記計算装置上の利用可能な記憶装置、前記計算装置のバッテリーレベル、及び前記計算装置と前記コンテンツプロバイダーに関連付けられるサーバーコンピューティング装置との間の接続の帯域幅のうちの１つ又は複数に基づいて前記１つ又は複数のコンテンツ項目を取り出すステップを含む請求項８に記載の方法。
【請求項１４】
所定のしきい値を超える社会的距離値を有するコンテンツプロバイダーに関連付けられるコンテンツ項目を識別するステップをさらに含み、前記１つ又は複数のコンテンツ項目を選択的に取り出すステップは前記識別されたコンテンツ項目を選択的に取り出すステップを含む請求項８に記載の方法。
【請求項１５】
１つ又は複数のコンピューター読み取り可能な媒体がコンピューター実行可能なコンポーネントを有し、前記コンポーネントは、
少なくとも１つのプロセッサーによって実行されると、該少なくとも１つのプロセッサーに複数のコンテンツプロバイダーの各々についての社会的距離値を計算させるスコアコンポーネントであって、各社会的距離値は前記コンテンツプロバイダーとユーザーとの間の関係を表す、スコアコンポーネントと、
少なくとも１つのプロセッサーによって実行されると、該少なくとも１つのプロセッサーに、各々が前記コンテンツプロバイダーのうちの１つと関連付けられるコンテンツ項目のリストにアクセスさせる、フィードコンポーネントと、
少なくとも１つのプロセッサーによって実行されると、該少なくとも１つのプロセッサーに、前記計算装置に関連付けられるメモリー領域中の利用可能なストレージを監視させる、リソースコンポーネントと、
少なくとも１つのプロセッサーによって実行されると、該少なくとも１つのプロセッサーに、前記スコアコンポーネントによって計算される前記社会的距離値に基づいて及び前記リソースコンポーネントによって監視される前記利用可能なストレージに基づいて、前記リスト上の前記コンテンツ項目のうちの１つ又は複数を選択的に取り出させる、メンテナンスコンポーネントであって、前記取り出しは前記１つ又は複数のコンテンツ項目について前記ユーザーから要求を受信する前に生じ、前記取り出されたコンテンツ項目は前記記憶領域に格納される、メンテナンスコンポーネントと
を含む請求項８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、社会的距離に基づくコンテンツ項目のプリフェッチに関する。
【背景技術】
【０００２】
[0001]ウェブサイトは、ユーザーが他のユーザーと共有するためにメッセージ、画像、音楽、ビデオクリップ、その他を投稿することを可能にする。例えば、何人かのユーザーが毎月何百もの新たな写真を投稿する。このソーシャルコンテンツの大容量及び利用可能性のために、特定のユーザーが消費する興味のあるコンテンツを選択することは時間を消費するものとなっている。さらに、既存のセルラーデータネットワークの長い待ち時間及び低帯域幅のために、ユーザーはしばしば、写真などのデータの大きなセットをブラウズするときに質の低い経験を有することがある。いくつかの既存のシステムは、ユーザーが様々なコンテンツプロバイダー又は作者から新たに投稿された興味のあるコンテンツを受信するよう予約することを可能にする。しかし、ユーザー（及びユーザーの計算装置）が各々の追加の予約をしたコンテンツですぐに一杯になるので、これらの既存システムはうまく拡大しない。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
[0002]他の既存システムは、ユーザーがコンテンツプロバイダーから選択されたコンテンツにアクセスすることを可能にする許可をコンテンツプロバイダーが確立することを可能にする。しかし、そのようなシステムは、ユーザーの好み及びユーザーにとって利用可能なコンピューティング資源を明らかにしない。
【課題を解決するための手段】
【０００４】
[0003]本開示の実施例は、社会的距離（social distance）及び装置の制約に基づいたコンテンツ項目の選択的な取り出し（検索）を可能にする。コンテンツ項目のリストがアクセスされる。リスト上のコンテンツ項目の各々は関連するコンテンツプロバイダーを有する。各コンテンツプロバイダーは関連する社会的距離値（social distance value）を有する。社会的距離値は、コンテンツプロバイダーとユーザーとの関係を表す。ユーザーの計算装置に関連付けられる制約が決定される。リスト上の１つ又は複数のコンテンツ項目は、社会的距離値に基づいて、及び決定された制約に応じて、選択的に取り出される（検索される）。コンテンツ項目は、コンテンツ項目についてユーザーから要求を受信する前に選択的に検索される。
【０００５】
[0004]この概要は、詳細な説明において以下にさらに述べられる概念のうちの選択されたものを単純化された形式で紹介するために提供される。この概要は、特許請求された主題の重要な特徴又は不可欠な特徴を識別するようには意図されず、特許請求された主題の範囲の決定に際して助けとして使用されるようにも意図されない。
【図面の簡単な説明】
【０００６】
【図１】[0005]複数のコンテンツプロバイダーからコンテンツ項目を受信する計算装置を示す例示的なブロック図である。
【図２】[0006]社会的距離及び装置の制約に基づいたコンテンツ項目の選択的検索を示す例示的なフローチャートである。
【図３】[0007]ランク付けされたコンテンツプロバイダーに関連付けられるコンテンツ項目のプリフェッチを示す例示的なフローチャートである。
【図４】[0008]写真及び音楽をダウンロードするためにウェブサービスと通信するモバイルコンピューティング装置を示す例示的なブロック図である。
【０００７】
[0009]対応する参照文字は図面の全体にわたって対応する部分を示す。
【発明を実施するための形態】
【０００８】
[0010]図を参照すると、本開示の実施例は、少なくとも、ユーザー１０２とコンテンツプロバイダー１０５との間の社会的距離に基づいたコンテンツ項目のヒューリスティックなプリフェッチ（pre-fetch）を可能にする。プリフェッチされたコンテンツ項目は、社会的距離に基づいてユーザー１０２にとって興味のある可能性があると決定されるコンテンツ項目を表す。本開示の態様は、コスト（例えば、記憶空間、バッテリー、帯域幅など）あたりのより大きな値を提供するユーザー１０２の計算装置１０４上のリソースの使用を優先的にする。いくつかの実施例において、計算装置１０４は、制限されたリソースを備えた携帯電話などのモバイルコンピューティング装置４０２を含む。
【０００９】
[0011]ユーザー１０２はコンテンツプロバイダー１０５の各々と関係する。各関係の近さは、コンテンツプロバイダー１０５の各々によって異なる。例えば、ユーザー１０２は、コンテンツプロバイダー１０５のうちの１人の親族や親しい友人かもしれない。そのような例において、ユーザー１０２は、そのコンテンツプロバイダー１０５からのコンテンツ項目を見ることに強い興味を持つ。別の例において、ユーザー１０２は、コンテンツプロバイダー１０５の知人にすぎず、コンテンツプロバイダー１０５又はコンテンツプロバイダー１０５のコンテンツ項目に対する関心を履歴上示していない。そのような例において、ユーザー１０２は、このコンテンツプロバイダー１０５からの新たなコンテンツ項目を見ることにごくわずかな興味を持つかもしれない。
【００１０】
[0012]社会的距離値は、ユーザー１０２とコンテンツプロバイダー１０５の各々と間の近さの程度を表す。社会的距離値は１人のユーザー及びコンテンツプロバイダー１０５のうちの１つに関連付けられるが、異なるコンテンツプロバイダー１０５が同じユーザーに対して同じ社会的距離値を有していてもよい。社会的距離値は、暗示的に又は明示的に定義又は計算されてもよい（例えば、図３を参照）。例示的な社会的距離値は０から１もしくは０から１００までに及んでもよく、又は任意の定義された値の組もしくは範囲から選択されてもよい。
【００１１】
[0013]図１を再び参照すると、例示的なブロック図は、複数のコンテンツプロバイダー１０５からコンテンツ項目を受信する計算装置１０４を示す。図１に示された要素はコンテンツ項目の選択的なプリフェッチを可能にするように動作する。例えば、ユーザー１０２が他のコンテンツ項目をブラウズするか（例えば、アクティブなプリフェッチ）、又は計算装置１０４が動いていない間にコンテンツ項目がプリフェッチされる（例えば、バックグラウンド・プリフェッチ）とき、コンテンツ項目はプリフェッチされる。
【００１２】
[0014]いくつかの実施例において、計算装置１０４は、図４に示されるようなモバイルコンピューティング装置４０２を表す。他の実施例において、計算装置１０４は、本明細書に記載された機能を実施するようにプログラムされた複数の計算装置を表す。代替的に又はさらに、機能の一部は（例えば、ウェブサービスを実行する）他の計算装置によって実行される。
【００１３】
[0015]計算装置１０４は、インターネットなどのネットワーク１０３を介して、コンテンツプロバイダー＃１からコンテンツプロバイダー＃Ｎなどのコンテンツプロバイダー１０５と通信する。コンテンツプロバイダー１０５は、例えば、ソーシャル・ネットワーキング・ウェブサイト又は写真を共有するウェブサイトなどのコンテンツの配信者又は保存場所を表す。他の実施例において、コンテンツプロバイダー１０５はコンテンツの作者を表す。計算装置１０４は少なくともメモリー領域１０６及びプロセッサー１０８を含む。メモリー領域１０６、又は他のコンピューター読み取り可能な媒体もしくは機械読み取り可能な媒体は、ユーザーデータ１１０を格納する。ユーザーデータ１１０は計算装置１０４の１人又は複数のユーザー１０２に特有のデータを含んでもよい。ユーザーデータ１１０は、図１の例のようにローカルに保存されてもよいし、又はウェブサービス（例えば、ユーザープロフィール情報を格納するソーシャルコンテンツウェブサービス）によるなどしてリモートに格納され、計算装置１０４に同期されてもよい。いくつかの実施例において、ユーザーデータ１１０は、ユーザー１０２とコンテンツプロバイダー１０５との間のインタラクションについて記述するインタラクション履歴１１２を含む。例えば、ユーザーデータ１１０はブラウジング履歴を含む。例えば特定のコンテンツ項目上の滞留時間を含む、コンテンツ項目を消費する場合、他の例示的なユーザーデータ１１０は任意のユーザー１０２の振る舞いを含む。
【００１４】
[0016]メモリー領域１０６は、さらに、コンテンツ項目のリスト１１６を格納する。いくつかの実施例において、コンテンツ項目のリストは、最近利用可能になったコンテンツの「最新情報（what’s new）」フィードを含む。例えば、コンテンツ項目は、次のうちの１つ又は複数を含む：画像ファイル、ビデオファイル、テキストファイル、ブログ投稿、電子メールメッセージ、インスタントメッセージ、オーディオクリップ、ハイパーリンク及びマイクロブログの投稿。コンテンツ項目のリスト１１６は、コンテンツプロバイダー１０５の少なくとも１つ、又は先端（front-edge）サーバー（図示せず）から受信される。コンテンツ項目のリスト１１６は、ユーザー１０２によって、定期的に、周期的に、又は要求に応じて、得られ、受信され、取り出され、アクセスされ、配信され、取られてもよい。例えば、様々な実施例において、計算装置１０４は、コンテンツ項目のリスト１１６を能動的に求めてもよいし、又は一定間隔でコンテンツ項目のリスト１１６を受動的に受信してもよい。
【００１５】
[0017]いくつかの実施例において、メモリー領域１０６の一部は、可変サイズのキャッシュ（例えば、ファイルシステムから割り当てられた可変量のメモリーを有するキャッシュ）などのキャッシュ１１４を含む。他の実施例（図示せず）では、キャッシュ１１４は、計算装置１０４内の又は計算装置１０４によってアクセス可能な別の記憶領域に関連付けられる。キャッシュ１１４は、コンテンツプロバイダー１０５から受信された１つ又は複数のコンテンツ項目を格納する。いくつかの実施例において、キャッシュ１１４は、ファイルシステムからの特定の量のメモリーを割り当てられた固定サイズのキャッシュである。
【００１６】
[0018]メモリー領域１０６、又は１つもしくは複数のコンピューター読み取り可能な媒体は、さらに、本開示の態様を実施するコンピューター実行可能なコンポーネントを格納する。例示的なコンポーネントは、スコアコンポーネント１１８、フィードコンポーネント１２０、リソースコンポーネント１２２及びメンテナンスコンポーネント１２４を含む。これらのコンポーネントは図３に関して以下に述べられる。
【００１７】
[0019]一般に、メモリー領域１０６は計算装置１０４に関連付けられる。例えば、図２では、メモリー領域１０６は計算装置１０４内にある。しかし、メモリー領域１０６は、計算装置１０４の内部の、外部の又は計算装置１０４によってアクセス可能な任意のメモリー領域を含む。さらに、メモリー領域１０６又はその上に格納された任意のデータは、計算装置１０４に対してローカル又は遠隔（例えば、ネットワークを介してアクセス可能）である任意のサーバー又は他のコンピューターに関連付けられてもよい。
【００１８】
[0020]プロセッサー１０８は、任意の量の演算処理装置を含み、本開示の態様を実施するためにコンピューター実行可能命令を実行するようにプログラムされる。当該命令は、プロセッサー１０８もしくは計算装置１０４内で実行する複数のプロセッサーによって実行されてもよいし、又は、（例えば、クラウドサービスによって）計算装置１０４の外部のプロセッサーによって実行されてもよい。いくつかの実施例において、プロセッサー１０８は、図面（例えば、図２及び図３）に示されるような命令を実行するようにプログラムされる。
【００１９】
[0021]次に図２を参照すると、例示的なフローチャートは、社会的距離及び装置の制約に基づいたコンテンツ項目の選択的検索を示す。コンテンツ項目は、例えば、音声、テキスト、ビデオ及び画像データ（例えば、ファイル、ストリーミングされるデータなど）を含む。いくつかの実施例において、コンテンツ項目は電子メールメッセージ及びテキストメッセージを含む。コンテンツ項目のリスト１１６が２０２において受信される場合、計算装置１０４に関連した１つ又は複数の制約が２０４において決定される。例えば、計算装置１０４は、コンテンツプロバイダー１０５のうちの１つから又は別のエンティティからのコンテンツ項目のリスト１１６を取り出し、受信し、又はアクセスする。いくつかの実施例において、コンテンツ項目のリスト１１６は、社会的距離値に従ってコンテンツプロバイダー１０５によってソートされる。計算装置１０４は、ソートされたリストを受信し、社会的距離値に基づいて、ユーザー１０２に「最も近い」コンテンツプロバイダー１０５を迅速に特定することができる。他の実施例において、計算装置１０４は、コンテンツ項目のソートされていないリスト１１６を受信し、リスト上のコンテンツ項目の各々に関連付けられるコンテンツプロバイダー１０５の社会的距離値によって、コンテンツ項目をソートする。そのような実施例において、よりランクの低いコンテンツプロバイダー１０５に関連付けられるコンテンツ項目が取り出される前に、１位にランク付けされたコンテンツプロバイダー１０５に関連付けられるコンテンツ項目が取り出される。
【００２０】
[0022]計算装置１０４に関連した例示的な制約は、ストレージの制約、バッテリー／電力の制約及び帯域幅の制約などの、ハードウェア及び／又はソフトウェアの制約を含む。決定された制約は、例えば、計算装置１０４における利用可能なストレージの量、計算装置１０４の残りのバッテリー電力の量及び利用可能な帯域幅リソースを表す。帯域幅リソースは、例えば、計算装置１０４とコンテンツプロバイダー１０５との間での利用可能な帯域幅を表す。他の例示的な制約は、処理能力に関連する制限又は設定（例えば、プロセッサー１０８使用率が所定のしきい値を超えるなど）を含む。さらに他の例示的な制約は、計算装置１０４上で実行するソフトウェアに関連付けられる（例えば、スレッドの量が所定のしきい値を超過するなど）。
【００２１】
[0023]２０６において、コンテンツ項目は、コンテンツプロバイダー１０５の各々についての決定された制約及び社会的距離値に基づいて、コンテンツプロバイダー１０５から選択的に取り出される。いくつかの実施例において、コンテンツ項目を選択的に取り出すことは、１位にランク付けられる（first-ranked）コンテンツプロバイダー１０５に関連付けられるコンテンツ項目を取り出し、次いでより低くランク付けされたコンテンツプロバイダー１０５（例えば、２位にランク付けられるコンテンツプロバイダー１０５）の１つ又は複数に関連付けられるコンテンツ項目の一部のみを取り出すことを含む。他の実施例において、所定のしきい値を超える社会的距離値を有するコンテンツプロバイダー１０５に関連付けられるコンテンツ項目だけが取り出される。
【００２２】
[0024]いくつかの実施例において、２０２、２０４及び２０６における動作は、選択的に取り出されるコンテンツ項目についてユーザー１０２から要求を受信する前に実行される。例えば、ユーザー１０２がインターネット、写真集、音楽ライブラリーなどを閲覧しているときに当該動作が実行される。コンテンツ項目は、キャッシュされたコンテンツ項目のうちの１つ又は複数についてユーザー１０２から要求を受信することを予期して、プリフェッチされキャッシュされる（例えば、ユーザー１０２がコンテンツ項目を要求する寸前にコンテンツ項目をプリフェッチする）。本開示の態様は、要求を受信することに応答して、要求されたコンテンツ項目をユーザー１０２に迅速に配信することができる。本開示のそのような実施例は、計算装置１０４に関するユーザー経験を改善する。
【００２３】
[0025]次に図３を参照すると、例示的なフローチャートは、ランク付けされたコンテンツプロバイダー１０５に関連付けられるコンテンツ項目のプリフェッチを示す。３０２において、コンテンツプロバイダー１０５とのユーザー１０２のインタラクションが監視される。例えば、本開示の態様は、ユーザー１０２によって選択され見られた画像に関連付けられるコンテンツプロバイダー１０５を識別し、コンテンツプロバイダー１０５の特定の１つのフォトギャラリーをユーザー１０２が閲覧するのに費やす時間の量を測定及び格納し、ユーザー１０２とコンテンツプロバイダー１０５との間で交換されたメッセージを数えたりする。いくつかの実施例において、監視されたインタラクションからのデータはメモリー領域１０６にユーザーデータ１１０の一部として保存される。
【００２４】
[0026]３０４において、コンテンツプロバイダー１０５の各々についての社会的距離値が、３０４において監視されたユーザーインタラクションに少なくとも基づいて計算される。その後、コンテンツプロバイダー１０５の各々は社会的距離値を自身に関連付ける。社会的距離値は、コンテンツプロバイダー１０５とユーザー１０２との関係を表す。社会的距離値は、行事予定（カレンダーイベント）、電子メールメッセージ、インタラクション履歴１１２などを含むユーザーデータ１１０に部分的に基づいて計算することができる。いくつかの実施例において、適合度関数（fitness function）が社会的距離値を計算するために使用される。
【００２５】
[0027]以下の表１は、社会的距離値を計算するための例示的な変数、値及び加重を示す。いくつかの実施例において、キャッシュ履歴がより短い場合、変数は繰り返しの３０日間又はより短いウィンドウにおいて計算される。
【００２６】
【表１】
2013507718.tif 000003
【００２７】
[0028]いくつかの実施例において、表１の値は、社会的距離値を計算するために、加重に従って線形に組み合わせられる（例えば、合計される）。他の実施例において、社会的距離値を計算するために、値は他の数学的な方法で組み合わせられ、又は追加のデータもしくは計算によって増大される。
【００２８】
[0029]計算装置１０４が３０６においてコンテンツ項目のリスト１１６を受信する場合、計算装置１０４は、３０８において、社会的距離値の順にランク付けされるコンテンツプロバイダー１０５からコンテンツ項目のうちの１つをプリフェッチする。コンテンツ項目は、より低いランキングのコンテンツプロバイダー１０５ではなく最も高いランキングのコンテンツプロバイダー１０５から取り出される。いくつかの実施例において、複数のコンテンツ項目が３０８においてプリフェッチされる。例えば、２つのコンテンツ項目が一度に取り出されてもよい。
【００２９】
[0030]計算装置１０４のリソースもまた監視される。例えば、利用可能な記憶空間、帯域幅及びバッテリー電源レベルが定期的に又は不定期に監視される。３１０において、１つ又は複数のリソースが使い尽くされる場合（例えば、所定のしきい値に反するか又はそれを超えるレベルにある場合）、リソースメンテナンスが実行される。例えば、キャッシュメンテナンスが３１２において実行される。例示的なキャッシュメンテナンスは、キャッシュ１１４からより古いコンテンツ項目を削除すること、コンテンツ項目を圧縮すること、及び他のルーチン又は典型的なキャッシュメンテナンス項目を含む。キャッシュ１１４中のコンテンツ項目の年齢は、例えば、コンテンツ項目の各々に関連付けられる項目の日付によって決定される。項目の日付は、計算装置１０４がコンテンツ項目をリフレッシュし、コンテンツ項目にアクセスし、コンテンツ項目をプリフェッチし、コンテンツ項目を送信し、又はコンテンツ項目を受信した最も最近の日付／時間に対応する。例えば、最も最近の１０個の画像又は１２時間未満の最近の画像を除いて、フルスクリーン画像がキャッシュ１１４から取り除かれてもよい。７２時間より古い画像メタデータ及びサムネイルもまた削除されてもよい。いくつかの実施例において、キャッシュメンテナンスはまた、定期的に（例えば、毎日及び／又は計算装置１０４に電源が入れられたときに）実行される。３１２においてキャッシュメンテナンスを実行した後に、３０８において別のコンテンツ項目がプリフェッチされる。
【００３０】
[0031]３１０において計算装置１０４のリソースが使い尽くされない場合、３０８において別のコンテンツ項目がプリフェッチされる。
[0032]いくつかの実施例において、図３に示される動作のうちの少なくともいくつかは、取り出されたコンテンツ項目についてユーザー１０２から要求を受信する前に実行される。このように、本開示の態様は、ユーザーのインタラクションを観察し、ユーザー１０２にとって興味深いと考えられるコンテンツ項目を、ユーザーが実際にそれらのコンテンツ項目を要求する前にプリフェッチする。計算装置１０４上で写真又は他のコンテンツを閲覧する場合、本開示の態様は改善されたユーザー経験を提供する。同様に、計算装置１０４のリソースがより制限されたものとなる場合、本開示の態様は、ユーザー経験の正常な低下（graceful degradation）を可能にする。
【００３１】
[0033]いくつかの実施例において、図１に示されたコンポーネントなどの１つ又は複数のコンピューター実行可能なコンポーネントは、図３に示された動作を実行するために、計算装置１０４上で実行する。スコアコンポーネント１１８は、プロセッサー１０８によって実行されると、プロセッサー１０８に、コンテンツプロバイダー１０５の各々について社会的距離値を計算させる。フィードコンポーネント１２０は、プロセッサー１０８によって実行されると、プロセッサー１０８に、コンテンツ項目のリスト１１６にアクセスさせる。リソースコンポーネント１２２は、プロセッサー１０８によって実行されると、プロセッサー１０８に、計算装置１０４のメモリー領域１０６（例えば、キャッシュ１１４）における利用可能なストレージを監視させる。他の実施例において、利用可能なストレージは、フラッシュドライブなどの取り外し可能な記憶領域にある。監視されたストレージが所定のしきい値を超過するとリソースコンポーネント１２２が決定する例において、メンテナンスコンポーネント１２４は、さらに、メモリー領域１０６に格納されたコンテンツ項目の少なくとも１つを削除する。
【００３２】
[0034]メンテナンスコンポーネント１２４は、プロセッサー１０８によって実行されると、プロセッサー１０８に、スコアコンポーネント１１８によって計算された社会的距離値に基づいて及びリソースコンポーネント１２２によって監視された利用可能なストレージに基づいて、リスト上の１つ又は複数のコンテンツ項目を選択的に取り出させる。取り出されたコンテンツ項目はメモリー領域１０６に格納される。いくつかの実施例において、取り出しは、コンテンツ項目についてユーザー１０２から要求を受信する前に生じる。
【００３３】
[0035]リソースコンポーネント１２２はバッテリーレベルなどの様々な他のリソースをさらに監視する。バッテリーレベルが所定のしきい値に達し、超過し、越え、反し、又はそうでなければ交差する場合、メンテナンスコンポーネント１２４は、バッテリーが充電されるまで（又は充電まで）、コンテンツ項目を検索するのを止める。
【００３４】
[0036]いくつかの実施例において、スコアコンポーネント１１８は、複数の設定可能なパラメーターに基づいて社会的距離値を計算する。いくつかの実施例において、設定可能なパラメーターは以下のうちの１つ又は複数から決定される：コンテンツプロバイダー１０５の各々に関連付けられるコンテンツ項目に対するユーザー１０２によるアクセスの頻度、コンテンツプロバイダー１０５の各々に関連付けられるコンテンツ項目についてユーザー１０２によって投稿されたコメントの量、及び、ユーザー１０２とコンテンツプロバイダー１０５の各々との間で交換されたメッセージの量。
【００３５】
[0037]いくつかの実施例において、図２及び図３に示された動作は計算装置１０４によって実行される。他の実施例において、図２又は図３に示された動作のうちの１つ又は複数は、（例えば、ウェブサービスとして）別の計算装置によって実行される。
【００３６】
[0038]他の実施例において、計算装置１０４の機能の少なくとも一部は、ユーザー１０２の計算装置１０４から離れたエンティティ（例えば、プロセッサー１０８、ウェブサービス、サーバー、アプリケーションプログラム、計算装置など）によって実行される。
【００３７】
[0039]次に図４を参照すると、例示的なブロック図は、写真及び音楽をダウンロードするためにウェブサービス４０４と通信するモバイルコンピューティング装置４０２を示す。ユーザー１０２は、ウェブサービス４０４とインタラクトするようにモバイルコンピューティング装置４０２を操作する。ウェブサービス４０４は、コンテンツ項目を提供する計算装置の任意の組み合わせを含む。他のユーザー４０６又はエンティティはウェブサービス４０４にコンテンツ項目を提供する。この例において、他のユーザー４０６はコンテンツプロバイダー１０５を構成する。
【００３８】
[0040]１つの例において、ユーザー１０２は、モバイルコンピューティング装置４０２上で実行するブラウザーを介して写真及び音楽を閲覧する。ユーザー１０２は、いくつかのサムネイル画像を見て、「春休み」写真アルバム中の数人の友人の名にタグ付けする。本開示の態様は、タグ付けされた友人に関連付けられるサムネイルについてフルスクリーン画像をプリフェッチする。プリフェッチされたフルスクリーン画像のうちのいずれかがコメント又は他のタグを有する場合、本開示の態様はまた、当該コメント及びタグを取って来る。ユーザー１０２がフルスクリーン画像を見るためにサムネイルのうちの１つを選択する場合、フルスクリーン画像は既に取って来られており、即座に表示される。
さらなる例
[0041]本開示の様々な実施例が考えられる。１つの例では、動作中、計算装置１０４は、最新の社交行事（ソーシャルイベント）の「新着情報」フィードを受信する。当該フィードは、例えば、ユーザーなどの主体表示名や識別子、写真アルバム、「ジョンがジェーンと友人になった」などの関係を示す文字列などの、客体表示名又は識別子を含む。この例において、計算装置１０４は、コンテンツプロバイダー１０５の各々の社会的距離値に従って「新着情報」フィードにリストされた写真アルバムに関連付けられるコンテンツプロバイダー１０５をランク付けする。ランク付けされたコンテンツプロバイダー１０５のリストは、所定のしきい値を超える社会的距離値をもつコンテンツプロバイダー１０５のみ（例えば、ユーザー１０２に対して十分に近いとみられるコンテンツプロバイダー１０５のみ）を含むように取り除かれる。
【００３９】
[0042]最も最近のアルバムから始めて、１位にランク付けされるコンテンツプロバイダー１０５（例えば、写真アルバムの作者）からのすべての新たなアルバムからの写真がプリフェッチされる。例えば、計算装置１０４は、それらのサムネイルに関連した写真アルバム及びフルスクリーン画像中の最初の１８個のサムネイルをプリフェッチする。代替的に、計算装置１０４は、それらのサムネイルに関連した、最初の９個のサムネイル及び最初の５つまでのフルスクリーン画像をプリフェッチする。１位にランク付けられるコンテンツプロバイダー１０５からのすべてのアルバムが一旦プリフェッチされると、２位にランクするコンテンツプロバイダー１０５の新たなアルバムからの写真の一部がプリフェッチされる。例えば、当該一部は、１位にランク付けられるコンテンツプロバイダー１０５の社会的距離値に対する２位にランク付けられるコンテンツプロバイダー１０５の社会的距離値の比によって決定され、最も近い全体のアルバム以下を切り捨てる。
【００４０】
[0043]終了条件に達するまで、プリフェッチ処理は、次に続くランク付けされたコンテンツプロバイダー１０５を介してこのように継続する。本明細書に別記されるように、終了条件は計算装置１０４の様々なリソース（例えば、利用可能な記憶装置、バッテリー及び帯域幅）に依存する。別のアルバム又は写真をプリフェッチすることによって１２時間未満しか経過していないアルバムからキャッシュデータが取り除かれるように、記憶空間が低減された場合、１つの例示的な終了条件が生じる。プリフェッチが残りのバッテリー電力の１０パーセントより多くを消費する場合、別の終了条件が生じる。例えば、バッテリーが２０パーセントの電力を残している場合、終了条件は、その電力の２パーセントが特定のプリフェッチ動作に使用されたときである。別の例は、残っているバッテリー電力が特定のしきい値（例えば、２０パーセント）未満である場合、プリフェッチが生じないということである。帯域幅の使用が超過した場合、さらに別の終了条件が生じる。例えば、プリフェッチ動作は、１日当たりの設定可能な量の帯域幅を割り当てられる。割り当てられた帯域幅が使用された場合、プリフェッチ動作は終了する。例えば、プリフェッチ更新（pre-fetching update）が４時間ごとに生じ、１日当たり６メガバイトの帯域幅の制限がある場合、特定のプリフェッチ更新に１メガバイトが使用されたとき、プリフェッチは終了する。
【００４１】
[0044]プリフェッチ動作の例が次に記載される。１つの例において、利用可能な３メガバイトのキャッシュスペース及び全体で５メガバイトのキャッシュスペースが存在する。キャッシュ１１４は最小の状態にあり、したがって、バックグラウンド・プリフェッチは実行されない。しかし、本発明の態様はフルスクリーンバイナリーをラウンドロビン（round-robin）する：ユーザー１０２が別の写真を要求する場合、最も古いキャッシュされた写真がスペースを作るために削除される。別の例においては、可変サイズのキャッシュが５０メガバイトのデータで一杯である一方、記憶媒体の残りの部分は他の記憶用途のために利用可能な５０メガバイトを有している。ユーザー１０２が音楽ファイルをダウンロードし、記憶媒体上の以前に利用可能であった５０メガバイトのうち１．５メガバイト以外のすべてを満たす場合、本開示の態様は次のキャッシュメンテナンス動作中にキャッシュサイズを縮小する。さらに別の例において、ユーザー１０２は写真ではなくメッセージを使用する。このユーザー１０２について、プリフェッチ動作は７日後に止まり、いかなるプリフェッチされたコンテンツ項目も３０日後に削除され、キャッシュ１１４は動作を停止される（他の用途のために計算装置１０４にキャッシュスペースを返す）。さらに別の例において、割り当てられた５メガバイトのキャッシュスペースのうち０．１メガバイトのキャッシュスペースが利用可能であり、記憶媒体に５メガバイトの記憶空間が残っている。プリフェッチ動作は、０．１メガバイトの利用可能なキャッシュスペースにコンテンツ項目を格納し、次いで、プリフェッチ動作は終了する。
例示的な動作環境
[0045]限定ではなく例として、コンピューター読み取り可能な媒体はコンピューター記憶媒体及び通信媒体を含む。コンピューター記憶媒体は、コンピューター読み取り可能な命令、データ構造、プログラムモジュール又は他のデータなどの情報を格納する。通信媒体は、通常、搬送波又は他の移送機構などの変調されたデータ信号に、コンピューター読み取り可能な命令、データ構造、プログラムモジュール又は他のデータを具体化し、任意の情報配信媒体を含む。上記のうちの任意のものの組み合わせもまたコンピューター読み取り可能な媒体の範囲内に含まれる。
【００４２】
[0046]例示的な計算機システム環境に関して記載したが、本発明の実施例は、多数の他の汎用又は専用の計算システム環境又は構成によって動作可能である。本発明の態様とともに使用するのに適した周知の計算システム、環境及び／又は構成は、モバイルコンピューティング装置、パーソナルコンピューター、サーバーコンピューター、携帯型の装置又はラップトップ装置、マルチプロセッサーシステム、ゲーム機、マイクロプロセッサーベースのシステム、セットトップボックス、プログラム可能な家電、携帯電話、ネットワークＰＣ、ミニコンピューター、メインフレームコンピューター、上記のシステム又は装置のうちの任意のものを含む分散コンピューティング環境などを含むがこれらに限定されない。
【００４３】
[0047]本発明の実施例は、１つもしくは複数のコンピューター又は他の装置によって実行される、プログラムモジュールなどのコンピューター実行可能命令の一般的なコンテキストにおいて記載することができる。コンピューター実行可能命令は１つ又は複数のコンピューター実行可能なコンポーネント又はモジュールへ組織されてもよい。一般に、プログラムモジュールは、特定のタスク３１０を実行し又は特定の抽象データ型を実施する、ルーチン、プログラム、オブジェクト、コンポーネント及びデータ構造を含むがこれらに限定されない。本発明の態様は、任意の数及び構成のそのようなコンポーネント又はモジュールによって実施されてもよい。例えば、本発明の態様は、図面に示され本明細書に記載された特定のコンピューター実行可能命令又は特定コンポーネントもしくはモジュールに限定されない。本発明の他の実施例は、図示され本明細書に記載されたものより多くの又は少ない機能を有する異なるコンピューター実行可能命令又はコンポーネントを含んでもよい。
【００４４】
[0048]本明細書に記載された命令を実行するように構成される場合、本発明の態様は汎用計算機を専用計算装置へ変換する。
[0049]図示され本明細書に記載された実施例のほか、本明細書には具体的に記載されていないが本発明の態様の範囲内にある実施例は、ユーザー１０２とコンテンツプロバイダー１０５との間の社会的距離に基づいて計算装置１０４のリソースの使用に優先順位をつける例示的な手段、及び、ユーザー１０２とコンテンツプロバイダー１０５との間の社会的距離に基づいて計算装置１０４におけるコンテンツ取り出し（検索）に優先順位を付ける例示的な手段を構成する。
【００４５】
[0050]図示され本明細書に記載された本発明の実施例における動作の実行の順序は、別段の定めがない限り不可欠でない。すなわち、動作は別段の定めがない限り任意の順に行うことができ、本発明の実施例は本明細書に開示されたものよりも追加の又はより少数の動作を含んでもよい。例えば、別の動作の前に、それと同時に、又はその後に特定の動作を実行することが本発明の態様の範囲内にあると考えられる。
【００４６】
[0051]本発明の態様又はその実施例の要素を紹介する場合、「１つの」、「その」及び「前記」という冠詞は、１つ又は複数の要素が存在することを意味するように意図される。「備える」、「含む」及び「有する」という語は、包括的であるように意図され、リストされた要素以外の追加の要素があってもよいことを意味する。
【００４７】
[0052]本発明の態様について詳細に記載してきたが、修正及び変更が、添付の特許請求の範囲において規定されるように、本発明の態様の範囲から逸脱することなく可能であることは明白である。本発明の態様の範囲から逸脱することなく、上記の構成、製品及び方法に様々な変更を行うことができるので、上述の記載に含まれ、添付の図面に示されるすべての事項は、実例となるものとして解釈されるべきであり、限定的な意味に解釈されるべきではないことが意図される。
【図１】
2013507718.tif 000004
【図２】
2013507718.tif 000005
【図３】
2013507718.tif 000006
【図４】
2013507718.tif 000007
【国際調査報告】
2013507718.tif 000008
2013507718.tif 000009