(57)【要約】  ユーザに関する、またはユーザに向けられたメッセージング・アクティビティの１つまたは複数の状況を反映するように、視覚メッセージインジケータの１つまたは複数の動作パラメータを調整する通信装置。
2014525715.tif 000002
【特許請求の範囲】
【請求項１】
リモートホストによって送られるメッセージにアクセスする工程と、
前記メッセージと関連付けられたアフィニティ値であって、該メッセージの１つまたは複数の属性とユーザとの間の計算される社会的な親和性に対応するアフィニティ値を識別する工程と、
前記アフィニティ値に少なくとも部分的に基づき、通信装置のメッセージインジケータの１つまたは複数の動作パラメータを調整する工程とからなる、方法。
【請求項２】
前記１つまたは複数の動作パラメータは、強度、周期およびデューティ・サイクルの少なくとも１つを含む、請求項１に記載の方法。
【請求項３】
前記１つまたは複数の動作パラメータは、色彩を含む、請求項１に記載の方法。
【請求項４】
前記メッセージのタイプに基づき、前記メッセージインジケータの前記色彩を調整する工程をさらに含む、請求項３に記載の方法。
【請求項５】
前記メッセージに関する前記アフィニティ値は、前記リモートホストから受信される、請求項１に記載の方法。
【請求項６】
前記メッセージをメッセージのバッファに加える工程と、
前記メッセージの前記アフィニティ値に基づき、累積された通知値を調節する工程とをさらに含み、
該累積された通知値は、前記メッセージインジケータの前記１つまたは複数の動作パラメータの少なくとも１つを制御するように動作可能である、請求項１に記載の方法。
【請求項７】
１つまたは複数の個別のリモートホストから受信したメッセージのバッファにアクセスする工程と、
前記バッファ中の前記メッセージと関連付けられる累積された通知値を決定する工程と、
前記累積された通知値に基づき、メッセージインジケータの１つまたは複数の動作パラメータを調整する工程とからなる、方法。
【請求項８】
前記１つまたは複数の動作パラメータは、強度、周期およびデューティ・サイクルの少なくとも１つを含む、請求項７に記載の方法。
【請求項９】
前記１つまたは複数の動作パラメータは、色彩を含む、請求項７に記載の方法。
【請求項１０】
前記バッファ中の前記メッセージの少なくとも１つに関するタイプに基づき、前記メッセージインジケータの前記色彩を調整する工程をさらに含む、請求項９に記載の方法。
【請求項１１】
前記累積された通知値は、前記バッファ中のメッセージ数および前記メッセージと関連付けられる個別のアフィニティ値に基づく、請求項７に記載の方法。
【請求項１２】
前記アフィニティ値は、リモートホストから受信される、請求項１１に記載の方法。
【請求項１３】
古くなったメッセージを前記バッファから排除する工程をさらに含む、請求項７に記載の方法。
【請求項１４】
メモリと、
１つまたは複数のネットワーク・インタフェースと、
１つまたは複数のプロセッサと、
コンピュータ可読媒体中に記憶されるコンピュータ・プログラム・コードであって、該コンピュータ・プログラム・コードは、前記１つまたは複数のプロセッサに、
１つまたは複数の個別のリモートホストから受信したメッセージのバッファにアクセスさせ、
前記バッファ中の前記メッセージに関連付けられる累積された通知値を決定させ、
前記累積された通知値に基づき、メッセージインジケータの１つまたは複数の動作パラメータを調整させるように動作可能な命令を含む、コンピュータ・プログラム・コードとからなる、装置。
【請求項１５】
前記１つまたは複数の動作パラメータは、強度、周期およびデューティ・サイクルの少なくとも１つを含む、請求項１４に記載の装置。
【請求項１６】
前記１つまたは複数の動作パラメータは、色彩を含む、請求項１４に記載の装置。
【請求項１７】
前記コンピュータ・プログラム・コードは、前記１つまたは複数のプロセッサに、前記バッファ中の前記メッセージの少なくとも１つに関するタイプに基づき、前記メッセージインジケータの前記色彩を調整させるように動作可能な命令をさらに含む、請求項１６に記載の装置。
【請求項１８】
前記累積された通知値は、前記バッファ中のメッセージ数および前記メッセージと関連付けられる個別のアフィニティ値に基づく、請求項１４に記載の装置。
【請求項１９】
前記アフィニティ値は、リモートホストから受信される、請求項１８に記載の装置。
【請求項２０】
前記コンピュータ・プログラム・コードは、前記１つまたは複数のプロセッサに、前記バッファから古くなったメッセージを排除させるように動作可能な命令をさらに含む、請求項１４に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、一般に、通信装置および視覚通知に関し、より具体的には、メッセージ・アクティビティおよび値に基づき、視覚通知の１つまたは複数の動作パラメータを調整する通信装置に関する。
【背景技術】
【０００２】
スマートフォンおよびタブレットなどの通信装置は、様々なメッセージング・アプリケーション、たとえば音声メッセージング、ショート・テキスト・メッセージング、インスタント・メッセージング（ｉｎｓｔａｎｔ  ｍｅｓｓａｇｉｎｇ）、電子メール、ＲＳＳクライアント、ブロギング（ｂｌｏｇｇｉｎｇ）、マイクロ・ブロギングなどを提供することができる。通信装置は、小型の発光ダイオード（ＬＥＤ）などのインジケータの特徴（フィーチャ）を有することがあり、そのインジケータは、装置のステータス、たとえば低電力、接続性、メッセージの有無などを表示する。
【図面の簡単な説明】
【０００３】
【図１】ソーシャル・ネットワーキング・システムの一例を示す図。
【図２】インジケータライトを含むスマートフォン・インタフェースの一例を示す図。
【図３】コンピュータ・システムの一例を示す図。
【図４】携帯型装置プラットフォームの一例を示す図。
【図５Ａ】メッセージ・アクティビティに基づき、通知ライトの動作パラメータを調節するためのプロセスを例示する図。
【図５Ｂ】メッセージ・アクティビティに基づき、通知ライトの動作パラメータを調節するためのプロセスを例示する図。
【図６】本発明の一実施形態による、ソーシャル・ネットワーキング・システムのユーザに関するアフィニティの度合を計算するためのアフィニティ関数のブロック図。
【図７】本発明の一実施形態による、ソーシャル・ネットワーキング・システムのブロック図。
【図８】本発明の一実施形態による、ソーシャル・ネットワーキング・システムのユーザに関するアフィニティの度合を計算するための方法のフローチャート。
【発明を実施するための形態】
【０００４】
本発明の具体的な実施形態は、ユーザに向けられた、またはユーザに関するメッセージのアクティビティの１つまたは複数の状況を反映するために、視覚メッセージインジケータの１つまたは複数の動作パラメータを調節する通信装置に関する。本開示のこれらおよび他の特徴、態様および利点は、詳細な記述で次の図と併せて以下でより詳細に述べる。
【０００５】
ここで、本発明は、添付の図面に例示されるそのいくつかの実施形態を参照して詳細に述べる。次の記述では、本開示を完全に理解するために、数々の具体的な細部を述べる。しかし、本開示は、これらの具体的な細部のいくつか、またはすべてが無くても実施することができることは、当業者に明らかである。他の事例では、本開示を不要に分かりにくくしないために、よく知られている処理方法および／または構造を詳細に述べていない。さらに、特定の実施形態と連結して本開示を述べるが、この記述は、述べる実施形態に本開示を限定する意図のものでないことを理解すべきである。それとは反対に、この記述は、添付の請求項によって定義される本開示の趣旨および範囲内に含めることができるような代替実施形態、修正実施形態および同等物を包含すると意図する。
【０００６】
ＬＥＤなどのメッセージインジケータは、ユーザが絶えず装置にアクセスすることが必要でなくバッテリ源を消耗させることなく、メッセージインジケータによってユーザにメッセージが着信したことを通知することができる点において、携帯型通信装置にとって有用である。本発明の実装形態は、メッセージング・アクティビティに基づき、メッセージインジケータの１つまたは複数の動作パラメータを調整することに関する。一実装形態では、動作パラメータの１つまたは複数のための調整スキームは、ユーザに関する、および／またはユーザに向けられたメッセージング・アクティビティの全体的な意味をユーザに伝えるように構成される。本発明の実装形態は、たとえば、ユーザに対するメッセージング・アクティビティのレベル、ユーザの現在のコンテクストに対するメッセージング・アクティビティの直接の関連性、ユーザとメッセージ・アクティビティの送信元との間のコネクションなどを伝達するように構成することができる。
【０００７】
図１は、ソーシャル・ネットワーキング・システム１００の一例および本発明の様々な実装形態が動作する可能性がある環境を示す。ユーザは、ソーシャル・ネットワーキング・システムおよび他のリモートホストに、通信装置１２２を使用してネットワーク１２１を通じてアクセスすることができる。たとえば、ユーザは、コンテンツを掲示し、それにアクセスするために、ソーシャル・ネットワーキング・システムおよび他のリモートホストにアクセスすることができる。他のリモートホストは、他のネットワーク・アプリケーション、たとえばウェブサイト、電子メール・サービスなどを実装することができる。
【０００８】
通信装置１２２は、様々な異なる通信チャネルおよびメッセージ・タイプに対応することができる。たとえば、通信装置１２２は、無線ネットワークの回路が切り替えられることにより、または非データの部分を通じて、他のクライアント装置と対話することができる。たとえば、ユーザは、通信装置１２２で、セル方式携帯電話または固定電話回線への非ＶｏＩＰ（Ｖｏｉｃｅ  ｏｖｅｒ  ＩＰ）呼を送受信することができ、ＳＭＳまたはＭＭＳチャネルを通じてテキストまたはマルチメディアのメッセージを送受信することができ、あるいはＳＭＳ制御チャネルを通じてプッシュ通知（ｐｕｓｈ  ｎｏｔｉｆｉｃａｔｉｏｎ）を受け取ることができる。通信装置１２２は、クライアント装置に存在するウェブ・ブラウザまたは通信装置１２２のローカルな専用アプリケーションを通じて、外部ウェブサイトおよび他のサービス・プロバイダと対話することができる。たとえば、通信装置１２２は、Ｇｏｏｇｌｅ  Ｖｏｉｃｅ（商標）またはＳｋｙｐｅ（商標）など、インスタントＶｏＩＰ（ｉｎｓｔａｎｔ  ＶｏＩＰ）サービスを、ウェブ・ブラウザを通じて訪れてそれらのアカウントにログインすることによって、あるいは専用アプリケーションをインストールして実行することによって、対話することができる。通信装置１２２のユーザは、コンテンツを閲覧する、メッセージを掲示する、送る、および他のユーザから受け取ったメッセージを取り出す、ソートするなどの動作を行うために、アプリケーション、たとえばウェブ・ブラウザまたはネイティブ・アプリケーション（ｎａｔｉｖｅ  ａｐｐｌｉｃａｔｉｏｎ）などを通じて、ソーシャル・ネットワーキング・システム１００と対話する。通信装置１２２は、呼、テキストおよび他のメッセージング・データを記憶することが可能な１つまたは複数のメモリを有する。
【０００９】
メッセージは、任意の電子メッセージ・フォーマット、たとえば電子メール（ｅ−ｍａｉｌ）メッセージ、インスタント・メッセージ（ＩＭ：ｉｎｓｔａｎｔ  ｍｅｓｓａｇｅ）、チャット・メッセージ、アクティビティ・ストリームまたはニュースフィード・オブジェクト（ｎｅｗｓ  ｆｅｅｄ  ｏｂｊｅｃｔ）およびショート・メッセージ・サービス（ＳＭＳ：ｓｈｏｒｔ  ｍｅｓｓａｇｅ  ｓｅｒｖｉｃｅ）テキスト・メッセージなどであってよい。メッセージは、単純なテキストを含むことができる、または画像、ビデオなどの他のコンテンツおよび添付ファイルを含むことができる。いくつかの実装形態では、各ユーザは、受信箱を有し、それは、ユーザが送受信する両方のメッセージを含む。また
、通信装置１２２は、ソーシャル・ネットワーキング・システム１００中の様々なユーザ・ノードおよびハブに関するプロフィール情報をプル（ｐｕｌｌ：引き出して）して閲覧するために、アプリケーションまたはブラウザを使用することができる。通信装置１２２は、上記で述べたように、メッセージを受け取り（プッシュ（ｐｕｓｈ）およびプル方法またはこれらのいずれかによって）、かつユーザに表示するために、それらを処理するように動作可能な１つまたは複数のアプリケーションを提供することができる。
【００１０】
メッセージは、通常、送信者識別子、宛先識別子および／または装置アドレス、件名、送信時刻、受信時刻の１つまたは複数、およびメッセージ・コンテンツ（テキストおよび／またはマルチメディアなど）を含む。メッセージは、本明細書で述べたように、メッセージング・サービスを通じて、またはソーシャル・ネットワーキング・システム１００などのアプリケーション・サービスを通じて、ユーザの間で直接送ることができる。たとえば、ユーザは、ソーシャル・ネットワーキング・システム１００にアクセスして、メッセージを作成し送ることができる。あるいは、ユーザは、無線通信サービスを通じてユーザに、より直接的にＳＭＳを送ることができる。また他の実装形態では、ユーザは、ソーシャル・ネットワーキング・システム１００に対してステータス更新を掲示するか、またはコンテンツをアップロードすることができ、ニュースフィード・オブジェクトが１または複数の他のユーザに送信される。
【００１１】
図２は、説明する目的で、通信装置１２２の一例を示す。図２に示される通信装置１２２は、メッセージインジケータ２０２を含む携帯用スマートフォンである。一実装形態では、メッセージインジケータ２０２は、発光ダイオード（ＬＥＤ）を含み、いくつかの実装形態では、ＬＥＤを包み込むか、または保護する透明な、または半透明な部材またはハウジングを含む。メッセージインジケータ２０２は、いくつかの実装形態では、通信装置のハウジング上に取り付けられる物理的なボタンの一部とすることができる。本発明の実装形態によれば、通信装置１２２は、通信装置と関連するメッセージ・アクティビティをモニタリングし、そして以下でより詳細に述べるように、そのメッセージ・アクティビティに基づき、１つまたは複数の動作パラメータを調整するメッセージング・モニタリング・アプリケーションを提供する。メッセージング・モニタリング・アプリケーションは、通信装置（たとえば電子メール・クライアント、ＳＭＳクライアント、ＩＭクライアント、ＲＳＳまたはニュースフィード・クライアントなど）上で提供される複数の異なるアプリケーションによって実行されるメッセージをモニタリングする、独立した、または別個のプロセスとして、実装されることができる。他の実装形態では、メッセージング・モニタリング・アプリケーションは、統合して、電子メール・クライアントまたはネイティブ・ソーシャル・ネットワーク・アプリケーションなど、単一のアプリケーションのみに接続して動作することができ、そのモニタリング・アプリケーション自体は、様々なメッセージ・タイプを扱うことができる。そのように、メッセージング・モニタリング・アプリケーションは、本明細書に述べるように、様々な異なるタイプの着信メッセージについてリスナとして登録されて、それらメッセージを処理することができる。
【００１２】
図５Ａおよび図５Ｂは、メッセージング・アクティビティ・モニタリング・アプリケーションによって実装することができる実施例のプロセスを例示する。いくつかの実装形態では、メッセージ・アクティビティ・モニタリング・アプリケーションは、不活動の期間の後で、たとえば通信装置１２２がアイドル状態に入り、ディスプレイ画面電力を低下させたときなどに起動される。メッセージングインジケータは、ユーザが装置にアクセスし、かつディスプレイ電力を上昇させることが必要でなく、携帯型装置によってモニタリングされるメッセージング・アクティビティの意味をユーザに示すように動作することができる。ユーザが装置にアクセスした、または作動させたとき、メッセージングインジケータは、別の動作モードに入ることができる。他の実装形態では、メッセージ・アクティビティ・モニタリング・アプリケーションは、バックグラウンドプロセスとして常に動作し
ている。他の実装形態では、メッセージング・アクティビティ・モニタリング・アプリケーションは、明示的なユーザ・コマンドに応答して起動することができる。
【００１３】
一実装形態では、メッセージ・アクティビティ・モニタリング・アプリケーションは、受け取ったメッセージのメッセージング・アクティビティ・キューを保持し、そしてメッセージング・アクティビティ・キューのコンテンツに基づき、メッセージインジケータの１つまたは複数の動作パラメータを調節する。一実装形態では、メッセージング・アクティビティ・キューは、循環バッファまたはリングとして実装することができ、そこでは最も古いオブジェクトが、新しいオブジェクトを受け取ったことに応答して、上書きされる。通信装置１２２上で提供される１つまたは複数のアプリケーションは、１つまたは複数のリモートシステムに対して新しいメッセージを求める要求を送ることによって、プッシュ通知メッセージおよび／またはプル・ベースのメッセージを扱うように動作可能とすることができる。いくつかの実装形態では、メッセージ・アクティビティ・モニタリング・アプリケーションは、通信装置１２２の１つまたは複数の通信プロトコル・スタックの様々な層で挿入される１つまたは複数のエージェントと関連して、動作することができる。エージェントは、１つから複数の異なるアプリケーション（たとえば電子メール、ＩＭ、チャット、ＳＭＳ、音声メールなど）に対応するメッセージを求めてモニタリングし、そのメッセージについての指標をメッセージ・アクティビティ・モニタリング・アプリケーションに送るように動作可能とすることができる。図５Ｂに例示するように、メッセージは、動作パラメータ（すなわち、メッセージ通知インジケータの状態）が現在のメッセージング・アクティビティを反映するように、期間閾値（たとえば５分、１０分または任意の他の設定可能な期間）の後、キューから排除することができる。たとえば、高い値のハイ・メッセージング・アクティビティ期間中、メッセージインジケータの状態は、急激な鼓動を提示するように調整されることができ、一方適度なメッセージング・アクティビティの期間中、メッセージインジケータの状態は、比較的穏やかな鼓動を提示することができる。いくつかの実装形態では、メッセージインジケータボタン２０２を作動させると、ユーザに関する親和性（アフィニティ“ａｆｆｉｎｉｔｙ”）または通知（ｎｏｔｉｆｉｃａｔｉｏｎ）の値が最も高いメッセージングと関連するクライアント・アプリケーションが起動する。他の実装形態では、メッセージインジケータボタン２０２の色彩も、鼓動アクティビティに加えて、またはそれに代え、緊急性の異なるレベルおよび／またはメッセージ数を表示するように調整されることができる。
【００１４】
図５Ａに示すように、メッセージ・アクティビティ・モニタリング・アプリケーションは、メッセージの指標を受け取ったこと（５０２）に応答し、受け取ったメッセージをメッセージング・アクティビティ・キューに置くか否かを決定する（５０４）ために、決定ロジックをメッセージに適用することができる。たとえば、メッセージ・アクティビティ・モニタリング・アプリケーションは、メッセージをメッセージング・アクティビティ・キューに加えるべきか否かを決定するために、１つまたは複数のルール・ベースのフィルタを適用することができ、よって通信装置１２２のメッセージインジケータ２０２の動作に潜在的に影響を及ぼすことができる。フィルタは、デフォルトのセットとしてアプリケーション開発者によって構成されるか、またはエンド・ユーザによって構成されることができるか、および／またはユーザが最も気にかけるメッセージのタイプを学習する学習アルゴリズムに基づき生成されることができる。フィルタのルールは、様々な異なる属性に基づかせることができる。たとえば、チャネルまたはメッセージ・タイプ（電子メール、ＳＭＳ、チャット／ＩＭ、ニュースフィード・オブジェクト、プッシュ通知または警報など）、メッセージの送信元または送信者、メッセージの件名（たとえば、そのメッセージが対象ユーザに関与するか、または関連するか否か、ユーザがその対象の事柄に対してアフィニティを宣言しているか否か、など）、メッセージと関連するメタデータ（たとえばソーシャル・ネットワーキング・システム１００によって送る前に加えられる）、メッセージに付け加えられた、または受け取り時に計算されるメッセージ通知またはアフィニテ
ィの値などに基づかせることができる。たとえば、メッセージのフィルタは、すべてのニュースフィード・オブジェクトを総じて排除するか、または所定のグループ内のユーザと関連していないニュースフィード・オブジェクトを排除することができる。メッセージがフィルタリング動作を通過した場合、メッセージ・アクティビティ・モニタリング・アプリケーションは、そのメッセージをメッセージング・アクティビティ・キューに加える（５０６）。明確にするために、受け取ったメッセージは、それがメッセージング・アクティビティ・キューに加えられたか否かにかかわらず、通信装置１２２で提供される１つまたは複数のクライアント・アプリケーションによって処理される。たとえば、メッセージが、プッシュまたはプルプロセス中で配信された電子メール・メッセージまたはニュースフィード・オブジェクトである場合、電子メール・クライアントまたはニュースフィードのアプリケーションも、適用できる場合、受け取ったメッセージを処理することになる。メッセージ・アクティビティ・モニタリング・アプリケーションは、キュー中に含まれるメッセージに基づき、１つまたは複数のメッセージング・アクティビティ値またはメトリックスを計算して（５０８）、メッセージインジケータの１つまたは複数の通知動作パラメータを調節する（５１０）ために、メッセージング・アクティビティ・キューにアクセスすることができる。つまり、いくつかの実装形態では、メッセージングング・アクティビティ・キュー中の１つから複数のメッセージは、動作パラメータに、すなわちメッセージインジケータ２０２の観察可能な振る舞いに影響を及ぼすことができる。通知動作パラメータは、メッセージインジケータの強度、周期（または振動数）、色彩およびデューティ・サイクルを含むことができる。いくつかの実装形態では、メッセージインジケータは、可変周波数および固定デューティ・サイクル、固定周波数および可変デューティ・サイクル、あるいは可変周波数および可変デューティ・サイクルによって動作することができる。通知動作パラメータは、様々な異なる視覚の表示および振る舞いを達成するように構成し調整されることができる。たとえば、メッセージインジケータの動作パラメータおよび調整スキームは、鼓動に似るように構成されることができ、そこでは、視認され得る鼓動の周波数および強度がメッセージング・アクティビティの１つまたは複数の状況を反映する。色彩も、異なるタイプの通知またはメッセージを表示する（たとえば、メッセージには青色、不在着信には赤色）か、あるいは緊急性の変化するレベルを合図する（たとえば、プライオリティが低い場合、緑色、およびプライオリティが高い場合、赤色）ように調整されることができる。いくつかの実装形態では、メッセージインジケータボタン２０２は、メッセージキュー中のメッセージのタイプを表示するために、繰り返しサイクルに亘って異なる色彩の間で切り替えることができる。
【００１５】
図５Ｂは、メッセージング・アクティビティ・キューからメッセージを排除するプロセスを例示する。図５Ｂに示すように、メッセージ・アクティビティ・モニタリング・アプリケーションは、周期的なベースでメッセージング・アクティビティ・キューにアクセスして（５５２）、古いメッセージを排除する（５５４）。各メッセージは、時間情報（送信または受信の時刻など）を含むことができる。他の実装形態では、メッセージ・アクティビティ・モニタリング・アプリケーションは、メッセージがメッセージング・アクティビティ・キューに加えられたとき、メッセージにタイム・スタンプを加えることができる。いくつかの実装形態では、メッセージ・アクティビティ・モニタリング・アプリケーションは、期間閾値より古いメッセージを排除することができる。いくつかの実装形態では、期間閾値は、すべてメッセージについて同一である。他の実装形態では、排除時期は、メッセージの１つまたは複数の属性、たとえばメッセージ・タイプ、送信元、件名などによって決定されることができる。いくつかの実装形態では、メッセージ自体は、メッセージ・アクティビティ・モニタリング・アプリケーションが使用するためにメッセージに添付される排除時期を含むことができる。ソーシャル・ネットワーキング・システム１００（または、任意の他の送信者）は、通信装置１２２に送られるメッセージについて排除時期を設定するか、または付け加えることができる。また、メッセージ・アクティビティ・モニタリング・アプリケーションは、図５Ａに示す例と同様に、キュー中に含まれるメッ
セージに基づき、１つまたは複数の累積されたメッセージング・アクティビティ値またはメトリックスを計算して（５０８）、メッセージインジケータの１つまたは複数の通知動作パラメータを調節する（５１０）ために、メッセージング・アクティビティ・キューにアクセスすることができる。古くなったメッセージを排除することによって、メッセージインジケータ２０２の動作状態が、現在のメッセージング・アクティビティを反映する。メッセージが失効するまでの時間の長さは、工学技術、設計およびユーザの経験の考慮事項に応じて変わることができる。この時間の長さはユーザ設定することもできる。
【００１６】
いくつかの実装形態では、メッセージング・アクティビティ・キューは、異なる個別の通知動作パラメータを個々に調整するコンポーネントのメッセージング・アクティビティ値を計算するために、異なる軸を横切って評価することができる。他の実装形態では、各通知動作パラメータは、２以上のコンポーネントのメッセージング・アクティビティ値を考慮する関数に基づかせることができる。たとえば、メッセージ・アクティビティ・モニタリング・アプリケーションは、コンポーネントのメッセージング・アクティビティ値を決定するとき、次のファクタの１つ以上を考慮することができる。すなわち、１）メッセージング・アクティビティ・キュー中のメッセージ数；２）メッセージ・アクティビティ・キュー中のメッセージの時間間隔；３）メッセージの送信元または送信者；４）メッセージの個別の件名；５）メッセージの個別のコンテンツ；６）メッセージのコンテクスト（たとえば、それが、対象ユーザによって送られた前のメッセージに対する返答であるか否か）；７）メッセージまたはチャネルのタイプ；８）メッセージの送信元と対象ユーザとの間の社会的コネクション（ソーシャル・グラフ中の分離の程度および送信元と対象ユーザとの間の識別された親和性（アフィニティ）を含む）；９）送信元と対象ユーザの間の新しさまたは通信頻度の程度；８）メッセージに付け加えられた通知またはアフィニティの値である。通知またはアフィニティの値は、通信装置１２２から遠隔で（たとえばソーシャル・ネットワーキング・システムにおいて）、および／または通信装置でローカルに計算することができる。各個のメッセージについての通知またはアフィニティの値の計算について、以下に述べる。通知動作パラメータは、計算された通知コンポーネントの値に応じて１つまたは複数の関数に基づかせることができる。たとえば、通知コンポーネントの値は、メッセージインジケータ２０２の強度、周期および／またはデューティ・サイクルに関する動作パラメータの範囲中で所定の値にマッピングされることができる。
【００１７】
様々な実装形態が可能である。たとえば、通知インジケータの強度および／またはデューティ・サイクルは、最近受け取ったメッセージの送信元が、対象ユーザのアフィニティの程度が高い社会的コンタクト（たとえば、宣言した関係（たとえばガールフレンド、ボーイフレンドなど）、または通過したメッセージ・アクティビティに基づき、アフィニティの程度が高いことを示す）であることを合図することができる。たとえば、メッセージインジケータの強度は、ベースラインまたはデフォルト・レベルから最大強度値まで、メッセージのソースと対象ユーザとの間のアフィニティ評価値に基づき変わることができる。いくつかの実装形態では、強度値は、その送信元が最も高いアフィニティ値と関連付けられる単一のメッセージに基づく。他の実装形態では、強度値は、複数のメッセージの累積された評価に基づかせることができる。メッセージインジケータが点滅することができる周波数または周期は、メッセージ・アクティビティ・キュー中のメッセージ数を全体的に、またはメッセージ（または、１つまたは複数の基準、たとえば、同一の送信者、トピックスなどを満たすメッセージのサブセット）の時間の隔たりを合図することができる。いくつかの実装形態では、動作パラメータを調節する関数は、メッセージインジケータの動作が鼓動に似るように構成することができ、そこでは、ライト強度が、メッセージに関して合計したアフィニティを反映し、そして周波数が、メッセージング・アクティビティの観測された量または程度を反映する。いくつかの実装形態では、１つまたは複数のメッセージの緊急性は、時間および／または場所に対する感度に基づかせることができる。たとえばユーザが所与の場所から移動した後（および／または所定の期間が経過した後）失
効するか、または無意味になる恐れがあるユーザにプッシュされたメッセージは、緊急メッセージとして処理されてもよい。場所および時間に対する感度は、他のプロセス（送信または返信のプロセスなど）によって設定されたフラグまたはビットの解析に基づかせることができるか、あるいは携帯型装置における意味解析に基づかせることができる。
【００１８】
次の記述は、本発明の実装形態が動作することができる動作環境を例示し、対象ユーザとメッセージとの間のメッセージ通知値およびアフィニティをどのようにして決定することができるのかを述べる。具体的な実施形態では、ソーシャル・ネットワーキング・システムは、ユーザ・プロフィール・データベース１０１中にユーザ・プロフィール・データおよびソーシャル・グラフ情報を記憶することができる。ソーシャル・ネットワーキング・システム１００はいくつかの構成要素を含んでおり、その構成要素はソーシャル・ネットワーキング環境において表されるそのユーザおよびオブジェクトについての情報、およびユーザとオブジェクトとの間の関係を記憶するために使用される。また、ソーシャル・ネットワーキング・システム１００は、１つまたは複数のメッセージング・アプリケーション、たとえばインスタント・メッセージング・システム、チャット・システム、ＶｏＩＰシステム、ビデオ・チャット・システム、電子メール・システム、プッシュ通知システムなどに対応することができる。
【００１９】
さらに、ソーシャル・ネットワーキング・システム１００は、本明細書に述べるように、システムのユーザ装置に対していくつかの動作をできるようにするために構成要素を含む。具体的な実施形態では、ソーシャル・ネットワーキング・システムは、イベント・データベース１０２にユーザ・イベント・データおよび予定表データを記憶することができる。具体的な実施形態では、ソーシャル・ネットワーキング・システムは、プライバシ・ポリシ・データベース１０３中にユーザ・プライバシ・ポリシ・データを記憶することができる。具体的な実施形態では、ソーシャル・ネットワーキング・システムは、場所データベース１０４中に地理および場所のデータを記憶することができる。具体的な実施形態では、ソーシャル・ネットワーキング・システムは、メディア・データベース１０５中にメディア・データ（たとえば写真またはビデオ・クリップ）を記憶することができる。具体的な実施形態では、データベース１０１、１０２、１０３、１０４および１０５は、ソーシャル・ネットワーキング・システムのフロント・エンド１２０に動作可能に接続することができる。具体的な実施形態では、フロント・エンド１２０は、ネットワーク・クラウド１２１を通じて通信装置１２２と対話することができる。通信装置１２２は、一般に、コンピュータ・ネットワークを通じて通信する（たとえば、遠隔に）ための機能を含むコンピュータまたは計算装置である。通信装置１２２は、他の適切な計算装置の中でも特に、デスクトップ・コンピュータ、ラップトップ・コンピュータ、携帯端末（ＰＤＡ：ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔ）、自動車搭載または非搭載型ナビゲーション・システム、スマートフォンまたは他のセル方式携帯電話または携帯電話、あるいは携帯用ゲーム装置であってもよい。通信装置１２２は、コンピュータ・ネットワークを通じてコンテンツにアクセスして、それを閲覧するために、１つまたは複数のクライアント・アプリケーション、たとえばウェブ・ブラウザ（たとえばＭｉｃｒｏｓｏｆｔ
Ｗｉｎｄｏｗｓ（登録商標）  Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ、Ｍｏｚｉｌｌａ
Ｆｉｒｅｆｏｘ、Ａｐｐｌｅ  Ｓａｆａｒｉ、Ｇｏｏｇｌｅ  ＣｈｒｏｍｅおよびＯｐｅｒａなど）などを実行することができる。フロント・エンド１２０は、ユーザがソーシャル・ネットワーキング・システムにアクセスすることを可能にするために、ウェブまたはＨＴＴＰのサーバ機能、さらにまた他の機能を含むことができる。ネットワーク・クラウド１２１は、一般に、ネットワークまたはネットワークの集合（インターネットまたは企業イントラネットまたはその両方の組み合わせなど）を表し、それを通じて、クライアント装置１２２は、ソーシャル・ネットワーク・システムにアクセスすることができる。
【００２０】
具体的な実施形態では、ソーシャル・ネットワーキング・システムのユーザは、１つま
たは複数のメディア・ファイルをメディア・データベース１０５にアップロードすることができる。たとえば、ユーザは、写真または写真のセット（写真アルバムと呼ばれることがある）、またはビデオ・クリップを、通信装置１２２（たとえば、コンピュータまたはカメラ付き携帯電話）からメディア・データベース１０５にアップロードすることができる。具体的な実施形態では、１つまたは複数のメディア・ファイルは、各メディア・ファイルと関連付けられたメタデータ（「タグ（ｔａｇ）」と呼ばれることがある）を含むことができる。たとえば、デジタル・カメラによって撮影された写真は、ファイル・サイズ、解像度、タイム・スタンプ、カメラ製造業者名および／または場所（たとえばＧＰＳ）座標に関するメタデータを含むことができる。ユーザは、アップロードプロセスの間、追加のメタデータ値を写真に加えるか、または写真にタグを付けることができる。メディア・ファイルのタグのいくつかの実施例は、作成者、タイトル、コメント、イベント名、時間、場所、メディア・ファイル中に現れる人たちの名前あるいはユーザのコメントである。具体的な実施形態では、ユーザは、クライアント・アプリケーション（たとえば写真またはビデオのエディタ）を使用することによって、またはメディア・アップローディング・ツールのグラフィカル・ユーザ・インタフェース中に１つまたは複数のタグを入れることによって、メディア・ファイルにタグを付けることができ、そのメディア・アップローディング・ツールは、ユーザの１つまたは複数のメディア・ファイルを、通信装置１２２からソーシャル・ネットワーキング・システムにアップロードする。また、ユーザは、アップロードした後でソーシャル・ネットワーキング・システムのウェブサイト中において後に、メディア・ファイルにタグを付けることができる。具体的な実施形態では、ソーシャル・ネットワーキング・システムは、メディア・ファイルからメタデータを抽出し、そしてそのメタデータをメディア・データベース１０５中に記憶することもできる。
【００２１】
具体的な実施形態では、場所データベース１０４は、チェックインに関連するユーザの実際の地理的な場所を識別する地理場所データを記憶することができる。たとえば、インターネットに接続されたコンピュータの地理的な場所は、コンピュータのＩＰアドレスによって識別することができる。たとえば、Ｗｉ−ＦｉおよびＧＰＳ能力を備える携帯電話の地理的な場所は、携帯電話の基地局の三角測量、Ｗｉ−Ｆｉ測位および／またはＧＰＳ測位によって識別されることができる。具体的な実施形態では、場所データベース１０４は、住所の情報ベースを記憶することができ、各住所は、名前、地理的な場所およびメタ情報を含む。たとえば、住所は、地域の企業、興味を有する点（たとえば、カリフォルニア州サンフランシスコのユニオンスクエア）、大学、市または国立公園とすることができる。たとえば、住所の地理的な場所（たとえば、地域のコーヒーショップ）は、所番地、地理的な座標（緯度および経度）のセットまたは他の住所への参照（たとえば「鉄道の駅の隣のコーヒーショップ」）とすることができる。たとえば、広い領域を有する住所の地理的な場所（たとえばヨセミテ国立公園（Ｙｏｓｅｍｉｔｅ  Ｎａｔｉｏｎａｌ  Ｐａｒｋ））は、住所の境界を近似する形状（たとえば、円形または多角形）、および／またはその形状の図心（すなわち、幾何学的な中心）とすることができる。たとえば、住所のメタ情報は、最初に住所を作成したユーザを識別する情報、レビュー、評価、コメント、チェックイン・アクティビティ・データなどを含むことができる。住所は、システムの管理者によって作成されるか、および／またはシステムのユーザによって作成されることができる。たとえば、ユーザは、住所名を定め、地理的な場所を提供し、そして新しく作成した住所を場所データベース１０４に登録するために、クライアント・アプリケーションにアクセスすることによって新しい住所を登録することができる。その作成をするユーザまたは他のユーザは、そのページを対象とするウェブ・ページにアクセスし、そして住所に関する追加の情報、たとえばレビュー、コメントおよび評価を追加することができる。具体的な実施形態では、場所データベース１０４は、ユーザの場所データを記憶することができる。たとえば、場所データベース１０４は、ユーザのチェックイン・アクティビティを記憶することができる。たとえば、ユーザが住所（たとえば、新しいレストランまたはコーヒーショップ）を作成することによって、ソーシャル・ネットワーキング・システム
はユーザが作成した住所を場所データベース１０４中に記憶する。たとえば、ユーザは、住所のコメント、レビューまたは評価を作成することができ、ソーシャル・ネットワーキング・システムに住所に関するユーザのコメント、レビューおよび評価を場所データベース１０４に記憶させる。
【００２２】
具体的な実施形態では、ニュースフィード・エンジン１１０は、ソーシャル・ネットワーキング・システムのユーザまたはユーザのセットに関するデータを求めてユーザ・プロフィール・データベース１０１、イベント・データベース１０２、場所データベース１０４およびメディア・データベース１０５にアクセスし、そして特定のユーザに関するニュース・アイテムとして１つまたは複数のアクティビティのリストを作ることができる。具体的な実施形態では、ニュースフィード・エンジン１１０は、プライバシ・ポリシ・データベース１０３にアクセスし、そして１つまたは複数のプライバシ設定に基づき、ニュース・アイテムのサブセットを決定することができる。具体的な実施形態では、ニュースフィード・エンジン１１０は、評価した、またはソートした順序で限定された数のニュース・アイテムの動的なリストを編集することができる。具体的な実施形態では、ニュースフィード・エンジン１１０は、ニュース・アイテム中の１つまたは複数のアクティビティに関するリンクを提供することができ、リンクは、そのアクティビティに参加する機会をもたらす。たとえば、ニュースフィードは、ウォール・ポスト、ステータス更新、コメントおよび住所への最近のチェックイン（住所のウェブ・ページへのリンクを用いて）を含むことができる。他の実施形態では、ニュースフィード・エンジン１１０は、ユーザ・プロフィール・データベース１０１、イベント・データベース１０２、場所データベース１０４およびメディア・データベース１０５にアクセスし、そしてソーシャル・ネットワーキング・システムのユーザから受け取った関連するアクションのグループについて限定された数のニュース・アイテム（すなわち、ニュースフィード）の動的なリストを編集することができる。たとえば、ニュースフィードは、ユーザがソーシャル・ネットワーキング・システムを通じて（イベントに参加するためのリンクを用いて）予定を立てて計画することができるイベント、ユーザおよびイベントの他の参加者によるイベントの具体的な地理的な場所におけるチェックイン、ユーザおよびイベントの他の参加者によって掲示されたイベントに関するメッセージ、およびユーザおよびイベントの他の参加者によってアップロードされたイベントの写真を含むことができる。
【００２３】
具体的な実施形態では、ユーザ・プロフィール・データベース１０１は、ユーザの通信チャネル情報およびアドレス帳を記憶することができる。アドレス帳は、一実装形態では、ユーザが友達またはコンタクトとして関係を確立しているソーシャル・ネットワーキング・システムのユーザの上位セットまたはサブセットとすることができる。通信装置１２２のユーザは、連絡先を閲覧するために、専用または汎用のクライアント・アプリケーションを使用して、このアドレス帳情報にアクセスすることができる。具体的な実施形態では、アドレス帳は、１または複数のコンタクト（たとえば、人または企業エンティティ）、各コンタクトに関する名前（たとえば、名および／または姓）および通信チャネル情報（たとえば電話番号、ＩＭサービスのためのユーザＩＤ、電子メール・アドレス、ソーシャル・ネットワーキング・システムのためのユーザＩＤ、自宅住所など）を含むことができる。アドレス帳情報の少なくとも一部分に対して、コンタクトエントリは動的なものであってもよく、その動的なコンタクトエントリはユーザ自身のアカウントおよび連絡先と対応するユーザ・プロフィールを維持しているソーシャル・ネットワーキング・システムのユーザと関連付けられている。したがって、第１のユーザが連絡先の任意の状況を変更したとき、改訂された連絡先は、要求するユーザに提供されることができる。具体的な実施形態では、ユーザは、アドレス帳にアクセスし、調べて、そして通信チャネルを通じてコンタクトに連絡することができる。いくつかの実装形態では、通信装置１２２は、アドレス帳のコピーをローカルに維持することができ、それは、様々なときに再読み込みするか、または同期させることができる。
【００２４】
メッセージ・アフィニティの評価
一実施形態では、ソーシャル・ネットワーキング環境下で動作するプロセスには、アフィニティ関数を実装するモジュールからの特定のユーザに関するアフィニティの度合が必要である。そのモジュールは、一実装形態では、予測関数の重み付けられたセットを結合する（たとえば、加算する）ことによって、必要なアフィニティの度合を計算し、各予測関数が、ユーザが異なるアクションを行うか否かを予測する。重みは、アフィニティの度合を要求するプロセスによって提供することができ、それによって要求するプロセスが予測関数に異なるように重み付けることが可能になる。この意味で、アフィニティ関数は、要求するプロセスによってそれ自体の目的にために調節可能である。一実装形態では、アフィニティは、対象とする受信者へのメッセージの通知値を計算する目的で、計算されることができる。
【００２５】
予測関数は、ユーザが特定のアクションを行うか否かを、そのアクションに対するユーザの興味に基づき予測することができる。たとえば、予測関数は、ユーザの過去のアクティビティ（たとえば上記で述べたソーシャル・ネットワーキング・システムの機能を利用して行う他のユーザとの情報のやり取りなど）に基づき、導き出すことができる。さらに、予測関数は、ユーザの過去のアクティビティによってもたらされる信号の強さを時間とともに減衰させる減衰係数を含むことができる。予測関数は、任意の数のアクションを予測することができ、それは、ソーシャル・ネットワーキング・システムの内または外のアクションであってもよい。たとえば、これらのアクションは、メッセージ、コンテンツの掲示およびコンテンツに対するコメントなど、様々なタイプのユーザの通信；他のコネクションのプロフィールを閲覧すること、および他のコネクションによって掲示された写真およびコンテンツを閲覧することなど、様々なタイプのユーザの観察アクション；および同一の写真中にタグを付けられている、同一の場所にチェックインしている、同一のイベントに出席しているなど、２以上のユーザに関する様々なタイプの一致情報を含むことができる。予測関数は、様々なオプションおよび測定応答にユーザを晒すことによってユーザから集めた過去のアクティビティおよびこれまでのユーザの応答またはデータに基づき学習させる機械学習アルゴリズムを使用して、決定することができる。
【００２６】
ユーザが所与の状況下で行う可能性がある、起こり得るアクションを予測するためには、ソーシャル・ネットワーキング・システム１００上またはその外部の任意のプロセスは、重みのセットを提供することによって所定のユーザに関するアフィニティの度合を要求することができる。アフィニティの度合は、ソーシャル・ネットワーキング・システム中の他のユーザ、コンテンツ、アクション、広告または任意の他のオブジェクトに対するユーザの興味を反映することができる。重みは、バイナリ、またはより一般的には、任意の実数とすることができる。一実装形態では、ソーシャル・ネットワーキング・システム１００によって送信されるか、または中継される対象ユーザの通信装置１２２に向けたメッセージは、たとえば、対象ユーザとそのメッセージとの間のアフィニティを計算するために処理されることができる。アフィニティ値は、通信装置１２２に送信される前に、メッセージに付け加えられてもよい。他の実装形態では、通信装置１２２において提供されるプロセスは、アフィニティの度合を要求するために、アフィニティ・モジュールにアクセスすることができる。いくつかの実装形態では、通信装置１２２は、通信装置１２２の対象ユーザと、対象ユーザのコンタクトデータベース（通信装置１２２にローカルに、またはソーシャル・ネットワーキング・システム１００上で遠隔に記憶される）において識別される１または複数の他のユーザとの間のアフィニティを要求することができる。改訂されたアフィニティ値は、その後の同期プロセスの間に得られる。通信装置１２２は、個別のユーザからのメッセージに関するこれらのアフィニティ値を使用することができる。他の実装形態では、通信装置１２２は、ローカルに対話をモニタリングし、ローカルにアフィニティ値を計算することができる。
【００２７】
図６は、ソーシャル・ネットワーキング・システム中のユーザに関するアフィニティの度合を計算するための関数のブロック図である。ユーザが、任意の所与の状況下において行うことを望む可能性があるアクションであって、起こり得るアクションのセットを示すアフィニティの度合６１５を計算するためには、重み１０５が予測関数６１０に適用され、次いでアフィニティの度合６１５を得るために結合される。図１に３つの予測関数６１０が示されているが、本発明の他の実施形態では、任意の数の予測関数を用いることができる。さらに、図６の実施形態では、重み付けられた予測関数６１０は、線形で結合される。異なる実施形態では、調和平均、平均平方および幾何平均を含む、他の形態の結合を使用することができる。さらに、重み６０５が変化している複数のアフィニティの度合６１５は、ユーザのアクションを予測する前に計算されてもよい。
【００２８】
アフィニティ関数の重み６０５のため、ソーシャル・ネットワーキング・システム環境中の様々なプロセスによってその関数を異なる目的に使用できるようになる。たとえば、閲覧者である友達からのソーシャル推薦を広告に与えるプロセスでは、広告アルゴリズムは、ユーザのコネクションのうちのどのコネクションがソーシャル推薦を言及しているのか、またはアクションのうちのどのタイプのアクションがその推薦で言及されているのかを決定するために、アフィニティの度合６１５の関数を使用することができる。そのとき、アフィニティの度合６１５は、ユーザが、他のユーザによって掲示されたコンテンツを閲覧することにどの程度興味を持っているのかを示すそれら予測関数６１０に、さらにまた、ユーザが、ソーシャル推薦で言及される可能性がある様々なアクションにどの程度興味を持っているのかを示す１つまたは複数の予測関数６１０に、基づかせることができる。よって、広告アルゴリズムは、アフィニティのその結果得られる度合が、どのソーシャル推薦が閲覧ユーザに対してより関心を引くものになるのかをより正確に決定するように、比較的重い重みをこれらの予測関数６１０に与えることになる。そのとき、広告アルゴリズムは、アフィニティのその結果得られる度合を使用して、ソーシャル推薦を選択することになり、それによって広告の変更の尤度を増加させる。
【００２９】
第２の実施例として、ユーザの間の通信を中継するメッセージング・アプリケーションのためのプロセスでは、ソーシャル・アルゴリズムは、ユーザが、特定の発信ユーザによって送られたメッセージにどのレベルの興味を持つ可能性があるのかを決定するために、アフィニティの度合６１５の関数を使用することができる。この目的のためのアフィニティの度合６１５は、ユーザが、ユーザのコネクションによって掲示されたコンテンツを閲覧することにどの程度興味があるのか、および／またはユーザが、全体的に互いにメッセージをどの程度頻繁に送り合っているのかを示す予測関数６１０に、さらにまた、ユーザが、異なるタイプのメッセージを掲示するか、またはそれにアクセスすることにどの程度興味があるのかを示す１つまたは複数の予測関数６１０に、基づかせることができる。よって、ソーシャル・アルゴリズムは、アフィニティのその結果得られる度合によって、どのメッセージが閲覧ユーザに対してより興味を引くものになるのかを正確に決定するように、これらの予測関数６１０に比較的重く重みを付けることになる。重み付けられた予測関数６１０によってそのようにできるようになる、アフィニティ関数が高度に調節可能であるという性質のため、アフィニティ関数は、いくつかの異なる目的のために使用されてもよい。
【００３０】
図７は、一実施形態による、ソーシャル・ネットワーキング・システムの環境のハイ・レベルのブロック図である。図７は、ソーシャル・ネットワーキング・システム１００、ユーザ装置２０２およびネットワーク７０８によって接続される外部サーバ７０４を例示する。ソーシャル・グラフ７１８は、各ユーザが有するコネクションであって、ソーシャル・ネットワーキング・システム１００の他のユーザとのコネクションを記憶する。また、ソーシャル・グラフ７１８は、いくつかの実施形態では、二次コネクションを記憶する
ことができる。よって、そのコネクションは、直接的、または間接的であってよい。たとえば、ユーザＡがユーザＢの一次コネクションであるが、しかしユーザＣの一次コネクションではなく、そしてユーザＢは、ユーザＣの一次コネクションである場合、ユーザＣは、ソーシャル・グラフ７１８上でユーザＡの二次コネクションになる。
【００３１】
アクション・ストア２４０は、ソーシャル・ネットワーキング・システム１００のユーザによって行われたアクションを、これらのアクションと関連付けられる時刻の表示およびアクションと関連付けられる任意のオブジェクトへの参照とともに記憶する。さらに、アクション・ストア７４０は、規定したカテゴリのアクションに関する統計データを記憶することができる。たとえば、所与のユーザについて、アクション・ストア７４０は、ユーザによる３０日間のウォール・ポスト数、ユーザが送ったメッセージ、３０日間にユーザが掲示した写真数および３０日間にユーザのコメントを受け取った注目すべきユーザの数を含むことができる。２人のユーザ、たとえばユーザＡとユーザＢとの間の所与のコネクションについて、アクション・ストア７４０は、ユーザＡからユーザＢへのプロフィール・ページの閲覧数、ユーザＡからユーザＢへの写真ページの閲覧数、ユーザＡからユーザＢへのメッセージ数およびユーザＡとユーザＢが同一の写真にタグを付けられた回数などのアクションを含むことができ、これらのアクションは、タイム・スタンプと関連付けられることができるか、または切り取り（たとえば２４時間、９０日など）によってフィルタリングされることができる。アクション・ストア７４０に記録されたアクションは、集められたアクションであってよく、そのアクションは、ソーシャル・ネットワーキング・システム１００がアクションの選択をユーザに提案したことに応答して、ユーザが行うものである。
【００３２】
予測モジュール７２０は、予測関数６１０のセットを計算することに関与し、それら関数は、対応するアクションのセットをユーザが行うか否かを予測する。上記で述べたように、各予測関数６１０は、予測関数６１０と関連付けられる特定のアクションに対するユーザの興味を表すことができる。ユーザの過去のアクティビティは、同一のアクティビティに対してユーザが将来に持つ興味を示す信号として使用することができる。いくつかの実施形態では、予測関数６１０は、所定のアクションと関連付けられるユーザの過去のアクティビティを使用して学習させる機械学習アルゴリズムを使用して生成される。よって、予測モジュール７２０は、アクションのセットのそれぞれについて予測関数６１０を提供し、予測関数６１０は、入力としてユーザの過去のアクティビティを受け取り、次いで対応するアクティビティにユーザが係わることになる尤度の度合を出力することができる。
【００３３】
いくつかの実施形態では、予測関数６１０の１つまたは複数は、ユーザの過去のアクティビティからの信号の強さが時間とともに減衰する減衰係数を使用することができる。さらに、異なる予測関数６１０は、異なる速さで過去のアクティビティを減衰させることができる。たとえば、新しいコネクションを加えるようなユーザ・アクティビティのいくつかのタイプは、他のユーザのステータスに対してコメントするような、より一時的な興味を示すアクティビティの他のタイプよりさらに持続する興味を示す。したがって、予測関数６１０は、過去のアクティビティの作用を、そのアクティビティが時間の経過とともにより関連性が無くなる可能性がどれくらいであるのかに関する理解に基づき、減衰させることができる。この目的のために、様々な減衰メカニズムを使用することができる。たとえば、予測関数６１０は、ユーザの振る舞いに関する統計データを減衰させるために、指数関数的な減衰などの数学関数を使用することができる。別の実施形態では、減衰は、２４時間または３０日など、具体的な時間窓内で起きたユーザの振る舞いに関するそれらの統計データだけを選択することによって、実行することができる。
【００３４】
一実施形態では、予測関数６１０は、式（１）に示すような２つのアフィン関数の比と
して実現される。アフィン関数の分子および分母は、入力としてユーザの過去のアクティビティの統計データを受け取る。
【００３５】
【数１】
2014525715.tif 000003
式中、
Ｐは、予測関数６１０であり、
ａｉ（ｉ＝０、１、２、．．．、Ｎ）は、アフィン関数中の分子の係数であり、
ｂｉ（ｉ＝０、１、２、．．．、Ｍ）は、アフィン関数中の分母の係数であり、
ｘｉ（ｉ＝１、２、．．．、Ｎ＋Ｍ）は、予測関数Ｐに関連するユーザの過去のアクティビティに対する統計データである。
【００３６】
アフィン関数の分母は、アフィン関数の分子の正規化を表すことができる。たとえば、ユーザが作成したコメント数は、他の統計データの中でも特に、ユーザがソーシャル・ネットワーキング・システム１００上で活動した回数によって正規化されることができる。具体的には、ｂｉ（ｉ＝０、１、２、．．．、Ｍ）を変更することによって、正規化パターンを変化させることができる。いくつかの実施形態では、係数、すなわちａｉ（ｉ＝０、１、２、．．．、Ｎ）およびｂｉ（ｉ＝０、１、２、．．．、Ｍ）のいくつか、またはすべては、機械学習を通じて決定され、機械学習は、予測モジュール７２０によって実装されることができる。特定の実施形態では、管理された機械学習アルゴリズムは、統計的に有意な数のユーザのいくつかのオプションを提供して、ユーザの応答をモニタリングすることによって、収集を通じて得られた、学習させるためのデータとともに使用される。別の実施形態では、管理された機械学習アルゴリズムは、過去のユーザ・アクティビティおよびアクションの選択に対するこれまでの応答に完全に基づき学習させる。また、予測関数６１０は、非線形のものとすることができる。例の実施形態は、ファミリについて予測関数６１０を実装し、その予測関数６１０は、ファミリのメンバについて「含意（ｉｆ−ｔｈｅｎ）」の構図を含む。すなわち、予測関数６１０は、それが親または子について計算されているか否かに応じて異なるように計算される。
【００３７】
ソーシャル・ネットワーキング・システム１００中のいくつかの予測関数６１０は、ソーシャル・ネットワーキング・システム１００中のユーザの通信に関するアクションを予測することができる。特に通信に関する統計データは、ブロードキャストデータおよび通信データを含むことができる。ブロードキャストデータは、たとえば、所与の期間中にユーザが掲示した写真数、所与の期間中にユーザによるアプリケーションを通じた掲示数、およびユーザが掲示したか、またはそうでなければ他のユーザのグループに配信した任意の他の通信を含むことができる。通信データは、たとえば、所与の期間中のユーザからの「いいね！」の投稿数、所与の期間中にユーザが掲示したコメント数、およびユーザの通信アクティビティに関する任意の他の情報を含むことができる。
【００３８】
同様に、ソーシャル・ネットワーキング・システム１００中のいくつかの予測関数６１０は、ソーシャル・ネットワーキング・システム１００中のコンテンツのユーザの観察に関連するアクションを予測することができる。特に観察に関連する統計データは、たとえば所与の期間中に別のユーザのプロフィール・ページをユーザが閲覧した回数、所与の期間中にユーザが写真を閲覧した回数、所与の期間中にソーシャル推薦を含む広告を閲覧した回数、およびユーザがコンテンツを閲覧することを含む、任意の他のアクティビティを含むことができる。
【００３９】
最後に、ソーシャル・ネットワーキング・システム１００中のいくつかの予測関数６１０は、ソーシャル・ネットワーキング・システムの１または複数の他のユーザとユーザが一致することに関連するアクションを予測することができる。特に一致することに関連する統計データは、たとえば、２以上のユーザが同一の写真でタグを付けられた、同一の場所にチェックインした、または同一のイベントに出席する予定であることを確認した（たとえばＲＳＶＰを通じて）割合、および複数のユーザに関連するソーシャル・ネットワーキング・システム中のアクションまたはオブジェクトに関する任意の他のアクティビティを含むことができる。
【００４０】
アフィニティ・モジュール７６０は、ソーシャル・ネットワーキング・システム１００からのユーザに関する入力データに基づき、予測関数６１０を使用してアフィニティの度合６１５をもたらす。図６の実施形態では、アフィニティ・モジュール７６０は、式（２）に示すように、線形で予測関数を加算する。しかし、他の実装形態も等しく実現可能である。
【００４１】
【数２】
2014525715.tif 000004
式中、
Ａは、要求されるアフィニティの度合６１５であり、
Ｐｉ（ｉ＝０、１、２、．．．、ｓ）は、ソーシャル・ネットワーキング・システム１００中のｓ予測関数６１０であり、
βｉ（ｉ＝１、２、．．．、ｓ）は、ソーシャル・ネットワーキング・システム１００中のｓ予測関数６１０に割り当てられる重み６０５である。
【００４２】
図８は、ユーザに関するアフィニティの度合６１５を、要求に基づき計算するための方法の一実施形態を例示する。ソーシャル・ネットワーキング・システム１００は、先ずユーザについてのアフィニティの度合６１５を求めるプロセスからの要求を、様々な予測関数６１０に割り当てられる重み６０５とともに受け取る（８１０）。その要求は、アフィニティ評価値がそれについて望まれるメッセージ、またはそのメッセージから抽出される１つまたは複数の属性を含むことができる。次いで、ソーシャル・ネットワーキング・システム１００は、予測モジュール８２０でユーザに関する予測関数６１０を計算する（８２０）。既に計算されている予測関数６１０は、アフィニティの全体の度合６１５を決定する（８３０）ために結合され、次いで、それは、要求プロセスに提供される（８４０）。
【００４３】
図３は、コンピュータ・システム３００の一例を示し、これは、本発明のいくつかの実施形態とともに使用することができる。たとえば、コンピュータ・システム３００は、ソーシャル・ネットワーキング・システムの１つまたは複数のサーバを実装するために使用することができ、それは、上記に述べたサーバ側の機能を果たす。この開示では、コンピュータ・システム３００が、任意の適切な物理的形態であることが期待されている。例示のみを目的としており限定するものではないが、コンピュータ・システム３００は、埋め込み型コンピュータ・システム、システム・オン・チップ（ＳＯＣ）、シングル・ボード・コンピュータ・システム（ＳＢＣ）（たとえば、コンピュータ・オン・モジュール（ＣＯＭ）またはシステム・オン・モジュール（ＳＯＭ））など）、デスクトップ・コンピュータ・システム、ラップトップまたはノートブックのコンピュータ・システム、タブレット・コンピュータ・システム、対話型キオスク（ｉｎｔｅｒａｃｔｉｖｅ  ｋｉｏｓｋ）
、メインフレーム、コンピュータ・システム網、携帯電話、携帯端末（ＰＤＡ）、サーバあるいはこれらの２以上の組み合わせとすることができる。適切な場合、コンピュータ・システム３００は、１つまたは複数のコンピュータ・システム３００を含むことができる；統合する、または分散することができる；複数の場所に及ぶことができる；複数のマシンに亘ることができる；クラウド中に存在することができ、それは、１つまたは複数のネットワーク中に１つまたは複数のクラウドコンポーネントを含むことができる。具体的な実施形態では、コンピュータ・システム３００は、プロセッサ３０２、メモリ３０４、ストレージ３０６、入出力（Ｉ／Ｏ）インタフェース３０８、通信インタフェース３１０およびバス３１２を含む。具体的な実施形態では、プロセッサ３０２は、命令を実行するためのハードウェアを含み、これらの命令からコンピュータ・プログラムが作られる。例示のみを目的としており限定するものではないが、命令を実行するためには、プロセッサ３０２は、内部レジスタ、内部キャッシュ、メモリ３０４またはストレージ３０６から命令を取り出す（またはフェッチする）ことができ；命令をデコードして実行することができ；次いで、１つまたは複数の結果を内部レジスタ、内部キャッシュ、メモリ３０４またはストレージ３０６に書き込むことができる。
【００４４】
具体的な実施形態では、メモリ３０４は、プロセッサ３０２が実行する命令、またはプロセッサ３０２がそれに基づき動作するデータを記憶するためのメイン・メモリを含む。例示のみを目的としており限定するものではないが、コンピュータ・システム３００は、ストレージ３０６または別の送信元（たとえば別のコンピュータ・システム３００など）からメモリ３０４に命令をロードすることができる。そのとき、プロセッサ３０２は、メモリ３０４から内部レジスタまたは内部キャッシュに命令をロードすることができる。命令を実行するためには、プロセッサ３０２は、内部レジスタまたは内部キャッシュから命令を取り出して、それらをデコードすることができる。１つまたは複数のメモリ・バス（それらは、それぞれがアドレス・バスおよびデータ・バスを含むことができる）は、プロセッサ３０２をメモリ３０４に結合することができる。バス３１２は、以下で述べるように、１つまたは複数のメモリ・バスを含むことができる。具体的な実施形態では、１つまたは複数のメモリ管理ユニット（ＭＭＵ）が、プロセッサ３０２とメモリ３０４との間に存在して、プロセッサ３０２が要求するメモリ３０４へのアクセスを容易にする。具体的な実施形態では、メモリ３０４は、ランダム・アクセス・メモリ（ＲＡＭ）を含む。このＲＡＭは、適切な場合、揮発性メモリとすることができる。
【００４５】
具体的な実施形態では、ストレージ３０６は、データまたは命令のためにマスストレージを含む。例示のみを目的としており限定するものではないが、ストレージ３０６は、ＨＤＤ、フロッピー（登録商標）・ディスク・ドライブ、フラッシュ・メモリ、光ディスク、磁気光ディスク、磁気テープまたはユニバーサル・シリアル・バス（ＵＳＢ）ドライブまたはこれらの２以上の組み合わせを含むことができる。具体的な実施形態では、ストレージ３０６は、不揮発性の半導体メモリである。具体的な実施形態では、ストレージ３０６は、リード・オンリ・メモリ（ＲＯＭ）を含む。適切な場合、このＲＯＭは、マスクでプログラムされるＲＯＭ、プログラマブルＲＯＭ（ＰＲＯＭ）、消去可能なＰＲＯＭ（ＥＰＲＯＭ）、電気的消去可能なＰＲＯＭ（ＥＥＰＲＯＭ）、電気的書換え可能なＲＯＭ（ＥＡＲＯＭ）またはフラッシュ・メモリ、あるいはこれらの２以上の組み合わせとすることができる。この開示で特定のストレージを述べて例示しているが、この開示では、任意の適切なストレージであることが期待されている。
【００４６】
具体的な実施形態では、Ｉ／Ｏインタフェース３０８は、コンピュータ・システム３００と１つまたは複数のＩ／Ｏ装置との間で通信するために１つまたは複数のインタフェースを形成するハードウェア、ソフトウェアまたはその両方を含む。コンピュータ・システム３００は、これらのＩ／Ｏ装置の１つまたは複数を、適切な場合に含むことができる。これらのＩ／Ｏ装置の１つまたは複数は、人とコンピュータ・システム３００との間で通
信できるようにすることができる。具体的な実施形態では、通信インタフェース３１０は、コンピュータ・システム３００と１つまたは複数の他のコンピュータ・システム３００または１つまたは複数のネットワークとの間における通信（たとえばパケット・ベースの通信など）のために１つまたは複数のインタフェースを形成するハードウェア、ソフトウェアまたはその両方を含む。例示のみを目的としており限定するものではないが、通信インタフェース３１０は、イーサネット（登録商標）または他の有線ベースのネットワークとの通信のためにネットワーク・インタフェース・コントローラ（ＮＩＣ）またはネットワーク・アダプタを、あるいはＷＩ−ＦＩネットワークなどの無線ネットワークと通信するために無線ＮＩＣ（ＷＮＩＣ）または無線アダプタを含むことができる。この開示では、このために、任意の適切なネットワークおよび任意の適切な通信インタフェース３１０であることが期待されている。具体的な実施形態では、バス３１２は、コンピュータ・システム３００の構成要素を互いに結合するハードウェア、ソフトウェアまたはその両方を含む。
【００４７】
上記に述べたクライアント側の機能は、コンピュータ可読記憶媒体上に記憶される一連の命令として実装されることができ、その命令は、実行されたとき、プログラマブル・プロセッサに上記に述べた動作を実施させる。通信装置１２２は、様々な異なるハードウェアおよび計算システムにおいて実装されることができるが、図４は、様々な具体的な実施形態による、クライアント装置または携帯型装置の実施例の計算プラットフォームの主な構成要素を示す概略図である。具体的な実施形態では、計算プラットフォーム４０２は、コントローラ４０４、メモリ４０６および入出力サブシステム４１０を含むことができる。具体的な実施形態では、１つまたは複数のプロセッサおよび／または１つまたは複数のマイクロコントローラを含むことができるコントローラ４０４は、命令を実行し、かつ計算プラットフォームと関連する動作を実行するように構成することができる。様々な実施形態では、コントローラ４０４は、シングル・チップ、マルチ・チップ、および／または１つまたは複数の集積回路およびプリント回路基板を含む他の電気的構成要素として実装されることができる。コントローラ４０４は、任意選択で、命令、データまたはコンピュータ・アドレスを一時的にローカルに記憶するためにキャッシュ・メモリ・ユニットを含むことができる。一例では、コントローラ４０４は、メモリから取り出された命令を使用して、計算プラットフォーム４０２の構成要素の間における入力データおよび出力データの受け取りおよび操作を制御することができる。一例では、コントローラ４０４は、計算プラットフォーム４０２の一定の処理タスクに、たとえば２Ｄ／３Ｄグラフィック処理、画像処理またはビデオ処理に専用の１つまたは複数のプロセッサまたは１つまたは複数のコントローラを含むことができる。
【００４８】
コントローラ４０４は、適切なオペレーティング・システムとともに、コンピュータ・コードの形態で命令を実行し、データを生成し、そしてそれを使用するように動作することができる。例示のみを目的としており限定するものではないが、オペレーティング・システムは、他の適切なオペレーティング・システムの中でも特に、ウィンドウズ（登録商標）（Ｗｉｎｄｏｗｓ）ベース、マック（Ｍａｃ）ベース、またはユニックス（Ｕｎｉｘ（登録商標））またはリナックス（登録商標）（Ｌｉｎｕｘ（登録商標））ベース、あるいはシンビアン（Ｓｙｍｂｉａｎ）ベースであってもよい。オペレーティング・システム、他のコンピュータ・コードおよび／またはデータは、コントローラ４０４に動作可能に結合されるメモリ４０６内に物理的に記憶されることができる。メモリ４０６は、１つまたは複数の記憶媒体を包含し、そして一般に、コンピュータ・コード（たとえばソフトウェアおよび／またはファームウェア）および計算プラットフォーム４０２が使用するデータを記憶するために場所を提供することができる。一例では、メモリ４０６は、リード・オンリ・メモリ（ＲＯＭ）および／またはランダム・アクセス・メモリ（ＲＡＭ）を含む、様々な有体のコンピュータ可読記憶媒体を含むことができる。当分野でよく知られているように、ＲＯＭは、データおよび命令をコントローラ４０４に一方向で転送するように
動作し、ＲＡＭは、通常、データおよび命令を双方向に転送するために使用される。また、メモリ４０６は、一例では、コントローラ４０４に双方向で結合されるメモリの他の適切な形態の中でも特に、ハード・ディスク・ドライブ（ＨＤＤ）、半導体ドライブ（ＳＳＤ）、フラッシュ・メモリ・カード（たとえばＳｅｃｕｒｅｄ  Ｄｉｇｉｔａｌ  ＣａｒｄまたはＳＤカード、ｅｍｂｅｄｄｅｄ  ＭｕｌｔｉＭｅｄｉａＣａｒｄまたはｅＭＭＤカード）の形態である、１つまたは複数の固定ストレージを含むことができる。また、情報は、必要なときに計算プラットフォーム４０２中にロードされて、またはインストールされて、１つまたは複数の取り外し可能な記憶媒体上に存在することができる。一例では、いくつかの適切なメモリ・カード（たとえばＳＤカード）のいずれかを、一時的に、または永久に計算プラットフォーム４０２中に装着することができる。
【００４９】
入出力サブシステム４１０は、コントローラ４０４に動作可能に接続される１つまたは複数の入出力装置を含むことができる。たとえば、入出力サブシステムは、キーボード、マウス、１つまたは複数のボタン、サム・ホイールおよび／またはディスプレイ（たとえば液晶ディスプレイ（ＬＣＤ）、発光ダイオード（ＬＥＤ）、干渉変調器ディスプレイ（ＩＭＯＤ：Ｉｎｔｅｒｆｅｒｏｍｅｔｒｉｃ  ｍｏｄｕｌａｔｏｒ  ｄｉｓｐｌａｙ）または任意の他の適切なディスプレイ技術）を含むことができる。一般に、入力装置は、データ、コマンドおよび応答を外部環境から計算プラットフォーム４０２中に転送するように構成される。ディスプレイは、一般に、計算プラットフォーム４０２のユーザと携帯型装置上で動作するオペレーティング・システムまたはアプリケーション（複数可）との間に使いやすい視覚インタフェースを提供するグラフィカル・ユーザ・インタフェース（ＧＵＩ）を表示するように構成される。一般に、ＧＵＩは、プログラム、ファイルおよびグラフィック画像を有する動作オプションを提示する。ユーザは、動作の間、そのグラフィック画像と関連する機能およびタスクを起動するために、ディスプレイ上に表示される様々なグラフィック画像を選択して作動させることができる。また、入出力サブシステム４１０は、タッチ・パッドおよびタッチ・スクリーンなど、タッチ・ベースの装置を含むことができる。タッチ・パッドは、ユーザのタッチ・ベースの入力を検出する表面を含む入力装置である。同様に、タッチ・スクリーンは、ユーザのタッチ入力の有無および場所を検出するディスプレイである。また、入出力システム４１０は、２回または３回の指のタッチなど、２回以上のタッチ入力の有無、場所および動きを識別することができるデュアル・タッチまたはマルチ・タッチのディスプレイまたはタッチ・パッドを含むことができる。
【００５０】
具体的な実施形態では、計算プラットフォーム４０２は、その様々な機能を容易にするために、コントローラ４０４に動作可能に接続されるオーディオ・サブシステム４１２、カメラ・サブシステム４１２、無線通信サブシステム４１６、センサ・サブシステム４１８および／または有線通信サブシステム７２０をさらに含むことができる。たとえば、スピーカ、マイクロフォンおよびコーデック・モジュールを含み、音声信号を処理するように構成されるオーディオ・サブシステム４１２は、音声認識、音声レプリケーション（ｖｏｉｃｅ  ｒｅｐｌｉｃａｔｉｏｎ）、デジタル記録および電話機能など、音声によって有効になる機能を容易にするために、利用することができる。たとえば、光センサ（たとえば電荷結合素子（ＣＣＤ）または相補型金属酸化膜半導体（ＣＭＯＳ）画像センサ）を含むカメラ・サブシステム４１２は、写真およびビデオ・クリップの記録など、カメラ機能を容易にするために、利用することができる。たとえば、無線通信サブシステム７２０は、ファイル転送のためにユニバーサル・シリアル・バス（ＵＳＢ）ポートまたはローカル・エリア・ネットワーク（ＬＡＮ）への接続のためにイーサネット・ポートを含むことができる。
【００５１】
無線通信サブシステム４１６は、１つまたは複数の無線ネットワーク上で、たとえば、無線ＰＡＮ（ＷＰＡＮ）（たとえばブルートゥースＷＰＡＮ、赤外線ＰＡＮなど）、ＷＩ
−ＦＩネットワーク（たとえば８０２．１１ａ／ｂ／ｇ／ｎ  ＷＩ−ＦＩネットワーク、８０２．１１ｓ網形ネットワークなど）、ＷＩ−ＭＡＸネットワーク、セル方式携帯電話網（たとえばＧｌｏｂａｌ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｍｏｂｉｌｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ（ＧＳＭ（登録商標））ネットワーク、Ｅｎｈａｎｃｅｄ  Ｄａｔａ  Ｒａｔｅｓ  ｆｏｒ  ＧＳＭ  Ｅｖｏｌｕｔｉｏｎ（ＥＤＧＥ）ネットワーク、Ｕｎｉｖｅｒｓａｌ  Ｍｏｂｉｌｅ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｓｙｓｔｅｍ（ＵＭＴＳ）ネットワークおよび／またはＬｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ（ＬＴＥ）ネットワークなど）上で動作するように設計することができる。さらに、無線通信サブシステム４１６は、計算プラットフォーム４０２を他の無線装置のための基地局として構成することができるように、ホスティング（ｈｏｓｔｉｎｇ）プロトコルを含むことができる。
【００５２】
センサ・サブシステム４１８は、計算プラットフォーム４０２の追加の入力をもたらし、複数の機能を容易にするために、１つまたは複数のセンサ装置を含むことができる。たとえば、センサ・サブシステム４１８は、場所の測位を行うためのＧＰＳセンサ、高度を測定するために高度計、携帯型装置の方向を決定するために運動センサ、カメラ・サブシステム４１４による写真機能のために光センサ、大気温度測定のために温度センサおよび／またはセキュリティ・アプリケーション（たとえば指紋読取装置）のために生体センサを含むことができる。
【００５３】
本明細書では、コンピュータ可読記憶媒体への言及は、構造を備えている１つまたは複数の非一時的な有体のコンピュータ可読記憶媒体を包含する。例示のみを目的としており限定するものではないが、コンピュータ可読記憶媒体は、半導体ベースまたは他の集積回路（ＩＣ）（たとえばフィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ）または特定用途向け集積回路（ＡＳＩＣ）など）、ハード・ディスク、ＨＤＤ、ハイブリッド・ハード・ドライブ（ＨＨＤ）、光ディスク、光ディスク・ドライブ（ＯＤＤ）、磁気光ディスク、磁気光ドライブ、フロッピー・ディスク、フロッピー・ディスク・ドライブ（ＦＤＤ）、磁気テープ、ホログラフィック記憶媒体、半導体ドライブ（ＳＳＤ）、ＲＡＭドライブ、ＳＤカード、ＳＤドライブ（ＳＥＣＵＲＥ  ＤＩＧＩＴＡＬ  ｄｒｉｖｅ）、マルチメディア・カード（ＭＭＣ：ＭｕｌｔｉＭｅｄｉａＣａｒｄ）、埋め込み型ＭＭＣ（ｅＭＭＣ：ｅｍｂｅｄｄｅｄ  ＭＭＣ）カード、または別の適切なコンピュータ可読記憶媒体、あるいはこれらの２以上の組み合わせを適切な場合に含むことができる。本明細書では、コンピュータ可読記憶媒体への言及は、米国特許法第１０１条下で特許保護に適格でない、任意の媒体を除外する。本明細書では、コンピュータ可読記憶媒体への言及は、信号送信の一時的な形態（本質的に伝搬する電気または電磁気の信号など）を、それらが米国特許法第１０１条下で特許保護に適格でない範囲において除外する。
【００５４】
本明細書では、ソフトウェアへの言及は、１つまたは複数のアプリケーション、バイトコード、１つまたは複数のコンピュータ・プログラム、１つまたは複数の実行ファイル、１つまたは複数の命令、ロジック、マシン・コード、１つまたは複数のスクリプトまたはソース・コード、およびその逆も、適切な場合に包含することができる。具体的な実施形態では、ソフトウェアは、１つまたは複数のアプリケーション・プログラミング・インタフェース（ＡＰＩ）を含む。本開示では、書かれた、またはそうでなければ、任意の適切なプログラミング言語またはプログラミング言語の組み合わせで表現された、任意の適切なソフトウェアであることが期待されている。具体的な実施形態では、ソフトウェアは、ソース・コードまたはオブジェクト・コードとして表現される。具体的な実施形態では、ソフトウェアは、たとえばＣ、パール（Ｐｅｒｌ）、ジャバスクリプト（ＪａｖａＳｃｒｉｐｔ（登録商標））またはその適切な機能拡張など、ハイレベルプログラミング言語で表現される。具体的な実施形態では、ソフトウェアは、アセンブリ言語（またはマシン・コード）など、ローレベルプログラミング言語で表現される。具体的な実施形態では、ソフトウェアは、ジャバ（ＪＡＶＡ（登録商標））で表現される。具体的な実施形態では、
ソフトウェアは、ハイパー・テキスト・マークアップ・ランゲージ（ＨＴＭＬ：Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）、エクステンシブル・マークアップ・ランゲージ（ＸＭＬ：Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）または他の適切なマークアップ・ランゲージで表現される。
【００５５】
本開示は、本明細書における例の実施形態に対して、当業者であれば理解されるであろうすべての変更、置換、変形、調整および修正を包含する。同様に、適切な場合、添付の請求項は、本明細書における例の実施形態に対して、当業者であれば理解されるであろうすべての変更、置換、変形、調整および修正を包含する。
【図１】
2014525715.tif 000005
【図２】
2014525715.tif 000006
【図３】
2014525715.tif 000007
【図４】
2014525715.tif 000008
【図５Ａ】
2014525715.tif 000009
【図５Ｂ】
2014525715.tif 000010
【図６】
2014525715.tif 000011
【図７】
2014525715.tif 000012
【図８】
2014525715.tif 000013
【国際調査報告】
2014525715.tif 000014
2014525715.tif 000015