(57)【特許請求の範囲】
【請求項１】
コンテンツ・データをプリフェッチして前記コンテンツ・データをモバイル・デバイスに記憶するための、データ処理システムにおける方法であって、
前記データ処理システム中で、前記モバイル・デバイスの識別子および前記モバイル・デバイスの位置を前記モバイル・デバイスから受け取ること、
前記データ処理システムによって、前記モバイル・デバイスの前記識別子に基づいて前記モバイル・デバイスのユーザに関するデモグラフィック情報を得ること、
前記データ処理システムによって、前記ユーザの前記デモグラフィック情報を他のユーザのデモグラフィック情報と比較して、前記モバイル・デバイスの前記ユーザの前記デモグラフィック情報に類似するデモグラフィック情報を有する１人または複数の類似ユーザを識別すること、
前記データ処理システムによって、前記モバイル・デバイスの前記位置と、前記１人または複数の類似ユーザの前記識別とに基づいて、前記モバイル・デバイスに送信するコンテンツ・データを識別すること、
前記データ処理システムによって、前記モバイル・デバイスに記憶されるように前記コンテンツ・データを前記モバイル・デバイスに送信することを含み、
前記コンテンツ・データを識別することは、
地理的位置情報との関連でコンテンツ・データを記憶する、タグ・データおよびラン
ドマーク・データベース中で、ルックアップ動作を実施して、関連する地理的位置が前記
モバイル・デバイスの前記位置から所定の地理範囲内にあるコンテンツ・データを取り出
し、コンテンツ・データのスーパーセットを生成することと、
前記１人または複数の類似ユーザによってアクセスされたコンテンツ・データに基づいてコンテンツ・データの前記スーパーセットのサブセットを選択することとを含み、
前記１人または複数の類似ユーザが、前記モバイル・デバイスの前記ユーザと同じソーシャル・ネットワーク・システムまたはソーシャル・ネットワーク・アプリケーションのユーザである、
方法。
【請求項２】
コンテンツ・データを識別することがさらに、
前記モバイル・デバイスの前記ユーザの関連するソーシャル・ネットワーク・システムを識別すること、
前記ソーシャル・ネットワーク・システム中にいると決定される前記１人または複数の類似ユーザの少なくともサブセットの間における１つまたは複数の通信を分析して、前記ソーシャル・ネットワーク・システム中にいると決定される前記１人または複数の類似ユーザの関心を引くコンテンツを識別すること、および、
前記１人または複数の類似ユーザの関心を引く前記識別されたコンテンツに対応するコンテンツ・データとして、前記コンテンツ・データを識別することを含む、請求項１に記載の方法。
【請求項３】
前記１人または複数の類似ユーザの少なくとも前記サブセットの間における１つまたは複数の通信を分析することが、前記１人または複数の類似ユーザのそれぞれにつき、
前記類似ユーザと前記モバイル・デバイスの前記ユーザとの間のデモグラフィック情報の類似性と、前記類似ユーザの位置に対する前記モバイル・デバイスの前記位置の類似性と、前記類似ユーザに関連する前記ソーシャル・ネットワーク・システム内の通信中のキーワードのスコアとに基づいて、スコアを生成することを含む、請求項２に記載の方法。
【請求項４】
前記ソーシャル・ネットワーク・システム内の前記通信中のキーワードの前記スコアが、前記通信の時間的フィルタリングと、前記通信の主題関連性フィルタリングとのうちの少なくとも一方に基づいて生成される、請求項３に記載の方法。
【請求項５】
前記モバイル・デバイスに記憶されるように前記コンテンツ・データを前記モバイル・デバイスに送信することが、前記モバイル・デバイスの現在の条件を、ユーザ・ポリシ中で指定される１つまたは複数の条件と比較することを含み、前記ユーザ・ポリシが、前記コンテンツ・データの送信に必要とされる、ユーザによって確立された条件を指定し、前記コンテンツ・データが、前記ユーザ・ポリシ中で指定される前記１つまたは複数の条件を前記モバイル・デバイスの前記条件が満たすことのみに応答して前記モバイル・デバイスに送信される、請求項１に記載の方法。
【請求項６】
前記モバイル・デバイスに送信するコンテンツ・データを前記モバイル・デバイスの前記位置に基づいて識別することが、
ユーザの予測される動き経路に基づいて前記ユーザの未来の到着地を予測することであって、前記予測される動き経路が前記モバイル・デバイスの前記位置に基づいて決定される、前記予測すること、および、
前記ユーザの前記未来の到着地に対応するコンテンツ・データを識別することを含む、請求項１に記載の方法。
【請求項７】
前記コンテンツ・データが、後の時点で前記モバイル・デバイスのユーザによってアクセスされるように前記モバイル・デバイスのキャッシュ・メモリにキャッシュされる、請求項１に記載の方法。
【請求項８】
前記コンテンツ・データが、前記ユーザによって前記モバイル・デバイスを用いて特定の操作が実施されることのみに応答して前記ユーザに対して出力される、請求項７に記載の方法。
【請求項９】
前記特定の操作が、前記コンテンツ・データに関連する物理的な地理的位置における特定のタグ、バーコード、物理的識別子のうちの少なくとも１つを走査することである、請求項８に記載の方法。
【請求項１０】
前記モバイル・デバイスの前記位置または前記モバイル・デバイスの予測される未来の位置に関連する地理エリアに関するワイヤレス・ネットワーク信号強度情報を得ること、および、
前記地理エリアに関する前記ワイヤレス・ネットワーク信号強度情報が所定しきい値未満であるかどうか判定することをさらに含み、前記モバイル・デバイスに記憶されるように前記コンテンツ・データを前記モバイル・デバイスに送信することが、前記地理エリアに関する前記ワイヤレス・ネットワーク信号強度情報が前記所定しきい値未満であると判定されることに応答して実施される、請求項１に記載の方法。
【請求項１１】
前記モバイル・デバイスからウェブ・ブラウザ履歴を取り出すこと、および、
前記ウェブ・ブラウザ履歴を分析して前記モバイル・デバイスの前記ユーザの関心を識別することをさらに含み、前記モバイル・デバイスに送信するコンテンツ・データを前記モバイル・デバイスの前記位置と前記１人または複数のユーザの前記識別とに基づいて識別することがさらに、前記ウェブ・ブラウザ履歴の前記分析によって識別された前記モバイル・デバイスの前記ユーザの前記識別された関心に基づく、請求項１に記載の方法。
【請求項１２】
コンピュータ・プログラムであって、前記コンピュータ・プログラムが、コンピューティング・デバイス上で実行されたとき、請求項１乃至１１のいずれかに記載の方法をコンピューティング・デバイスに実行させる、コンピュータ・プログラム。
【請求項１３】
プロセッサと、
前記プロセッサに結合されたメモリとを備える装置であって、前記メモリが命令を含み、前記命令が、前記プロセッサによって実行されたとき、
モバイル・デバイスの識別子および前記モバイル・デバイスの位置を前記モバイル・デバイスから受け取ること、
前記モバイル・デバイスの前記識別子に基づいて前記モバイル・デバイスのユーザに関するデモグラフィック情報を得ること、
前記ユーザの前記デモグラフィック情報を他のユーザのデモグラフィック情報と比較して、前記モバイル・デバイスの前記ユーザの前記デモグラフィック情報に類似するデモグラフィック情報を有する１人または複数の類似ユーザを識別すること、
前記モバイル・デバイスの前記位置と、前記１人または複数の類似ユーザの前記識別とに基づいて、前記モバイル・デバイスに送信するコンテンツ・データを識別すること、
前記モバイル・デバイスに記憶されるように前記コンテンツ・データを前記モバイル・デバイスに送信することを、前記プロセッサに行わせる、装置であり、
前記コンテンツ・データを識別することは、
地理的位置情報との関連でコンテンツ・データを記憶する、タグ・データおよびランドマーク・データベース中で、ルックアップ動作を実施して、関連する地理的位置が前記モバイル・デバイスの前記位置から所定の地理範囲内にあるコンテンツ・データを取り出し、コンテンツ・データのスーパーセットを生成することと、
前記１人または複数の類似ユーザによってアクセスされたコンテンツ・データに基づいてコンテンツ・データの前記スーパーセットのサブセットを選択することとによって、前記プロセッサに行わせ、
前記１人または複数の類似ユーザが、前記モバイル・デバイスの前記ユーザと同じソーシャル・ネットワーク・システムまたはソーシャル・ネットワーク・アプリケーションのユーザである、
装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、一般に、改良されたデータ処理装置および方法に関し、より詳細には、ユーザ・デモグラフィックに基づいてデータ・プリフェッチを実施するためのメカニズムに関する。
【背景技術】
【０００２】
スマートフォン、タブレット・コンピュータ、および他のモバイル・デバイスが主流のコンピューティングおよび通信デバイスになってきたのに伴い、近年、モバイル・インターネット使用が急増している。このようなデバイスを音声通信および音声メッセージ交換に使用するのとは対照的に、優勢な使用傾向は、インターネット・データ接続を介してウェブ・サイトならびにリッチ・メディア（例えばテレビジョン番組、映画、および音楽）にアクセスするためにモバイル・デバイスを使用することである。様々なモバイル・アプリケーションまたは「アプリ」を利用して、このようなコンテンツにアクセスすることができる。さらに、ますます多くのユーザが、製品および場所についてより多く知るために、自分のモバイル・デバイスを使用して、バーコード（例えば印刷された広告もしくは広告看板の中にあるクイック・レスポンス（ＱＲ）またはＭｉｃｒｏｓｏｆｔタグ）を走査するか、あるいは画像を（例えばＧｏｏｇｌｅ  Ｇｏｇｇｌｅｓ（ＴＭ）を使用して）取り込むか、あるいはその両方を行う結果として、メディア・コンテンツにアクセスしている。
【０００３】
これらの傾向は全て、モバイル・ネットワーク上の輻輳の増大につながりつつある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】米国特許第６，８７１，２３６号
【特許文献２】米国特許出願公開第２００９／０３２６８１０号
【特許文献３】米国特許出願公開第２０１０／００８８６１４号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
これにより、ネットワーク性能が低下し、さらには、モバイル・デバイスを介してメディアを消費する際のユーザ体験の品質が低下する。結果として、データ・キャッシング・メカニズムが開発されてきたが、これらのメカニズムは、頻繁にアクセスされるファイルのコピーが、物理的に使用地点の近くに記憶されるものである。このようなデータ・キャッシング・メカニズムの例を、米国特許第６，８７１，２３６号、ならびに米国特許出願公開第２００９／０３２６８１０号および第２０１０／００８８６１４号に見ることができる。
【課題を解決するための手段】
【０００６】
例証的な一実施形態では、コンテンツ・データをプリフェッチしてコンテンツ・データをモバイル・デバイスに記憶するための、データ処理システムにおける方法が提供される。この方法は、データ処理システム中で、モバイル・デバイスの識別子およびモバイル・デバイスの位置をモバイル・デバイスから受け取ることを含む。さらに、この方法は、データ処理システムによって、モバイル・デバイスの識別子に基づいてモバイル・デバイスのユーザに関するデモグラフィック情報を得ることを含む。加えて、この方法は、データ処理システムによって、ユーザのデモグラフィック情報を他のユーザのデモグラフィック情報と比較して、モバイル・デバイスのユーザのデモグラフィック情報に類似するデモグラフィック情報を有する１人または複数の類似ユーザを識別することを含む。さらに、この方法は、データ処理システムによって、モバイル・デバイスの位置と、１人または複数の類似ユーザの識別とに基づいて、モバイル・デバイスに送信するコンテンツ・データを識別することを含む。加えて、この方法は、データ処理システムによって、モバイル・デバイスに記憶されるようにコンテンツ・データをモバイル・デバイスに送信することを含む。
【０００７】
他の例証的な実施形態では、コンピュータ可読プログラムを有するコンピュータ使用可能または読取可能媒体を含むコンピュータ・プログラム製品が提供される。コンピュータ可読プログラムは、コンピューティング・デバイス上で実行されたとき、方法の例証的実施形態に関して上に概説した動作のうちの様々な動作および組合せをコンピューティング・デバイスに実施させる。
【０００８】
さらに別の例証的な実施形態では、システム／装置が提供される。このシステム／装置は、１つまたは複数のプロセッサと、この１つまたは複数のプロセッサに結合されたメモリとを備えてよい。メモリは命令を含んでよく、命令は、１つまたは複数のプロセッサによって実行されたとき、方法の例証的実施形態に関して上に概説した動作のうちの様々な動作および組合せを１つまたは複数のプロセッサに実施させる。
【０００９】
本発明に関するこれらおよび他の特徴および利点を、本発明の例示的な実施形態に関する後続の詳細な記述の中で述べるが、特徴および利点は、この詳細な記述に鑑みれば当業者には明らかになるであろう。
【００１０】
本発明、ならびに、本発明の好ましい使用モードとさらに他の目的および利点は、例証的な実施形態に関する後続の詳細な記述を添付の図面と共に参照することによって、最もよく理解されるであろう。
【図面の簡単な説明】
【００１１】
【図１】例証的な実施形態の態様をその中で実現できる例示的な分散データ処理システムの絵図を示す図である。
【図２】例証的な実施形態の態様をその中で実現できる例示的なデータ処理システムのブロック図である。
【図３】例証的な一実施形態の態様を実現するための、サーバ・コンピューティング・デバイスおよびその主要な動作要素の例示的なブロック図である。
【図４】例証的な一実施形態による、ソーシャル・ネットワーク・スコア付け動作を実施するための主要な動作要素を示す例示的なブロック図である。
【図５】例証的な一実施形態による、ソーシャル・ネットワーク通信リンク分析を実施するための主要な動作要素を示す例示的なブロック図である。
【図６】例証的な一実施形態による、ウェブ閲覧アクティビティに関してデモグラフィックベースのコンテンツ・データ・プリフェッチを実施するための例示的な動作を概説するフローチャートである。
【図７】例証的な一実施形態による、タグ走査アクティビティに関してデモグラフィックベースのコンテンツ・データ・プリフェッチを実施するための例示的な動作を概説するフローチャートである。
【図８】例証的な一実施形態による、ユーザのモバイル・デバイスに送信されるべき、特定ユーザのデモグラフィックに類似するデモグラフィック・グループに関連するコンテンツ・データ・アイテムを、プリフェッチ動作の一部として選択するための例示的な動作を概説するフローチャートである。
【図９】例証的な一実施形態による、デモグラフィック・グループの類似性を決定するための根拠としてソーシャル・ネットワーキング要因が使用される場合の、タグ走査アクティビティに関してデモグラフィックベースのコンテンツ・データ・プリフェッチを実施するための例示的な動作を概説するフローチャートである。
【図１０】例証的な一実施形態による、ユーザのモバイル・デバイスに送信されるべき、特定ユーザのデモグラフィックに類似するデモグラフィック・グループに関連するコンテンツ・データ・アイテムを、プリフェッチ動作の一部として選択するための例示的な動作を概説するフローチャートである。
【発明を実施するための形態】
【００１２】
例証的な実施形態は、モバイル・ユーザ・デモグラフィックに基づくデータ・プリフェッチのためのメカニズムを提供する。例証的な実施形態のメカニズムは、いくつかの要因に基づいて、ウェブ・ページ・コンテンツ、メディア、アプリケーション、および、データ・ネットワークによって利用可能な他のファイルを、モバイル・コンピューティング／通信デバイス（例えばスマートフォンやタブレット・コンピュータなど）に事前対応的かつ自動的にダウンロードする。これらの要因は、（１）モバイル・デバイス・ユーザの現在位置または予測位置、（２）関心がありそうなコンテンツ／アプリケーションに関連する物理的位置、（３）ソーシャル・ネットワーク・ユーザの特性を含めた、コンテンツ／アプリケーションにアクセスしたことのある他のユーザに対するユーザのデモグラフィック類似、（４）データを送信するための適切な（例えばより高速な、より安価な、無料の）ワイヤレス・ネットワークのステータス、利用可能性、または選好、あるいはこれらの全て、である。
【００１３】
例えば、次のシナリオを考えてみる。スマートフォンのユーザが、自動車展示会に出かけて友人のグループに会う。ユーザの友人は、ユーザの電子ソーシャル・ネットワークのメンバであり、いくつかの車の写真を撮って投稿してきており、また、様々な車両に関連する有益なアプリケーションおよびメディアにスマートフォン・ユーザをリンクするＱＲタグと対話してきた。ユーザは通例、自動車展示会の付近でデータ接続不良を経験することがわかっている。
【００１４】
本明細書に述べる例証的な実施形態は、位置追跡と、自動車展示会にいるユーザの友人との対話を監視することとを介して、ユーザが自動車展示会に近づきつつあると予測する。同じ自動車展示会の場所にいる他のユーザと比較した、かつおそらくは、このユーザと同じソーシャル・ネットワークにいるユーザだけを含むようにフィルタにかけた、ユーザのデモグラフィックを使用して、このユーザが関心を有するであろう最も関連する情報をさらに識別することができる。したがって、ソーシャル・ネットワーク中で反映されるユーザの友人のアクティビティによって示される、展示会でユーザによってアクセスされる可能性の最も高いメディアおよびアプリケーションが、接続性の低いゾーンへの到達前にプリフェッチされてユーザのモバイル・デバイスにキャッシュされる。このメディアは、位置および時間に依存する。他のＱＲタグに関係するメディアはキャッシュされない。プリフェッチされキャッシュされる情報は、例証的な一実施形態では、ユーザが関連ＱＲタグを走査するかまたは情報の取出しに必要な操作を行って初めて情報がユーザからアクセス可能になるような方式で、モバイル・デバイスに記憶することができ、それにより、例証的な実施形態のメカニズムが特定のマーケティング・モデルに整合される。当然ながらこれは必須ではなく、この代わりに、情報は、こうしたどんなアクションまたは操作も行われないうちにユーザのモバイル・デバイスを介してユーザに利用可能とすることもできる。このように、モバイル・デバイスにダウンロードされる情報は、ユーザのモバイル・デバイスの物理的位置、関心がありそうなコンテンツ／アプリケーションに関連する物理的位置、ユーザのデモグラフィックに基づいて、かつ、データを送信するための適切な（例えばより高速な、より安価な、無料の）ワイヤレス・ネットワークのステータス、利用可能性、または選好、あるいはこれらの全てに基づいて、自動的に識別されダウンロードされる。
【００１５】
上記のように、頻繁にアクセスされるファイルを、使用地点の近くに物理的に位置するコンピューティング・デバイスにおいてキャッシュするためのメカニズムが開発されてきた。しかし、このようなキャッシング解決法の主要な欠点は、これらの解決法がユーザの位置または明示的な情報選好だけしか考慮しないことである。これらのキャッシング解決法は、今日しばしばモバイル・デバイスおよびサービスの使用と関連付けられる、ユーザの幅広い「ソーシャル」情報を完全に無視する。また、ほとんどのキャッシング解決法は、当該のコンテンツをネットワーク中のどこか、例えばエッジ・サーバにおいて記憶することに焦点を合わせる。しかしこれは、ネットワークへのモバイル接続性が良くないシナリオには不十分である。
【００１６】
例証的な実施形態は、ユーザ・デモグラフィック情報、リアルタイムのソーシャル・ネットワーク・アクティビティ、位置情報、およびネットワーク条件情報を利用してモバイル・デバイスへの情報をプリフェッチすることによって、位置依存のネットワーク輻輳を低減する。このキャッシング技法は、他のキャッシング技法よりも、個人に合わせたものである。さらに、例証的な実施形態は、モバイル・ネットワークを使用して位置依存の情報を送達しようとするビジネス（例えばマーケティング業者、広告業者、販売業者など）のサービスを向上させる。
【００１７】
当業者には理解されるであろうが、本発明の態様は、システム、方法、またはコンピュータ・プログラム製品として具体化することができる。したがって、本発明の態様は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態（ファームウェア、常駐ソフトウェア、マイクロコードなどを含む）、または、ソフトウェアとハードウェアの態様を組み合わせた実施形態の形をとることができ、本明細書ではこれらを全て「回路」、「モジュール」、または「システム」と一般に呼ぶ場合がある。さらに、本発明の態様は、コンピュータ使用可能プログラム・コードが組み入れられた任意の１つまたは複数のコンピュータ可読媒体において具体化されるコンピュータ・プログラム製品の形をとることもできる。
【００１８】
１つまたは複数のコンピュータ可読媒体の、任意の組合せを利用することができる。コンピュータ可読媒体は、コンピュータ可読信号媒体またはコンピュータ可読記憶媒体とすることができる。コンピュータ可読記憶媒体は、例えば、電子、磁気、光学、電磁、赤外線、もしくは半導体の、システム、装置、デバイス、またはこれらの任意の適切な組合せとすることができるが、これらに限定されない。コンピュータ可読記憶媒体のより具体的な例（非網羅的なリスト）としては、１つもしくは複数のワイヤを有する電気接続、ポータブル・コンピュータ・ディスケット、ハード・ディスク、ランダム・アクセス・メモリ（ＲＡＭ）、読取専用メモリ（ＲＯＭ）、消去可能プログラム可能な読取専用メモリ（ＥＰＲＯＭもしくはフラッシュ・メモリ）、光ファイバ、ポータブル・コンパクト・ディスク読取専用メモリ（ＣＤＲＯＭ）、光学記憶デバイス、磁気記憶デバイス、またはこれらの任意の適切な組合せが挙げられるであろう。この文書のコンテキストでは、コンピュータ可読記憶媒体は、命令実行システム、装置、もしくはデバイスによって使用されるかまたはそれらに関連して使用されるプログラムを、収録または記憶することのできる、任意の有形媒体とすることができる。
【００１９】
コンピュータ可読信号媒体は、コンピュータ可読プログラム・コードが組み入れられた伝搬データ信号を、例えばベースバンド中にまたは搬送波の一部として含むことができる。このような伝搬信号は、電磁、光学、またはこれらの任意の適切な組合せを含めた（ただしこれらに限定されない）、様々な形のいずれかをとることができる。コンピュータ可読信号媒体は、命令実行システム、装置、もしくはデバイスによって使用されるかまたはそれらに関連して使用されるプログラムを、通信、伝搬、または搬送することのできる、コンピュータ可読記憶媒体ではない任意のコンピュータ可読媒体とすることができる。
【００２０】
コンピュータ可読媒体に組み入れられたコンピュータ・コードは、ワイヤレス、ワイヤライン、光ファイバ・ケーブル、無線周波数（ＲＦ）など、またはこれらの任意の適切な組合せを含めた（ただしこれらに限定されない）、任意の適切な媒体を使用して伝送することができる。
【００２１】
本発明の態様に関する動作を実施するためのコンピュータ・プログラム・コードは、Ｊａｖａ（ＴＭ）、Ｓｍａｌｌｔａｌｋ（ＴＭ）、Ｃ＋＋などのオブジェクト指向プログラミング言語、および、「Ｃ」プログラミング言語または同様のプログラミング言語などの従来の手続き型プログラミング言語を含めた、１つまたは複数のプログラミング言語の任意の組合せで書かれてよい。プログラム・コードは、スタンドアロンのソフトウェア・パッケージとして完全にユーザのコンピュータ上で実行されるか部分的にユーザのコンピュータ上で実行されてもよく、一部はユーザのコンピュータ上で実行され一部はリモート・コンピュータ上で実行されてもよく、または完全にリモート・コンピュータもしくはサーバ上で実行されてもよい。最後のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク（ＬＡＮ）もしくはワイド・エリア・ネットワーク（ＷＡＮ）を含めた任意のタイプのネットワークを介してユーザのコンピュータに接続されてよく、または、接続は外部コンピュータに対して（例えばインターネット・サービス・プロバイダを使用してインターネットを介して）行われてもよい。
【００２２】
本発明の例証的な実施形態による方法、装置（システム）、およびコンピュータ・プログラム製品のフローチャート例示またはブロック図あるいはその両方を参照して、本発明の態様を以下に述べる。フローチャート例示またはブロック図あるいはその両方の各ブロック、ならびに、フローチャート例示またはブロック図あるいはその両方の中のブロックの組合せを、コンピュータ・プログラム命令によって実現できることは理解されるであろう。これらのコンピュータ・プログラム命令を、汎用コンピュータ、専用コンピュータ、または他のプログラム可能データ処理装置のプロセッサに提供して、マシンを生み出すことができ、したがって、コンピュータまたは他のプログラム可能データ処理装置のプロセッサを介して実行される命令は、フローチャートまたはブロック図あるいはその両方の１つまたは複数のブロック中で指定される機能／行為を実現する手段をもたらす。
【００２３】
これらのコンピュータ・プログラム命令はまた、コンピュータ可読媒体に記憶されてよく、このコンピュータ可読媒体は、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスに、特定の方式で機能するよう指示することができ、したがって、コンピュータ可読媒体に記憶された命令は、フローチャートまたはブロック図あるいはその両方の１つまたは複数のブロック中で指定される機能／行為を実現する命令を含む製造品を生み出す。
【００２４】
コンピュータ・プログラム命令はまた、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスにロードされてよく、それにより、コンピュータ、他のプログラム可能装置、または他のデバイス上で一連の動作ステップが実施されて、コンピュータ実装プロセスが生み出され、したがって、コンピュータまたは他のプログラム可能装置上で実行される命令は、フローチャートまたはブロック図あるいはその両方の１つまたは複数のブロック中で指定される機能／行為を実現するためのプロセスを提供する。
【００２５】
図中のフローチャートおよびブロック図は、本発明の様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実装形態の、アーキテクチャ、機能、および動作を示す。これに関して、フローチャートまたはブロック図中の各ブロックは、モジュール、セグメント、またはコード部分を表すことができ、これは、指定される論理機能（複数可）を実現するための１つまたは複数の実行可能命令を含む。また、いくつかの代替実装形態では、ブロック中で示される機能は、図中で示される順序とは異なる順序で生じる場合があることにも留意されたい。例えば、関連する機能に応じて、連続して示される２つのブロックが実際にはほぼ同時に実行される場合もあり、または、これらのブロックが逆の順序で実行されることもある。また、ブロック図またはフローチャート例示あるいはその両方の各ブロック、および、ブロック図またはフローチャート例示あるいはその両方の中のブロックの組合せは、指定される機能もしくは行為を実施する専用ハードウェアベースのシステムによって、または、専用ハードウェアとコンピュータ命令との組合せによって、実現されてよいことにも留意されたい。
【００２６】
したがって、例証的な実施形態は、多くの異なるタイプのデータ処理環境で利用することができる。例証的な実施形態の特定の要素および機能について述べるためのコンテキストを提供するために、以下、例証的な実施形態の態様をその中で実現できる例示的な環境として図１および２を提供する。図１および２は、例に過ぎず、本発明の態様または実施形態をその中で実現できる環境に関してどんな限定を主張または含意するものともしないことを理解されたい。本発明の主旨および範囲を逸脱することなく、図示の環境に多くの修正を加えることができる。
【００２７】
図１に、例証的な実施形態の態様をその中で実現できる例示的な分散データ処理システムの絵図を示す。分散データ処理システム１００は、例証的な実施形態の態様をその中で実現できるコンピュータのネットワークを含んでよい。分散データ処理システム１００は、少なくとも１つのネットワーク１０２を含み、ネットワーク１０２は、分散データ処理システム１００内で共に接続される様々なデバイスおよびコンピュータの間の通信リンクを提供するのに使用される媒体である。ネットワーク１０２は、ワイヤ、ワイヤレス通信リンク、または光ファイバ・ケーブルなどの接続を含んでよい。
【００２８】
図示の例では、サーバ１０４およびサーバ１０６が、記憶ユニット１０８と共にネットワーク１０２に接続される。加えて、クライアント１１０、１１２、および１１４もまた、ネットワーク１０２に接続される。これらのクライアント１１０、１１２、および１１４は、例えばパーソナル・コンピュータやネットワーク・コンピュータなどとすることができる。さらに、サーバ１０４、１０６は、ネットワーク１０２および１つまたは複数のワイヤレス通信ネットワーク１３０を介して、モバイル・デバイス１２０、１２２、および１２４と通信することができる。モバイル・デバイス１２０、１２２、および１２４は、現在知られているかまたは後に開発される、任意のタイプのモバイル通信／コンピューティング・デバイスとすることができる。例えば、モバイル・デバイス１２０、１２２、および１２４は、タブレット・コンピュータ、携帯電話機、スマートフォン、ラップトップ・コンピュータなどとすることができる。ワイヤレス通信ネットワーク１３０は、セルラー・ネットワークやワイヤレス・データ・ネットワークなど、例えばワイヤレス３Ｇまたは４Ｇデータ・ネットワークとすることができる。
【００２９】
図示の例では、サーバ１０４は、電子メール、インスタント・メッセージング、ボイスオーバＩＰ（ＶＯＩＰ）通信またはその他あるいはこれらの全てを含めた、様々なタイプのデータベース通信を容易にする、ブート・ファイル、オペレーティング・システム・イメージ、アプリケーション、メディア・コンテンツ、メディア・ファイルなどのデータを、クライアント１１０、１１２、および１１４に、またはモバイル・デバイス１２０、１２２、および１２４に、あるいはその両方に提供する。クライアント１１０、１１２、および１１４、ならびにモバイル・デバイス１２０、１２２、および１２４は、図示の例において、サーバ１０４に対するクライアントである。分散データ処理システム１００は、図示されない追加のサーバ、クライアント、および他のデバイスを含んでもよい。
【００３０】
図示の例では、分散データ処理システム１００は、伝送制御プロトコル／インターネット・プロトコル（ＴＣＰ／ＩＰ）プロトコル・スイートを使用して相互と通信するネットワークおよびゲートウェイの世界規模の集まりを表す、ネットワーク１０２を含むインターネットである。インターネットの中心には、データおよびメッセージをルーティングする何千もの商用、政治、教育、および他のコンピュータ・システムからなる主要ノードまたはホスト・コンピュータの間の高速データ通信回線のバックボーンがある。当然、分散データ処理システム１００はまた、いくつかの異なるタイプのネットワーク（例えばイントラネット、ローカル・エリア・ネットワーク（ＬＡＮ）、ワイド・エリア・ネットワークＷＡＮ）など）を含むように実現されてもよい。上記のように、図１は例とするものであり、本発明の種々の実施形態に対するアーキテクチャ上の限定とするものではない。したがって、図１に示す特定の例は、本発明の例証的な実施形態をその中で実現できる環境に関して限定と見なすべきではない。
【００３１】
図２は、例証的な実施形態の態様をその中で実現できる例示的なデータ処理システムのブロック図である。データ処理システム２００は、例証的な実施形態の様々な態様をその中で実現できる一般的なデータ処理システムを示すものとし、したがって、いくつかの異なるタイプのコンピューティング・デバイスのいずれかを表すことができる。例えば、データ処理システム２００は、図１のクライアント１０６など、サーバ・コンピュータの一例とすることができ、このサーバ・コンピュータ中に、本発明の例証的な実施形態のプロセスを実現するコンピュータ使用可能コードまたは命令が位置してよい。図２のデータ処理システムはさらに、モバイル・デバイス１２０などのモバイル・デバイスの一部として実現されてもよく、したがって、モバイル・デバイス１２０は、メディア・コンテンツの処理および出力、アプリケーションの実行、データ・ファイルの処理などを含めたコンピューティング動作を実施することができる。データ処理システム２００は同様に、例えば図１のクライアント１１０など、クライアント・コンピューティング・システムとすることもできる。
【００３２】
図示の例では、データ処理システム２００は、ノース・ブリッジおよびメモリ・コントローラ・ハブ（ＮＢ／ＭＣＨ）２０２とサウス・ブリッジおよび入出力（Ｉ／Ｏ）コントローラ・ハブ（ＳＢ／ＩＣＨ）２０４とを含むハブ・アーキテクチャを採用する。処理ユニット２０６、メイン・メモリ２０８、およびグラフィックス・プロセッサ２１０が、ＮＢ／ＭＣＨ２０２に接続される。グラフィックス・プロセッサ２１０は、アクセラレーテッド・グラフィックス・ポート（ＡＧＰ）を介してＮＢ／ＭＣＨ２０２に接続されてよい。
【００３３】
図示の例では、ローカル・エリア・ネットワーク（ＬＡＮ）アダプタ２１２が、ＳＢ／ＩＣＨ２０４に接続する。オーディオ・アダプタ２１６、キーボードおよびマウス・アダプタ２２０、モデム２２２、読取専用メモリ（ＲＯＭ）２２４、ハード・ディスク・ドライブ（ＨＤＤ）２２６、ＣＤ−ＲＯＭドライブ２３０、ユニバーサル・シリアル・バス（ＵＳＢ）ポートおよび他の通信ポート２３２、ならびにＰＣＩ／ＰＣＩｅデバイス２３４が、バス２３８およびバス２４０を介してＳＢ／ＩＣＨ２０４に接続する。ＰＣＩ／ＰＣＩｅデバイスは、例えば、ノートブック・コンピュータのための、イーサネット・アダプタ、アドイン・カード、およびＰＣカードを含んでよい。ＰＣＩはカード・バス・コントローラを使用するが、ＰＣＩｅは使用しない。ＲＯＭ２２４は、例えばフラッシュ基本入出力システム（ＢＩＯＳ）とすることができる。
【００３４】
ＨＤＤ２２６およびＣＤ−ＲＯＭドライブ２３０は、バス２４０を介してＳＢ／ＩＣＨ２０４に接続する。ＨＤＤ２２６およびＣＤ−ＲＯＭドライブ２３０は、例えば、インテグレーテッド・ドライブ・エレクトロニクス（ＩＤＥ）またはシリアル・アドバンスト・テクノロジー・アタッチメント（ＳＡＴＡ）インタフェースを使用することができる。スーパーＩ／Ｏ（ＳＩＯ）デバイス２３６が、ＳＢ／ＩＣＨ２０４に接続されてよい。
【００３５】
オペレーティング・システムが、処理ユニット２０６上で実行される。オペレーティング・システムは、図２のデータ処理システム２００内の様々なコンポーネントを調和させ、これらのコンポーネントの制御を提供する。クライアントとしては、オペレーティング・システムは、Ｍｉｃｒｏｓｏｆｔ（Ｒ）Ｗｉｎｄｏｗｓ７（Ｒ）など、市販のオペレーティング・システムとすることができる。Ｊａｖａ（ＴＭ）プログラミング・システムなどのオブジェクト指向プログラミング・システムが、オペレーティング・システムと共に実行されてよく、データ処理システム２００上で実行されるＪａｖａ（ＴＭ）プログラムまたはアプリケーションからオペレーティング・システムへの呼出しを提供する。
【００３６】
サーバとしては、データ処理システム２００は、例えば、Ａｄｖａｎｃｅｄ  Ｉｎｔｅｒａｃｔｉｖｅ  Ｅｘｅｃｕｔｉｖｅ（ＡＩＸ（Ｒ））オペレーティング・システムまたはＬＩＮＵＸ（Ｒ）オペレーティング・システムを実行するＩＢＭ（Ｒ）ｅＳｅｒｖｅｒ（ＴＭ）Ｓｙｓｔｅｍ  ｐ（Ｒ）コンピュータ・システムとすることができる。データ処理システム２００は、複数のプロセッサを処理ユニット２０６中に含む対称型マルチプロセッサ（ＳＭＰ）システムとすることができる。別法として、シングル・プロセッサ・システムを採用することもできる。
【００３７】
オペレーティング・システムのための命令、オブジェクト指向プログラミング・システム、およびアプリケーションまたはプログラムが、ＨＤＤ２２６などの記憶デバイス上に位置し、これらは、処理ユニット２０６によって実行されるようにメイン・メモリ２０８にロードされてよい。本発明の例証的な実施形態のプロセスは、処理ユニット２０６によって、コンピュータ使用可能プログラム・コードを使用して実施されてよく、このコンピュータ使用可能プログラム・コードは、例えばメイン・メモリ２０８やＲＯＭ２２４などのメモリ中に、または例えば１つもしくは複数の周辺デバイス２２６および２３０中に位置してよい。
【００３８】
図２に示すバス２３８またはバス２４０などのバス・システムは、１つまたは複数のバスによって構成されてよい。当然、バス・システムは、ファブリックまたはアーキテクチャに取り付けられた異なるコンポーネントまたはデバイス間のデータ転送を可能にする任意のタイプの通信ファブリックまたはアーキテクチャを使用して実現することができる。図２のモデム２２２またはネットワーク・アダプタ２１２などの通信ユニットは、データ送受信に使用される１つまたは複数のデバイスを備えてよい。メモリは、例えば、図２のメイン・メモリ２０８、ＲＯＭ２２４、または、ＮＢ／ＭＣＨ２０２中に見られるものなどのキャッシュ、とすることができる。
【００３９】
図１および２のハードウェアは実装形態に応じて変わる場合があることを、当業者なら理解するであろう。図１および２に示すハードウェアに加えてまたはそれに代えて、フラッシュ・メモリ、等価な不揮発性メモリ、または光ディスク・ドライブなど、他の内部ハードウェアまたは周辺デバイスを使用してもよい。また、例証的な実施形態のプロセスは、本発明の主旨および範囲を逸脱することなく、前に言及したＳＭＰシステム以外のマルチプロセッサ・データ処理システムにも適用することができる。
【００４０】
上記のように、データ処理システム２００は、クライアント・コンピューティング・デバイス、サーバ・コンピューティング・デバイス、タブレット・コンピュータ、ラップトップ・コンピュータ、携帯電話機（スマートフォン）または他の通信デバイス、パーソナル・ディジタル・アシスタント（ＰＤＡ）などを含めた、いくつかの異なるタイプのデータ処理システムのうちのいずれかの形をとることができることに留意されたい。説明となるいくつかの例では、データ処理システム２００は、例えば、オペレーティング・システム・ファイル、またはユーザによって生成されたデータ、あるいはその両方を記憶するための不揮発性メモリを提供するようにフラッシュ・メモリを備えて構成された、ポータブル・コンピューティング・デバイスとすることができる。本質的に、データ処理システム２００は、アーキテクチャ上の限定なしに、知られているかまたは後に開発される任意のデータ処理システムとすることができる。
【００４１】
上に論じたように、例証的な実施形態は、情報、コンテンツ、データなどをプリフェッチしてこのデータをモバイル・デバイスに送信するためのメカニズムを提供するが、これは、モバイル・デバイスの位置または予測位置；位置または予測位置に関連する、モバイル・デバイスに配信されることになる情報、コンテンツ、またはデータ；モバイル・デバイスのユーザのデモグラフィック；情報、コンテンツ、またはデータの対象受信者のデモグラフィック；モバイル・デバイスのユーザと同じかまたは類似するソーシャル・ネットワーク・グループ中のユーザのデモグラフィック；通信ネットワーク輻輳および選好、などに基づいて行われる。したがって、例証的な実施形態の態様をサーバ・コンピューティング・デバイス中で実現して、これらの基準に基づいて、情報、コンテンツ、データなどをプリフェッチしてモバイル・デバイスにプッシュするのを容易にすることができる。例証的な実施形態の他の態様は、モバイル・デバイス自体の中で実現することができ、それにより、プッシュされた情報、コンテンツ、データなどを、ユーザからすぐにアクセス可能なようにして記憶するか、または、データにアクセスするための対応するアクセス操作をユーザが実施して初めてアクセス可能なようにして記憶することができる。このような操作は、おそらくはモバイル・デバイスの位置またはモバイル・デバイスの予測位置に依存する。
【００４２】
図３は、例証的な一実施形態の態様を実現するための、サーバ・コンピューティング・デバイスおよびその主要な動作要素の例示的なブロック図である。図３に示すように、サーバ・コンピューティング・デバイス３００は、主要決定エンジン３１０、データ分類エンジン３１２、ソーシャル・ネットワーク・アクティビティ・スコア付けエンジン３１４、ポリシ・エンジン３１６、ユーザ・ポリシ・データベース３１８、モバイル・ネットワーク信号品質データベース３２０、ユーザ・デモグラフィックおよび履歴データベース３２２、ソーシャル・ネットワーク・アプリケーション／データベース３２４、コンテンツ・データ・データベース３２６、ならびに、コンテンツ・データ・タグおよびランドマーク・データベース３２８を備える。サーバ３００は、１つまたは複数のネットワーク３４０を介して１つまたは複数のモバイル・デバイス３３０〜３３４に結合され、ネットワーク３４０は、１つまたは複数のワイヤレス通信ネットワークおよび１つまたは複数のデータ・ネットワーク（有線またはワイヤレスあるいはその両方）を含んでよい。
【００４３】
主要決定エンジン３１０は、後でより詳細に述べるように、様々なデモグラフィック、位置、ポリシ、ソーシャル・ネットワーク、および通信ネットワーク情報に基づいて、どの情報、コンテンツ、データなどがモバイル・デバイスに送信されるべきかに関する主要な決定および関連する動作を行う。主要決定エンジン３１０は、データ分類エンジン３１２、ソーシャル・ネットワーク・アクティビティ・スコア付けエンジン３１４、およびポリシ・エンジン３１６によって生成された、分類、スコア付け、およびポリシ結果に基づいて、その決定動作を行う。これらのエンジンは、様々な情報ソース３２０〜３２８から得られた情報、およびモバイル・デバイス３３０〜３３４から得られた情報に作用する。
【００４４】
様々なエンジン３１２〜３１６によって生成された結果に基づいて、主要決定エンジン３１０は、対応するモバイル・デバイス３３０〜３３４に送信されるべき情報、コンテンツ、またはデータ（以下、コンテンツ・データと呼ぶ）を選択する。コンテンツ・データは、データ・ファイル、アプリケーション、メディア・ファイルなどとすることができる。モバイル・デバイス３３０〜３３４は、送信されてきたコンテンツ・データを、モバイル・デバイス３３０〜３３４のローカル記憶デバイスに記憶する。コンテンツ・データはモバイル・デバイス３３０〜３３４のユーザにすぐに利用可能としてもよく、または、コンテンツ・データを安全モードで記憶し、それにより、特定のコンテンツ・データにアクセスするためにモバイル・デバイス３３０〜３３４の特定の操作が実施されるまではコンテンツ・データにアクセスできないようにしてもよい。例えば、特定の操作は、コンテンツ・データに関連する特定のタグ、バーコード、または他の物理的識別子（例えば、製品のパッケージ、デバイス、広告、標識などの上に物理的に存在する、ＱＲタグもしくはバーコード）を走査することであってよい。一例では、コンテンツ・データは安全モードでモバイル・デバイス３３０〜３３４に記憶される場合があるが、ユーザがモバイル・デバイス３３０〜３３４のカメラを使用してＱＲタグを走査すると、対応するＱＲ走査アプリケーションが、ＱＲ走査アプリケーションによって取り出されるべきコンテンツ・データの識別子を検出することになる。ＱＲ走査アプリケーションは、コンテンツ・データのためのローカル・ストレージをチェックし、すでにコンテンツ・データがモバイル・デバイス３３０〜３３４に送信され記憶されているので、ワイヤレス・ネットワークを介したコンテンツ・データの取出しを開始するのではなくローカル・ストアからコンテンツ・データを取り出す。このようにして、コンテンツ・データはより素早く取り出され、より素早くモバイル・デバイス３３０〜３３４上でレンダリングされる。
【００４５】
上記のように、主要決定エンジン３１０は、エンジン３１２〜３１６によって実施された分析によって生成された結果を利用する。エンジン３１２〜３１６は、様々な情報ソース３２０〜３２８およびモバイル・デバイス３３０〜３３４から得られたデータに作用する。モバイル・ネットワーク信号品質データベース３２０は、様々な地理的位置におけるモバイル・ネットワークの信号品質に関する履歴情報を記憶する。モバイル・ネットワーク信号品質情報は、当技術分野で一般に知られているいくつかの方法のいずれかで収集することができ、したがってここでは、より詳細な説明は提供しない。この情報を、モバイル・デバイス３３０〜３３４から得られた現在位置情報と共に主要決定エンジン３１０が使用して、モバイル・デバイス３３０〜３３４が現在、ワイヤレス・ネットワークの、信号品質が劣化する恐れのあるエリア、またはモバイル・デバイス３３０〜３３４にリモートに位置するコンテンツ・データにモバイル・デバイス３３０〜３３４のユーザがアクセスするのが困難になる可能性が高いエリアにあるか、向かっているか、向かうことになっているか、さもなければこのようなエリアの近くにあるか判定することができる。例えば、信号品質が十分に低い場合、ユーザは、タグを走査したりインターネットをサーフィンしたりする結果としてこの位置でワイヤレス・ネットワークを介してデータ・ネットワークにアクセスして情報を得ることはできない可能性がある。
【００４６】
ユーザ・デモグラフィックおよび履歴データベース３２２は、モバイル・デバイスまたはクライアント・コンピューティング・デバイスあるいはその両方のユーザに関係するデモグラフィック情報および可能性のある履歴情報を記憶し、また、デモグラフィック・グループ関連付けを決定する際に使用される、デモグラフィック・グループのデモグラフィック情報を記憶する。すなわち、類似するデモグラフィックに基づいて様々なグループ（例えば、５５歳以上のユーザ、年収レベルが５万ドル以上のユーザ、子供のいるユーザなど）を確立することができる。さらに、２つ以上のデモグラフィックを組み合わせたデモグラフィック・グループ（例えば、５５歳以上の男性、年収レベルが５万ドル以上の女性、３０歳以上で子供があり年収が少なくとも５万ドルの男性）があってもよい。当然、デモグラフィック・グループは、例証的な実施形態の主旨および範囲を逸脱することなく、１つまたは複数のデモグラフィックの任意の組合せについて定義することができる。
【００４７】
ユーザ・デモグラフィックおよび履歴データベース３２２は、ユーザごとのデモグラフィックを記憶することができ、これらのデモグラフィックのいくつかの面（例えば年齢など）を必要に応じて自動的に更新することができる。デモグラフィックは、最初にユーザによってユーザ・デモグラフィックおよび履歴データベース３２２に入力されてもよく、または、ユーザによるユーザのモバイル・デバイスへの登録から、もしくはユーザのモバイル・デバイス上で実行されるアプリケーションから、もしくはユーザに関するデモグラフィック情報を収集するための他の任意のメカニズムから、自動的に収集されてもよい。このデモグラフィック情報は、人種、年齢、年収、子供の数、結婚歴、趣味、ならびに他の様々な好き嫌いなどを含めた、様々な登録ユーザの様々な標準化された特性を指定する。ユーザを様々な特性カテゴリにカテゴリ化してこれらの特性を他のユーザまたはユーザ・グループとマッチさせるための、任意のデモグラフィック情報を、例証的な実施形態の主旨および範囲を逸脱することなく使用することができる。このデモグラフィック情報は、最初のデモグラフィック情報収集と同様の自動化された方式で定期的に更新されてもよく、またはユーザによって手動で更新されてもよく、あるいはその両方でもよい。
【００４８】
別法として、ユーザのデモグラフィック情報は、ユーザのモバイル・デバイス３３０にローカルに記憶されてよく、モバイル・デバイスが位置する特定のコンテキスト（例えば、地理的位置、参加している特定のイベントなど）に関係するデモグラフィック情報の一部が、主要決定エンジン３１０に定期的に送信されてよい。特定のコンテキストが意味するものとは、ユーザのモバイル・デバイス３３０が現在位置する特定の環境であり、または、ユーザのモバイル・デバイス３３０の現在の軌跡に基づいてユーザのモバイル・デバイス３３０が到達することになっていると予測される特定の環境である。コンテキストは、ユーザの現在の設定／環境によって定義される。コンテキストの例としては、「職場」、「教室内」、「在宅」などが挙げられる。ユーザは、例えば、家と職場とで異なる選好を呈示することができる。
【００４９】
ユーザのモバイル・デバイス３３０が位置する環境、またはユーザのモバイル・デバイス３３０が到達することになっていると予測される環境に基づいて、これらの位置に関連する可能性のある様々なコンテンツ・データを決定することができ、また、このコンテンツ・データをユーザにマッチさせる際に注目に値すると思われるデモグラフィック情報のタイプも決定することができる。この情報に基づいて、ユーザのモバイル・デバイスから取り出すのにどのデモグラフィック情報が重要かを決定することができ、結果として、モバイル・デバイスに記憶されたユーザのデモグラフィック情報のその部分を、主要決定エンジン３１０に送信することができる。
【００５０】
ユーザ・デモグラフィックおよび履歴データベース３２２に記憶できる履歴情報は、ユーザがアクセスしたことがあるかまたはユーザが関心を有する可能性のあるコンテンツ・データのタイプを示す任意の履歴情報とすることができる。この履歴情報は、例えば、モバイル・デバイス３３０を介してユーザからアクセスされたコンテンツ・データの履歴、モバイル・デバイス３３０のインターネット・ブラウザ・アプリケーションの閲覧履歴、ユーザのモバイル・デバイス３３０が現在期間より前の所与の期間内にあった位置、などとすることができる。
【００５１】
ソーシャル・ネットワーク・アプリケーション／データベース３２４は、ユーザがソーシャル・ネットワーキング・プロトコルを介して相互と対話できるようにするためのアプリケーションを提供する。例えば、ソーシャル・ネットワーク・アプリケーションは、電子メール通信、インスタント・メッセージング通信、ブログ、様々なタイプのウェブ投稿、ボイス・オーバ・データ通信などを実施するためのアプリケーションとすることができる。ソーシャル・ネットワーク・アプリケーション／データベース３２４は、図示のようにサーバ３００に対してローカルであってもよく、または、サーバ３００からリモートに位置し１つもしくは複数のネットワーク３４０を介してサーバ３００と通信することのできる、１つもしくは複数の他のコンピューティング・デバイス上に備わってもよい。
【００５２】
ソーシャル・ネットワーク・アプリケーション／データベース３２４は、ユーザのソーシャル・グループ関連付けに関する情報、ならびに、ソーシャル・グループのユーザ間で交換された通信のログを記憶する。この情報を、他の情報ソース３２０〜３２８およびモバイル・デバイス３３０〜３３４からの情報と共に、ソーシャル・ネットワーク・アクティビティ・スコア付けエンジン３１４および主要決定エンジン３１０が使用して、どんなコンテンツ・データがモバイル・デバイス３３０〜３３４のユーザからアクセスされる可能性が最も高いか決定し、このような決定に基づいて、モバイル・デバイス３３０〜３３４へのこのコンテンツ・データのプリフェッチを開始することができる。
【００５３】
例えば、ソーシャル・ネットワーク・アプリケーション３２４のユーザが、特定のテレビジョン番組（例えばスター・トレック（ＴＭ）など）のファン専用のソーシャル・グループに参加する場合がある。ユーザは、個人情報、例えば名前、住所、電話番号などを提供することによって、ソーシャル・ネットワーク・アプリケーション３２４に登録する。あるいは、そうでない場合は、ユーザのワイヤレス・デバイスからデモグラフィック情報をアップロードするか、または、ユーザ・デモグラフィックおよび履歴データベース３２２中でこのデモグラフィック情報の転送もしくは検索を開始することによって、ソーシャル・ネットワーク・アプリケーション３２４に登録する。これは、サーバ３００にログオンして特定のソーシャル・グループへの参加を要求することなどによって行われ、次いで、これにより、デモグラフィック情報の取出しまたは転送のプロセスを開始することができる。次いでユーザは、電子メール・メッセージ、インスタント・メッセージ、ブログ投稿、ニュースグループ投稿、音声メッセージなど、通信を交換することによって、同じソーシャル・グループのメンバである他のユーザと対話することができる。これらの通信のログ、例えば、通信をサブミットしたユーザの識別子、通信の内容、および、通信の性質を決定するのに有用であろう他のメタデータを含めたログを、記憶することができる。このログは、例えば、ソーシャル・ネットワーク・アプリケーション／データベース３２４に、またはモバイル・デバイス３３０〜３３４に、あるいはその両方に記憶することができる。モバイル・デバイス３３０〜３３４に記憶される場合、ログは、モバイル・デバイス３３０〜３３４のユーザとの間の通信のみを含んでよい。
【００５４】
これらの通信のログを使用して、後でより詳細に述べるように、どのコンテンツ・データをプリフェッチしてモバイル・デバイス３３０〜３３４に送信するかをさらにフィルタにかけることができる。例えば、モバイル・デバイス３３０〜３３４のユーザのデモグラフィック情報を、他のユーザまたは確立されたデモグラフィック・グループあるいはその両方と比較することによって、コンテンツ・データのスーパーセットを識別することができる。これらの他ユーザがアクセスしたことがあるかまたは関心を示したことがあるコンテンツ・データを、モバイル・デバイス３３０〜３３４の位置または予測位置に従って、識別してフィルタにかけることができる。このコンテンツ・データを、モバイル・デバイスのユーザが属するソーシャル・ネットワーク・グループの通信ログと、通信ログによって識別されるソーシャル・ネットワーク・グループ中の他ユーザのコンテンツ・データに対して表明された関心とに従って、さらにフィルタにかけることができる。この一連のフィルタおよび決定メカニズムを通して選択された結果的なコンテンツ・データは、モバイル・デバイス３３０〜３３４に送信することができ、そこで、モバイル・デバイス３３０〜３３４のユーザがこのコンテンツ・データにアクセスしようとした場合に素早く取り出せるように、記憶またはキャッシュされる。
【００５５】
コンテンツ・データは、サーバ３００によってモバイル・デバイス３３０〜３３４に送信するために、コンテンツ・データ・データベース３２６から取り出すことができる。コンテンツ・データは、様々なモバイル・デバイス３３０〜３３４によって送信されたコンテンツ・データ要求を主要決定エンジン３１０が監視するのに応答して、コンテンツ・データ・データベース３２６に記憶されてよい。すなわち、頻繁に要求されるコンテンツ・データか、または一番最近に要求されたコンテンツ・データを、このようなコンテンツ・データのキャッシュとしてコンテンツ・データ・データベース３２６に記憶することができる。というのは、このコンテンツ・データは近い将来、他のユーザから、さらには同じユーザからも要求される可能性がより高いからである。例証的な実施形態の主旨および範囲を逸脱することなく、任意の適切な基準を使用して、どのコンテンツ・データをコンテンツ・データ・データベース３２６に記憶するか決定することができる。コンテンツ・データは、他のコンテンツ・データ・ソース、例えば他のサーバまたはコンピューティング・システムから、１つまたは複数のネットワーク３４０を介してダウンロードするかまたは他の方法で取り出すことができる。
【００５６】
別法として、コンテンツ・データ・データベース３２６に記憶されるコンテンツ・データは、例証的な実施形態のプリフェッチ・メカニズムへの加入者のコンテンツ・データのみとすることもできる。すなわち、コンテンツ・データのソースは、そのコンテンツ・データをモバイル・デバイス３３０〜３３４へのプリフェッチおよび送信に利用可能にするために、例証的な実施形態のコンテンツ・データ・プリフェッチ・メカニズムに加入することができる。このコンテンツ・データをコンテンツ・データ・データベース３２６に記憶することができ、モバイル・デバイス３３０〜３３４の条件、ユーザ・デモグラフィック、およびユーザのソーシャル・ネットワーク特性が、モバイル・デバイス３３０〜３３４によるプリフェッチに向けたこのようなコンテンツ・データの取出しおよび送信のための要件を満たすとき、このコンテンツ・データを取り出してモバイル・デバイス３３０〜３３４に送信することができる。
【００５７】
コンテンツ・データ・タグおよびランドマーク・データベース３２８は、コンテンツ・データ・データベース３２６に記憶された様々なコンテンツ・データに関連するタグ／ランドマークの識別子を記憶する。この情報は、特定の地理的位置またはランドマークに、コンテンツ・データのどんなタグまたは他の識別子が位置するかを識別する。この情報を、モバイル・デバイス３３０〜３３４の位置と共に、または、モバイル・デバイス３３０〜３３４の動きの軌跡もしくは経路に基づくモバイル・デバイス３３０〜３３４の予測される未来の位置と共に使用して、どんなタグまたはランドマークがこの位置または予測位置にあるか決定することができる。次いで、これらのタグおよびランドマークを、コンテンツ・データ・データベース３２６中の特定のコンテンツ・データと相関させて、モバイル・デバイス３３０〜３３４のユーザの関心を引くであろうコンテンツ・データのスーパーセットを識別することができる。次いで、このコンテンツ・データのスーパーセットを、ユーザ・デモグラフィックおよび履歴データベース３２２ならびにソーシャル・ネットワーク・アプリケーション／データベース３２４から得られたユーザ・デモグラフィックおよびソーシャル・ネットワーク・グループ情報に従って、フィルタにかけて絞り込むことができる。
【００５８】
サーバ３００の動作エンジン側では、データ分類エンジン３１２が、ユーザ・デモグラフィックおよび履歴データベース３２２に記憶された情報を使用して、ユーザのデモグラフィックと他のユーザまたはユーザ・グループのデモグラフィックとに基づいてモバイル・デバイス３３０〜３３４のユーザに類似するユーザ（すなわちピア）またはユーザ・グループ（ピア・グループ）を識別するための、主要な動作を実施する。この類似性決定は、単純に、現ユーザのデモグラフィックを他ユーザまたはユーザ・グループのデモグラフィックと比較して、所定数のデモグラフィック特性がマッチするかまたは所与の許容範囲内でマッチする（例えば少なくとも３つのデモグラフィック特性が１０％の許容差内でマッチする）他ユーザまたはユーザ・グループを識別することであってよい。
【００５９】
この決定は、より複雑であってもよく、デモグラフィック情報に加えて他の基準も見て、どのユーザ／ユーザ・グループが現ユーザに類似するかを識別することを含んでよい。例えば、データ分類エンジン３１２は、現ユーザの最近のアクティビティ、例えばウェブ・ブラウザ・アプリケーション履歴や最近訪れた地理的位置（例えばモバイル・デバイス３３０の位置情報から決定される）などをさらに見て、どの他ユーザ／ユーザ・グループが現ユーザに類似するかをさらに決定することができる。例えば、例証的な一実施形態では、データ分類エンジン３１２は、モバイル・デバイス３３０のユーザによってアクセスされている現在のウェブページ（複数可）を決定し、これらのウェブページ（複数可）に最近関連付けられた１人もしくは複数のユーザまたは１つもしくは複数のデモグラフィック・グループのセットを決定することができる。この関連付けは、例えば、これらの同じウェブページ（複数可）、または類似コンテンツを有する類似ウェブページ（複数可）に、現在時刻から所定期間内にアクセスした他ユーザを識別することであってよい。この情報を、上記のデモグラフィック比較と共に使用して、デモグラフィックおよび最近のブラウザ履歴が類似するユーザ／ユーザ・グループのセットを識別することができる。識別された類似ユーザ／ユーザ・グループに基づいて、これらの他ユーザ／ユーザ・グループによって最近アクセスされたかまたは他の形でこれらのユーザ／ユーザ・グループに関連するコンテンツ・データを、コンテンツ・データ・データベース３２６から取り出し、キャッシュされるようにモバイル・デバイス３３０に送信することができる。
【００６０】
他の例証的な実施形態では、データ分類エンジン３１２は、どんなタグ／ランドマークがモバイル・デバイス３３０の位置もしくは予測される未来の位置にまたはその近くに位置するかを識別する、コンテンツ・データ・タグおよびランドマーク・データベース３２８の情報を、上記のデモグラフィック特性比較と組み合わせて使用して、モバイル・デバイス３３０の現ユーザと他ユーザ／ユーザ・グループとの類似性を決定することができる。すなわち、データ分類エンジン３１２によって、モバイル・デバイス３３０の位置／予測される未来の位置を、コンテンツ・データ・タグおよびランドマーク・データベース３２８に記憶されたタグ／ランドマークの位置情報と比較して、モバイル・デバイス３３０のユーザの関心を引くであろうコンテンツ・データの第１のスーパーセットを識別することができる。次いで、このコンテンツ・データのスーパーセットを、ユーザのデモグラフィックと、他ユーザ／ユーザ・グループに対するそれらの類似性とに従って、さらにフィルタにかけることができる。すなわち、前述のデモグラフィック比較を使用して、現ユーザに類似するデモグラフィックを有するユーザ／ユーザ・グループを識別することができる。この比較の結果に基づいて、これらの他ユーザ／ユーザ・グループによってアクセスもしくはプリフェッチされたかまたは他の形でこれらの他ユーザ／ユーザ・グループに関連するコンテンツ・データを識別し、モバイル・デバイス３３０に送信されるべきコンテンツ・データのスーパーセットと比較することができる。次いで、このコンテンツのスーパーセットをフィルタにかけて、スーパーセットからの、これらの他ユーザ／ユーザ・グループによってアクセスまたはプリフェッチされたコンテンツ・データを有するコンテンツ・データのサブセットに絞り込むことができる。
【００６１】
他のデータ分類、および、ユーザと他ユーザ／ユーザ・グループとの他の関連付けも同様に、例証的な実施形態の主旨および範囲を逸脱することなく、デモグラフィック情報、位置情報、タグ／ランドマーク情報などに基づいて実施することができる。各実施形態で、ユーザと他ユーザ／ユーザ・グループ（例えばデモグラフィック・グループ）との関連付けは、これらの関連付けの相対的な強度と共に、ユーザ・デモグラフィックおよび履歴データベース３２２に記憶することができ、それにより、これらの関連付けは、将来、現ユーザがどのユーザ／ユーザ・グループに関連付けられるべきか決定する際に使用することができる。すなわち、データ分類エンジン３１２によって実施される分類の一部として、データ分類エンジン３１２は、どのコンテンツ・データをモバイル・デバイス３３０に対してプリフェッチして送信するかを決定するときに考慮するために、ユーザ・デモグラフィックおよび履歴データベース３２２にすでに記憶された関連付けおよびその強度を識別して、これらの関連付けを選択することができる。さらに、関連付けおよびその強度は、モバイル・デバイス３３０へのプリフェッチおよび送信に向けて返されたコンテンツ・データ・アイテムが多すぎるときに、データ分類エンジン３１２または主要決定エンジン３１０が使用することができ、それにより、相対的な関連付け強度がより強い関連付けに基づいて選択されたコンテンツ・データ・アイテムを、相対的な関連付け強度がより弱い関連付けに基づいて選択された他のコンテンツ・データ・アイテムよりも優先的に、プリフェッチおよび送信に向けて選択することができる。関連付けの強度は、関連付けがどれくらいの頻度でコンテンツ・データ・プリフェッチに向けて選択されるか、いくつのコンテンツ・データ・アイテムがプリフェッチ後に現ユーザによって実際にアクセスされるか、などに基づいて決定することができる。強度は、例えば次のような基準に基づいて強めたり弱めたりすることができる。すなわち、現ユーザが、プリフェッチ動作から所定期間内に、プリフェッチされたコンテンツ・データ・アイテムの所定部分にアクセスした場合は、関連付け強度を強めることができ、現ユーザが、プリフェッチ動作から所定期間内に、プリフェッチされたコンテンツ・データ・アイテムの所定部分にアクセスしなかった場合は、関連付け強度を弱めることができる。
【００６２】
ソーシャル・ネットワーク・アクティビティ・スコア付けエンジン３１４は、モバイル・デバイス３３０、ユーザ・デモグラフィックおよび履歴データベース３２２、ならびにソーシャル・ネットワーク・アプリケーション／データベース３２４から得られた情報に作用して、ソーシャル・ネットワーク・グループ中のピアに対するモバイル・デバイス３３０の現ユーザの関連付けをスコア付けする。例えば、ソーシャル・ネットワーク・アクティビティ・スコア付けエンジン３１４は、現ユーザのデモグラフィック・プロファイルと、現ユーザが登録されているソーシャル・ネットワーク・グループ中のユーザのデモグラフィック・プロファイルとを比較することができる。ソーシャル・ネットワーク・アクティビティ・スコア付けエンジン３１４はさらに、位置比較を実施して、現ユーザと同じソーシャル・ネットワーク・グループ中で、所与の地理的許容範囲内で現ユーザと同じかまたは類似する位置を有する他のユーザ（以下、「ピア」と呼ぶ）を識別することができる。さらに、ソーシャル・ネットワーク・アクティビティ・スコア付けエンジン３１４は、通信ログの通信分析を実施して、現ユーザの現在位置または予測される未来の位置に近いタグ／またはランドマークを有するコンテンツ・データに対応するキーワードを識別することができる。これらの要因の全ては、ソーシャル・ネットワーク・アクティビティ・スコア付けエンジン３１４によって実施されるスコア付け規則と共に使用されて、現ユーザとソーシャル・ネットワーク・グループ中のピアとの各関連付けのスコアが生成される。十分に高いスコア（所定のしきい値について、またはソーシャル・ネットワーク・グループの他のピアに対する相対的な測定値について決定される）を有するピアによってアクセスされたかかまたは他の形でそのようなピアに関連するコンテンツ・データ・アイテムを、プリフェッチしてモバイル・デバイス３３０に送信することができる。
【００６３】
通信分析は、時間的フィルタリング動作と主題関連性フィルタリング動作との両方を含んでよい。すなわち、現在時刻から所定期間内、例えば現在時刻から３時間前までに行われた通信のみを考慮するように、ソーシャル・ネットワーク・グループの通信ログ中の通信をフィルタにかけることができる。次いで、これらの通信を解析して、プリフェッチすべきコンテンツ・データの決定の際に注目に値すると思われる主題を示す単語および用語を識別することができる。例えば、コンテンツ・データ・タグおよびランドマーク・データベース３２８を使用して、プリフェッチするのが望ましいコンテンツ（例えばユーザに近いコンテンツ）を記述するキーワードのリストを取り出すことができる。キーワードは、コンテンツ・データ・タグおよびランドマーク・データベース３２８の一部であり、システムの所有者によってまたはユーザ・フィードバックを介して、いつでも更新することができる。これらのキーワードは、この場合、関連のあるソーシャル・ネットワーク・アクティビティを識別する目的で注目に値する用語を定義することができる。
【００６４】
さらに、現ユーザの位置やデモグラフィックなどに関連があると識別された、コンテンツ・データ、またはコンテンツ・データに関連するメタデータを分析して、関連のあるコンテンツ単語／用語を識別することができる。次いで、単語／用語のこれらの２つのセットを比較して、どの単語／用語が両方のセット中に現れるか識別し、それにより、対応するコンテンツ・データをスコア付けすることができる。ソーシャル・ネットワーク・グループの通信に見られる単語／用語を有するコンテンツ・データは、ソーシャル・ネットワーク・グループの通信で使用される対応する単語／用語を有さないコンテンツ・データよりも、相対的に高くスコア付けされる。これらのスコアは、ソーシャル・ネットワーク・グループ中の様々なピアに対するユーザの関連付けの強度を示す。
【００６５】
ポリシ・エンジン３１６は、ユーザ・ポリシ・データベース３１８中の確立されたユーザ・ポリシに作用して、いつコンテンツ・データがプリフェッチされてモバイル・デバイス３３０〜３３４に送信されるべきかを決定する。すなわち、例えばモバイル・デバイス３３０のユーザは、どの条件下でコンテンツ・データがプリフェッチされてモバイル・デバイス３３０に送信されるべきかを指定するユーザ・ポリシを確立することができ、また、このようなプリフェッチが実施されるべきでない場合の条件も指定することができる。ポリシ・エンジン３１６は、モバイル・デバイス３３０やネットワーク（複数可）３４０などの現在の条件をチェックして、これらの条件が満たされるかどうか判定し、次いで、対応するユーザ・ポリシを実施するよう主要決定エンジン３１０に通知する。例えば、ユーザは、信号品質が所定のしきい値よりも低い地理エリアにユーザのモバイル・デバイスがあるときには、コンテンツ・データのプリフェッチが実施されるべきでない、というポリシを確立することができる。別のポリシは、信号品質が相対的に低くなっていく地理エリアにモバイル・デバイスが入ると予測される場合には、予測される地理的位置に入る前に、予測される位置に対するコンテンツ・データがプリフェッチされることであってよい。他のポリシは、モバイル・デバイス３３０へのコンテンツ・データ送信のスケジュール（例えば、コンテンツ・データを送信する特定の時刻、信号品質が相対的に低い地理エリアに入る前の特定の時点など）を指定するものとすることができる。
【００６６】
ユーザ・ポリシは、コンテンツの最終的なセットがプリフェッチされる場合の状況を定義することができる。例えば、ユーザ・ポリシは、「ｗｉ−ｆｉネットワークに接続されたときだけデータをプリフェッチする」または「利用可能な帯域幅が少なくとも２０Ｍｂｐｓであるときにデータをプリフェッチする」ことであってよい。別の例示的なユーザ・ポリシは、関連のあるコンテンツ（例えばランドマークに関係する）の位置がユーザの現在位置から２マイル（３．２キロメートル）以内であるときにのみ、データをプリフェッチすることであってよい。ユーザ・ポリシにより、ユーザは、プリフェッチに関連するデバイス・エネルギーやサービス・コストなどに影響を与えることができる。
【００６７】
主要決定エンジン３１０は、データ分類エンジン３１２、ソーシャル・ネットワーク・アクティビティ・スコア付けエンジン３１４、およびポリシ・エンジン３１６によってなされた決定を結合して、コンテンツ・データ・データベース３２６からのどのコンテンツ・データ・アイテム（もしあれば）がプリフェッチされてモバイル・デバイス３３０〜３３４に送信されるべきかを決定する。さらに、主要決定エンジン３１０は、例証的な実施形態のメカニズムを使用して選択されたコンテンツ・データ・アイテムのプリフェッチおよび送信を実施するための必要な動作を実施することができる。さらに、上に論じたように、主要決定エンジン３１０は、サーバ３００の他の要素の動作を調整し、サーバ３００とモバイル・デバイス３３０〜３３４との間の通信を容易にする。
【００６８】
上に論じたように、例証的な実施形態のメカニズムは、プリフェッチしてモバイル・デバイス３３０〜３３４に送信することができるコンテンツ・データを選択するように動作し、それにより、このコンテンツ・データは、モバイル・デバイス３３０〜３３４中でキャッシュされる。例証的な一実施形態では、コンテンツ・データはモバイル・デバイス３３０〜３３４に記憶されてよく、したがって、モバイル・デバイス３３０〜３３４に記憶された対応するデータ・ファイルに単にアクセスすれば、モバイル・デバイス３３０〜３３４のユーザからコンテンツ・データにすぐにアクセスすることができる。別法として、ユーザがコンテンツ・データにアクセスするには、前提条件アクションが必要とされてもよい。この前提条件アクションは、モバイル・デバイス３３０〜３３４上の特定のアプリケーションとの必要とされるユーザ対話や、モバイル・デバイス３３０〜３３４とモバイル・デバイス３３０〜３３４の位置する環境との対話などとすることができる。例えば、ユーザがブラウザ・アプリケーションを使用してコンテンツ・データを取り出そうとするのに応答して、モバイル・デバイス３３０〜３３４のローカル・ストレージからコンテンツ・データにアクセスすることができる。ユーザがモバイル・デバイス３３０〜３３４を使用して、ＱＲタグ、バーコード、Ｍｉｃｒｏｓoｆｔタグを走査するか、Ｇｏｏｇｌｅ  Ｇｏｇｇｌｅｓ（ＴＭ）を用いて画像を取り込むか、または他の方法で位置、ランドマーク、製品、サービスなどに関連する「タグ」もしくは識別メカニズムから画像を得るのに応答して、モバイル・デバイス３３０〜３３４のローカル・ストレージからコンテンツ・データにアクセスすることができる。
【００６９】
上記のように、ソーシャル・ネットワーク・アクティビティ・スコア付けエンジン３１４は、現ユーザの属するソーシャル・ネットワーク・グループ中の現ユーザのピアに対する、現ユーザの関連付けをスコア付けする。図４は、例証的な一実施形態による、ソーシャル・ネットワーク・スコア付け動作を実施するための主要な動作要素を示す例示的なブロック図である。図４に示すように、現ユーザ４３０を含めて、ソーシャル・ネットワーク・グループ中の各ピア４１０〜４３０は、関連するデモグラフィック・プロファイル４１２、４２２、および４３２を有する。ピア４１０〜４３０のデモグラフィック特性を、ソーシャル・ネットワーク・アクティビティ・スコア付けエンジン３１４によって、デモグラフィク・プロファイル・コンパレータ４４０を介して比較することができ、デモグラフィック・プロファイル・コンパレータ４４０は、現ユーザのデモグラフィック特性と他のピア４１０〜４２０のデモグラフィック特性との間のマッチングの程度に基づいて、これらの他のピアに対する現ユーザ４３０の各ペアリングに関するスコアを生成する。マッチする各デモグラフィック特性（厳密なマッチであっても所定の許容範囲内のマッチであってもよい）は、現ユーザ４３０とそのピア４１０〜４２０との関連付けのスコアを増加させることができる。
【００７０】
同様に、現ユーザ４３０を含めて、各ピア４１０〜４３０は、関連する現在位置４１４、４２４、および４３４を有する。プロファイル比較と同様にして、位置コンパレータ４４５を使用して位置を比較することができ、現ユーザ４３０に類似する位置、または現ユーザ４３０の予測される未来の位置に類似する位置にあるピアが、そうでないピアよりも高くスコア付けされるように、スコア付けすることができる。
【００７１】
さらに、現ユーザ４３０を含めて、各ピア４１０〜４３０は、ソーシャル・ネットワーク・グループ中の関連する通信ログ４１６、４２６、および４３６を有することができ、これらは、前述のようにして通信分析エンジン４５０によって分析することができる。これらの通信の分析は、現ユーザに近いタグ／ランドマークに関するコンテンツ・データ４７０、および、コンテンツ・データ中で使用されるかまたは他の形でコンテンツ・データに関連する（例えばメタデータなどを介して）単語／用語に、基づくことができる。この場合もやはり、これらの通信のスコア付けを実施することができる。
【００７２】
各コンパレータ４４０〜４４５および分析エンジン４５０によって、現ユーザ４３０とソーシャル・ネットワーク・グループ中のピア４１０〜４２０との各ペアリングにつき別々のスコアが生成される。これらのスコアは類似性スコアラ・エンジン４６０に入力され、類似性スコアラ・エンジン４６０は、スコア付け規則４６２を適用して、ピア４１０〜４２０に対する現ユーザ４３０の関連付けの最終的なスコアを生成する。これらのスコア付け規則４６２は、例えば、出力最終スコアを生成するためにコンパレータ４４０〜４４５および分析エンジン４５０からの入力スコアに適用する、特定の関数や重み付けなどを指定することができる。これらの出力最終スコアは、主要決定エンジン３１０によって使用されて、どのコンテンツ・データをプリフェッチしてモバイル・デバイス３３０〜３３４に送信するかが決定される。
【００７３】
図５は、例証的な一実施形態による、ソーシャル・ネットワーク通信リンク分析を実施するための主要な動作要素を示す例示的なブロック図である。上記のように、ソーシャル・ネットワーク・アクティビティ・スコア付けエンジン３１４の通信分析エンジン４５０によって実施される通信分析は、時間的フィルタリング動作および主題関連性フィルタリング動作の実施を含む。図５に示すように、ソーシャル・ネットワーク通信ログ４５１が、通信分析エンジンの時間フィルタ４５３に入力され、次いで時間フィルタ４５３は、通信ログ中の、現在時刻から所定期間内の通信を識別する。これらの通信は、主題関連性フィルタ４５４に転送され、主題関連性フィルタ４５４は、タグ／ランドマーク・コンテンツ・データ４５２（または、このタグ／ランドマーク・コンテンツ・データに関連するメタデータ、あるいはその両方）も入力として受け取る。主題関連性フィルタ４５４は、通信を解析して、これらの通信の主題を示す単語／用語を識別することができ、コンテンツ・データ、またはコンテンツ・データのメタデータ、あるいはその両方の内容を解析して、コンテンツ・データに関連する単語／用語を識別することができる。単語／用語のこれらのセットを比較することができ、これらのセットを使用して、マッチする単語／用語を識別することができる。マッチングの程度をスコア付けエンジン４５５が使用して、現ユーザとソーシャル・ネットワーク・グループ中のピアとの関連付けの強度を示す最終的なスコアを生成することができる。これらのスコアを、ソーシャル・ネットワーク・アクティビティ・スコア付けエンジン３１４によって生成された他のスコアと共に使用して、現ユーザとピアとの関連付けの最終的なスコアを決定することができ、最後に、プリフェッチしてモバイル・デバイス３３０〜３３４に送信すべきコンテンツ・データを選択することができる。
【００７４】
このように、例証的な実施形態は、プリフェッチしてユーザのモバイル・デバイスに送信すべきコンテンツ・データを選択するためのメカニズムを提供する。コンテンツ・データの選択は、デモグラフィック情報、位置、履歴情報などを含めた、多くの要因に基づくことができる。特に、プリフェッチするためのコンテンツ・データの選択は、ソーシャル・ネットワーク・グループ通信と、現ユーザが登録されている様々なソーシャル・ネットワーク・グループ中の現ユーザのピアによってアクセスされるコンテンツ・データとに基づくことができる。このようにすれば、現ユーザの位置または予測される未来の位置に基づいて現ユーザの関心を引く可能性が概して高いコンテンツ・データを、識別してプリフェッチすることができ、それにより、このコンテンツ・データは、より素早く取り出されるようにユーザのモバイル・デバイスに記憶される。
【００７５】
図６は、例証的な一実施形態による、ウェブ閲覧アクティビティに関してデモグラフィックベースのコンテンツ・データ・プリフェッチを実施するための例示的な動作を概説するフローチャートである。図６に概説する動作は、例えば、サーバ・コンピューティング・デバイスによって実施することができる。この動作は、モバイル・デバイスの現在のコンテキスト（例えば現在位置や現在の使用など）に基づいてユーザがアクセスする可能性が最も高いウェブページに関連するコンテンツ・データをプリフェッチするために、モバイル・デバイスのユーザによって実施されたウェブ閲覧に基づいてコンテンツ・データをプリフェッチすることを対象とする。
【００７６】
図６に示すように、動作は、ユーザの位置、軌跡、およびコンテキストベースのデモグラフィック情報を、ユーザのモバイル・デバイスから受け取ることによって開始する（ステップ５１０）。ユーザのウェブ閲覧アクティビティもまた、モバイル・デバイスから受け取られる（ステップ５１５）。サーバは、ユーザの現在のウェブページに関連するか、または訪れた類似ウェブページの履歴に関連する、デモグラフィック・グループ（すなわち、ウェブページまたはウェブページ履歴が対象とするグループのデモグラフィック、例えば年齢、教育、収入など）を、デモグラフィックおよび履歴データベースに照会する（ステップ５２０）。
【００７７】
ユーザのデモグラフィックと、現在のウェブページ、または訪れた類似ウェブページの履歴、あるいはその両方に関連するデモグラフィック・グループとの間で、類似性の測定が行われる（ステップ５２５）。この動作は、例えば、ユーザのコンテキストベースのデモグラフィックと、クラスタベースのデータ分類アルゴリズムとを使用して、デモグラフィック・グループごとの類似性の値を決定し、それにより、ユーザのデモグラフィックがデモグラフィック・グループのデモグラフィックにどれくらい近くマッチするかを識別することによって、実施することができる。現在のウェブページまたは訪れた類似ウェブページの履歴に関連する様々なデモグラフィック・グループに対するユーザの類似性の測定値が生成されると、後で図８に概説するようなコンテンツ・データ取出しサブ動作が実施される（ステップ５３０）。このコンテンツ・データ取出しサブ動作の結果は、ユーザのデモグラフィックとの類似性がしきい値を超えるデモグラフィック・グループに関連する１つまたは複数のコンテンツ・データ・アイテムのセットである。
【００７８】
次いで、ウェブページに関連する１つまたは複数のコンテンツ・データ・アイテムのセットをユーザのモバイル・デバイスにダウンロードすることがスケジュールされる（ステップ５３５）。スケジューリングは、例えば、ユーザの位置と、平均速度と、送信されるデータの量と、ネットワーク使用に関するユーザのポリシとに基づいて行うことができる。これらの要因を考慮してダウンロードをスケジュールすることができ、例えばそれにより、コンテンツ・データ・アイテムは、ユーザからコンテンツ・データ・アイテムにアクセスできる位置にユーザが到達するよりも前に、またはそれとほぼ同時に、ユーザのモバイル・デバイス中に存在する。コンテンツ・データ・アイテムにアクセスできると予想される位置にユーザがすでにいる場合は、ダウンロードは、例えば、即座にダウンロードできるようにスケジュールされてよい。
【００７９】
類似デモグラフィック・グループごとに、その類似デモグラフィック・グループに関連する少なくとも所定量のウェブページにユーザがある期間にわたってアクセスするかどうか判定される（ステップ５４０）。類似デモグラフィック・グループに関連する少なくとも所定量のウェブページにユーザが実際にアクセスする場合は、現在のコンテキストについて、ユーザのデモグラフィックとデモグラフィック・グループとの間の類似性測定値が増加する（ステップ５４５）。この類似デモグラフィック・グループに関連する少なくとも所定量のウェブページにユーザがその期間にわたって実際にアクセスしない場合は、現在のコンテキストについて、ユーザのデモグラフィックとデモグラフィック・グループとの間の類似性測定値が減少する（ステップ５５０）。次いで動作は終了する。
【００８０】
図７は、例証的な一実施形態による、タグ走査アクティビティに関してデモグラフィックベースのコンテンツ・データ・プリフェッチを実施するための例示的な動作を概説するフローチャートである。図７に概説する動作は、例えばサーバ・コンピューティング・デバイスによって実施することができる。この動作は、モバイル・デバイスの現在のコンテキストに基づいてユーザが走査する可能性が最も高いタグに関連するコンテンツ・データをプリフェッチするために、モバイル・デバイスのユーザによって実施されるタグ走査に基づいてコンテンツ・データをプリフェッチすることを対象とする。
【００８１】
図７に示すように、動作は、ユーザの位置、軌跡、および、コンテキストベースのデモグラフィック情報を、ユーザのモバイル・デバイスから受け取ることによって開始する（ステップ６１０）。サーバは、ユーザのモバイル・デバイスの位置によって決定される、ユーザの位置の近くにあるかまたはもうすぐユーザの位置の近くになるタグ付き広告またはランドマークあるいはその両方を、広告およびランドマーク・タグ・データベースに照会する（ステップ６１５）。次いでサーバは、ユーザの位置の近くにある（またはもうすぐ近くになる）識別されたタグ付き広告またはランドマークあるいはその両方に関連するデモグラフィック・グループを、デモグラフィックおよび履歴データベースに照会する（ステップ６２０）。
【００８２】
ユーザのデモグラフィックと、タグ付き広告またはランドマークあるいはその両方に関連するデモグラフィック・グループとの間で、類似性の測定が行われる（ステップ６２５）。上記のように、この動作は、例えば、ユーザのコンテキストベースのデモグラフィックと、クラスタベースのデータ分類アルゴリズムとを使用して、デモグラフィック・グループごとの類似性の値を決定し、それにより、ユーザのデモグラフィックがデモグラフィック・グループのデモグラフィックにどれくらい近くマッチするかを識別することによって、実施することができる。タグ付き広告／ランドマークに関連する様々なデモグラフィック・グループに対するユーザの類似性の測定値が生成されると、後で図８に概説するようなコンテンツ・データ取出しサブ動作が実施される（ステップ６３０）。このコンテンツ・データ取出しサブ動作の結果は、ユーザのデモグラフィックとの類似性がしきい値を超えるデモグラフィック・グループに関連する１つまたは複数のコンテンツ・データ・アイテムのセットである。
【００８３】
次いで、タグ付き広告／ランドマークに関連する１つまたは複数のコンテンツ・データ・アイテムのセットをユーザのモバイル・デバイスにダウンロードすることがスケジュールされる（ステップ６３５）。スケジューリングは、例えば、ユーザの位置と、平均速度と、送信されるデータの量と、ネットワーク使用に関するユーザのポリシとに基づいて行うことができる。これらの要因を考慮してダウンロードをスケジュールすることができ、例えばそれにより、コンテンツ・データ・アイテムは、ユーザからコンテンツ・データ・アイテムにアクセスできる位置にユーザが到達するよりも前に、またはそれとほぼ同時に、ユーザのモバイル・デバイス中に存在する。コンテンツ・データ・アイテムにアクセスできると予想される位置にユーザがすでにいる場合は、ダウンロードは、例えば、即座にダウンロードできるようにスケジュールされてよい。
【００８４】
類似デモグラフィック・グループごとに、その類似デモグラフィック・グループに関連する少なくとも所定量のタグ付き広告／ランドマークにユーザがある期間にわたってアクセスするかどうか判定される（ステップ６４０）。類似デモグラフィック・グループに関連する少なくとも所定量のタグ付き広告／ランドマークにユーザが実際にアクセスする場合は、現在のコンテキストについて、ユーザのデモグラフィックとデモグラフィック・グループとの間の類似性測定値が増加する（ステップ６４５）。この類似デモグラフィック・グループに関連する少なくとも所定量のタグ付き広告／ランドマークにユーザがその期間にわたって実際にアクセスしない場合は、現在のコンテキストについて、ユーザのデモグラフィックとデモグラフィック・グループとの間の類似性測定値が減少する（ステップ６５０）。次いで動作は終了する。
【００８５】
図８は、例証的な一実施形態による、ユーザのモバイル・デバイスに送信されるべき、特定ユーザのデモグラフィックに類似するデモグラフィック・グループに関連するコンテンツ・データ・アイテムを、プリフェッチ動作の一部として選択するための例示的な動作を概説するフローチャートである。図８に概説する動作は、例えば、図６および７のステップ５３０および６３０の一部として実施することができる。
【００８６】
図８に示すように、動作は、ユーザのデモグラフィックとの類似性がしきい値を超えるデモグラフィック・グループの識別子を受け取ることによって開始する（ステップ７１０）。デモグラフィック・グループに関連するコンテンツ・データ・アイテム（例えば、ウェブページ、またはタグに関連するコンテンツ）の数がしきい値を超えるかどうか判定される（ステップ７１５）。超えない場合は、デモグラフィック・グループに関連するコンテンツ・データ・アイテムは、ユーザのモバイル・デバイスにそれらを送信するスケジューリングに向けて返される（ステップ７２０）。デモグラフィック・グループに関連するコンテンツ・データ・アイテムの数がしきい値を超える場合は、類似デモグラフィック・グループの数がしきい値を超えるかどうか判定される（ステップ７２５）。超えない場合は、類似デモグラフィック・グループに関連するコンテンツ・データ・アイテムの所定の一部が、スケジューリングに向けて返されるように選択される（例えば、デモグラフィック・グループに関連するコンテンツ・データ・アイテムの上位ｎ％が、ユーザのモバイル・デバイスへの送信のスケジューリングに向けて返される）（ステップ７３０）。
【００８７】
類似デモグラフィック・グループの数がしきい値を超える場合は（ステップ７２５）、当該の類似デモグラフィック・グループに属するピアへのソーシャル・ネットワーク結び付きの強度を使用して、デモグラフィック・グループに対するユーザの類似性が再計算される（ステップ７３５）。この再計算は、前述のようなソーシャル・ネットワーク分析関連付け測定技法を使用して実施することができる。次いで動作はステップ７１５に戻る。
【００８８】
図９は、例証的な一実施形態による、デモグラフィック・グループの類似性を決定するための根拠としてソーシャル・ネットワーキング要因が使用される場合の、タグ走査アクティビティに関してデモグラフィックベースのコンテンツ・データ・プリフェッチを実施するための例示的な動作を概説するフローチャートである。図９に概説する動作は、例えばサーバ・コンピューティング・デバイスによって実施することができる。この動作は、モバイル・デバイスの現在のコンテキストに基づいてユーザが走査する可能性が最も高いタグに関連するコンテンツ・データをプリフェッチするために、モバイル・デバイスのユーザによって実施されるタグ走査に基づいてコンテンツ・データをプリフェッチすることを対象とする。このようにして、図９の動作は図７の動作に似ているが、ソーシャル・ネットワーク分析メカニズムに基づいてデモグラフィック・グループの類似性を決定するための追加のメカニズムを含む。
【００８９】
図９に示すように、動作は、ユーザの位置、軌跡、および、コンテキストベースのデモグラフィック情報を、ユーザのモバイル・デバイスから受け取ることによって開始する（ステップ８１０）。サーバは、ユーザのモバイル・デバイスの位置によって決定される、ユーザの位置の近くにあるかまたはもうすぐユーザの位置の近くになるタグ付き広告またはランドマークあるいはその両方を、広告およびランドマーク・タグ・データベースに照会する（ステップ８１５）。次いでサーバは、タグ付き広告／ランドマークへの関心に関するユーザのピアの通信について、ユーザが関連付けられているソーシャル・ネットワークを監視する（ステップ８２０）。
【００９０】
ユーザのデモグラフィックと、タグ付き広告またはランドマークあるいはその両方に関連するデモグラフィック・グループとの間で、類似性の測定が行われる（ステップ８２５）。この動作は、例えば、ユーザのコンテキストベースのデモグラフィックと、様々なデモグラフィック・グループに関連する類似性の値の出力を生成するソーシャル・ネットワーク分析アルゴリズムとを使用して、実施することができる。タグ付き広告／ランドマークに関連する様々なデモグラフィック・グループに対するユーザの類似性の測定値が生成されると、後で図１０に概説するようなコンテンツ・データ取出しサブ動作が実施される（ステップ８３０）。このコンテンツ・データ取出しサブ動作の結果は、ユーザのデモグラフィックとの類似性がしきい値を超えるデモグラフィック・グループに関連する１つまたは複数のコンテンツ・データ・アイテムのセットである。
【００９１】
次いで、タグ付き広告／ランドマークに関連する１つまたは複数のコンテンツ・データ・アイテムのセットをユーザのモバイル・デバイスにダウンロードすることがスケジュールされる（ステップ８３５）。スケジューリングは、例えば、ユーザの位置と、平均速度と、送信されるデータの量と、ネットワーク使用に関するユーザのポリシとに基づいて行うことができる。これらの要因を考慮してダウンロードをスケジュールすることができ、例えばそれにより、コンテンツ・データ・アイテムは、ユーザからコンテンツ・データ・アイテムにアクセスできる位置にユーザが到達するよりも前に、またはそれとほぼ同時に、ユーザのモバイル・デバイス中に存在する。コンテンツ・データ・アイテムにアクセスできると予想される位置にユーザがすでにいる場合は、ダウンロードは、例えば、即座にダウンロードできるようにスケジュールされてよい。
【００９２】
類似デモグラフィック・グループごとに、その類似デモグラフィック・グループに関連する少なくとも所定量のタグ付き広告／ランドマークにユーザがある期間にわたってアクセスするかどうか判定される（ステップ８４０）。類似デモグラフィック・グループに関連する少なくとも所定量のタグ付き広告／ランドマークにユーザが実際にアクセスする場合は、現在のコンテキストについて、ユーザのデモグラフィックとデモグラフィック・グループとの間の類似性測定値が増加する（ステップ８４５）。この類似デモグラフィック・グループに関連する少なくとも所定量のタグ付き広告／ランドマークにユーザがその期間にわたって実際にアクセスしない場合は、現在のコンテキストについて、ユーザのデモグラフィックとデモグラフィック・グループとの間の類似性測定値が減少する（ステップ８５０）。次いで動作は終了する。
【００９３】
図１０は、例証的な一実施形態による、ユーザのモバイル・デバイスに送信されるべき、特定ユーザのデモグラフィックに類似するデモグラフィック・グループに関連するコンテンツ・データ・アイテムを、プリフェッチ動作の一部として選択するための例示的な動作を概説するフローチャートである。図１０に概説する動作は、例えば、図９のステップ８３０の一部として実施することができる。
【００９４】
図１０に示すように、動作は、ユーザとの類似性がしきい値を超えるソーシャル・ネットワーク・ピアの識別子を受け取ることによって開始する（ステップ９１０）。ソーシャル・ネットワーク・ピアに関連するコンテンツ・データ・アイテム（例えばタグに関連するコンテンツ）の数がしきい値を超えるかどうか判定される（ステップ９１５）。超えない場合は、ソーシャル・ネットワーク・ピアに関連するコンテンツ・データ・アイテムは、ユーザのモバイル・デバイスにそれらを送信するスケジューリングに向けて返される（ステップ９２０）。ソーシャル・ネットワーク・ピアに関連するコンテンツ・データ・アイテムの数がしきい値を超える場合は、類似ソーシャル・ネットワーク・ピアの数がしきい値を超えるかどうか判定される（ステップ９２５）。超えない場合は、類似ソーシャル・ネットワーク・ピアに関連するコンテンツ・データ・アイテムの所定の一部が、スケジューリングに向けて返されるように選択される（例えば、ソーシャル・ネットワーク・ピアに関連するコンテンツ・データ・アイテムの上位ｎ％が、ユーザのモバイル・デバイスへの送信のスケジューリングに向けて返される）（ステップ９３０）。
【００９５】
類似ソーシャル・ネットワーク・ピアの数がしきい値を超える場合は（ステップ９２５）、ユーザとソーシャル・ネットワーク・ピアとの間の一番最近のソーシャル・ネットワーク・アクティビティを使用して、ソーシャル・ネットワーク・ピアに対するユーザの類似性が再計算される（ステップ９３５）。この再計算は、ソーシャル・ネットワーク分析関連付け測定技法を使用して実施することができる。次いで動作はステップ９１５に戻る。
【００９６】
上記のように、例証的な実施形態は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態、またはハードウェアとソフトウェアの両方の要素を含む実施形態の形をとることができることを理解されたい。例示的な一実施形態では、例証的な実施形態のメカニズムは、ソフトウェア・プログラム・コードにおいて実現され、このソフトウェア・プログラム・コードは、ファームウェア、常駐ソフトウェア、マイクロコードなどを含むがこれらに限定されない。
【００９７】
プログラム・コードの記憶または実行あるいはその両方に適したデータ処理システムは、システム・バスを介してメモリ要素に直接的または間接的に結合される少なくとも１つのプロセッサを備えることになる。メモリ要素は、プログラム・コードの実際の実行中に利用されるローカル・メモリと、バルク・ストレージと、キャッシュ・メモリとを含んでよく、キャッシュ・メモリは、実行中にコードをバルク・ストレージから取り出さなければならない回数を削減するために、少なくともいくらかのプログラム・コードの一次記憶域を提供する。
【００９８】
入出力またはＩ／Ｏデバイス（キーボード、表示装置、ポインティング・デバイスなどを含むがこれらに限定されない）が、直接的に、または介在するＩ／Ｏコントローラを介して、システムに結合されてよい。ネットワーク・アダプタもまたシステムに結合されてよく、それにより、データ処理システムが、介在する私設または公衆ネットワークを介して、他のデータ処理システムに、またはリモート・プリンタもしくは記憶デバイスに結合されるようにすることができる。モデム、ケーブル・モデム、およびイーサネット・カードは、現在利用可能なタイプのネットワーク・アダプタのうちの少数に過ぎない。
【００９９】
本発明に関する記述を例証および説明のために提示したが、この記述は、網羅的なものとはせず、開示する形に本発明を限定するものともしない。多くの修正および変形が、当業者には明らかであろう。実施形態は、本発明の原理や実際的応用を最もよく説明するために、かつ他の当業者が企図される特定の使用に適合するように様々な修正が加えられた様々な実施形態について本発明を理解できるようにするために、選択および記述されたものである。
【要約】
【課題】コンテンツ・データ（４７０）をプリフェッチしてコンテンツ・データ（４７０）をモバイル・デバイス（３３０）に記憶するためのメカニズムを提供すること。
【解決手段】モバイル・デバイス（３３０）の識別子およびモバイル・デバイス（３３０）の位置（４３４）が受け取られる。モバイル・デバイス（３３０）の識別子に基づいて、モバイル・デバイス（３３０）のユーザ（４３０）に関するデモグラフィック情報（４３２）が得られる。ユーザ（４３０）のデモグラフィック情報（４３２）は、他のユーザ（４１０、４２０）のデモグラフィック情報（４１２、４２２）と比較されて、モバイル・デバイス（３３０）のユーザ（４３０）のデモグラフィック情報（４３２）に類似するデモグラフィック情報を有する１人または複数の類似ユーザ（４１０、４２０）が識別される。モバイル・デバイス（３３０）の位置（４３４）と、１人または複数の類似ユーザ（４１０、４２０）の識別とに基づいて、モバイル・デバイス（３３０）に送信するコンテンツ・データ（４７０）が識別される。コンテンツ・データ（４７０）は、モバイル・デバイス（３３０）に記憶されるようにモバイル・デバイス（３３０）に送信される。
【選択図】図３【図１】
0005657186.tif 000002
【図２】
0005657186.tif 000003
【図３】
0005657186.tif 000004
【図４】
0005657186.tif 000005
【図５】
0005657186.tif 000006
【図６】
0005657186.tif 000007
【図７】
0005657186.tif 000008
【図８】
0005657186.tif 000009
【図９】
0005657186.tif 000010
【図１０】
0005657186.tif 000011