(57)【要約】加入者に通知を伝達するための技術が説明される。装置は、チャネルコンポーネントと、通知コンポーネントとを備え得る。チャネルコンポーネントは、ソーシャルネットワーキングサービスの加入者に伝達するため、ソーシャルネットワーキングサービスから事象を受信し、各チャネルと関連付けられたランキングに従って加入者に事象を伝達するため、多数のチャネルのうちの１つまたは複数のチャネルを決定するように動作し、ランキングは、加入者に特有であり、かつ加入者履歴に従って決定される。通知コンポーネントは、事象に基づいて通知を構築し、決定された１つまたは複数のチャネルを使用して加入者に通知を伝送するように動作する。他の実施形態も説明され、特許請求される。
2016507091.tif 000002
【特許請求の範囲】
【請求項１】
装置であって、
プロセッサ回路と、
ソーシャルネットワーキングサービスの加入者に伝達するため、前記ソーシャルネットワーキングサービスから事象を受信し、前記加入者に前記事象を伝達するため、各チャネルと関連付けられたランキングに従って多数のチャネルのうちの１つまたは複数のチャネルを決定するように前記プロセッサ回路上で動作するチャネルコンポーネントであって、前記ランキングは、前記加入者に特有であり、加入者履歴に従って決定される、前記チャネルコンポーネントと、
以前の通知に対する加入者応答を記録するように動作するロギングコンポーネントであって、記録された応答は、前記加入者履歴を含む、前記ロギングコンポーネントと、
記録された応答に従って、関連付けられたランキングを決定するように動作する機械学習コンポーネントと、
前記事象に基づいて通知を構築し、決定された１つまたは複数のチャネルを使用して前記加入者に前記通知を伝送するように動作する通知コンポーネントと
を備える装置。
【請求項２】
受信された事象は、第２の加入者と関連付けられ、前記加入者および前記第２の加入者は、前記ソーシャルネットワーキングサービスにおいて定義された関係を有する、請求項１に記載の装置。
【請求項３】
前記多数のチャネルは、ショートメッセージサービス（ＳＭＳ）、電話、電子メール、インスタントメッセージ、モバイルアプリケーションへのプッシュ通知およびウェブ通知のうちの２つ以上を含む、請求項１または２に記載の装置。
【請求項４】
前記チャネルコンポーネントは、前記関連付けられたランキングおよび前記加入者によって設定された好みのうちの１つもしくは複数、加入者デバイスについての情報、１つもしくは複数のデバイス上の加入者の存在、現在の位置、または、現在の日付および時間に基づいて前記１つまたは複数のチャネルを決定するように動作する、請求項１〜３のいずれか一項に記載の装置。
【請求項５】
前記チャネルコンポーネントは、前記多数のチャネルのうちの２つ以上のチャネルを決定するように動作し、前記通知コンポーネントは、前記２つ以上のチャネルのうちの別のチャネル上の前記事象の伝送の成功に応答して、前記２つ以上のチャネルのうちの１つのチャネル上の前記事象の伝送をキャンセルするように動作する、請求項１〜４のいずれか一項に記載の装置。
【請求項６】
前記チャネルコンポーネントは、前記加入者と関連付けられた第２の事象を受信し、前記加入者に前記第２の事象を伝達することを決定するように動作し、前記通知コンポーネントは、前記事象と前記第２の事象とを組み合わせて第２の通知にするように動作し、前記第２の通知は、前記加入者への伝送のために前記通知に取って代わる、請求項１〜５のいずれか一項に記載の装置。
【請求項７】
前記通知コンポーネントは、決定されたチャネルのうちの１つに配信の試みの失敗があったと判断するように動作し、前記チャネルコンポーネントは、前記加入者への前記事象の伝達に使用するため、前記多数のチャネルのうちの追加のチャネルを決定するように動作し、前記通知コンポーネントは、決定された追加のチャネルを使用して前記加入者に前記通知を伝送するように動作する、請求項１〜６のいずれか一項に記載の装置。
【請求項８】
前記チャネルコンポーネントは、受信された事象に応答して、前記多数のチャネルのうちの１つまたは複数の有効性をチェックし、前記加入者への前記事象の伝達に使用するため、有効性チェックに従って前記１つまたは複数のチャネルを決定するように動作する、請求項１〜７のいずれか一項に記載の装置。
【請求項９】
前記事象を受信するように動作する事象コンポーネントを備え、前記事象は、前記加入者と関連付けられ、かつ事象のタイプを含み、前記事象コンポーネントは、前記加入者および前記事象のタイプに特有のランキングに基づいて前記加入者に前記事象を伝達することを決定するように動作する、請求項１〜８のいずれか一項に記載の装置。
【請求項１０】
コンピュータ実装方法であって、
プロセッサによってソーシャルネットワーキングサービスから、前記ソーシャルネットワーキングサービスの加入者と関連付けられた事象を受信すること、
前記加入者に前記事象を伝達することを決定すること、
前記加入者への前記事象の伝達に使用するため、各チャネルと関連付けられたランキングに従って多数のチャネルのうちの１つまたは複数のチャネルを決定することであって、前記ランキングは、前記加入者に特有であり、加入者履歴に従って決定される、前記１つまたは複数のチャネルを決定すること、
以前の通知に対する加入者応答を記録することであって、記録された応答は、前記加入者履歴を含む、前記記録すること、
記録された応答に従って、前記多数のチャネルの各々に対するランキングを決定すること、
前記事象に基づいて通知を構築すること、
決定された１つまたは複数のチャネルを使用して前記加入者に前記通知を伝送すること
を含むコンピュータ実装方法。
【請求項１１】
前記関連付けられたランキングおよび前記加入者によって設定された好みのうちの１つもしくは複数、加入者デバイスについての情報、１つもしくは複数のデバイス上の加入者の存在、現在の位置、または、現在の日付および時間に基づいて前記１つまたは複数のチャネルを決定することを含む、請求項１０に記載のコンピュータ実装方法。
【請求項１２】
前記加入者への前記事象の伝達に使用するため、前記多数のチャネルのうちの２つ以上のチャネルを決定し、
前記２つ以上の決定されたチャネルのうちの１つが前記加入者への前記事象の伝送に成功したと判断し、
前記加入者への前記事象の伝送に成功した前記チャネル以外のチャネル上での前記加入者への前記事象の伝送をキャンセルするステップ群と、
前記加入者と関連付けられた第２の事象を受信し、
前記加入者に前記第２の事象を伝達することを決定し、
前記事象と前記第２の事象とを組み合わせて第２の通知し、
前記加入者への伝送のために前記通知を前記第２の通知と取り換えるステップ群と、
前記決定されたチャネルのうちの１つに配信の試みの失敗があったと判断し、
前記配信の試みの失敗に応答して、前記加入者への前記事象の伝達に使用するため、各チャネルと関連付けられた前記ランキングに従って前記多数のチャネルのうちの追加のチャネルを決定し、
決定された追加のチャネルを使用して前記加入者に前記通知を伝送するステップ群と、
受信された事象に応答して、前記多数のチャネルのうちの１つまたは複数の有効性をチェックし、
有効性チェックに従って、前記加入者への前記事象の伝達に使用するため、前記１つまたは複数のチャネルを決定するステップ群と
のうちの少なくとも１つのステップ群を含む、請求項１０または１１に記載のコンピュータ実装方法。
【請求項１３】
実行されると、請求項１０〜１２のいずれか一項に記載の方法をシステムに実行させる命令を含む少なくとも１つのコンピュータ可読記憶媒体。
【請求項１４】
装置であって、
プロセッサ回路と、
ソーシャルネットワーキングサービスの加入者に伝達するため、前記ソーシャルネットワーキングサービスから事象を受信し、前記加入者に前記事象を伝達するため、各チャネルと関連付けられたランキングに従って多数のチャネルのうちの１つまたは複数のチャネルを決定するように前記プロセッサ回路上で動作するチャネルコンポーネントであって、前記ランキングは、前記加入者に特有であり、加入者履歴に従って決定される、前記チャネルコンポーネントと、
前記事象に基づいて通知を構築し、決定された１つまたは複数のチャネルを使用して前記加入者に前記通知を伝送するように動作する通知コンポーネントと
を備える装置。
【請求項１５】
受信された事象は、第２の加入者と関連付けられ、前記加入者および前記第２の加入者は、前記ソーシャルネットワーキングサービスにおいて定義された関係を有する、請求項１４に記載の装置。
【請求項１６】
前記多数のチャネルは、ショートメッセージサービス（ＳＭＳ）、電話、電子メール、インスタントメッセージ、モバイルアプリケーションへのプッシュ通知およびウェブ通知のうちの２つ以上を含む、請求項１４に記載の装置。
【請求項１７】
前記チャネルコンポーネントは、前記関連付けられたランキングおよび前記加入者によって設定された好みのうちの１つもしくは複数、加入者デバイスについての情報、１つもしくは複数のデバイス上の加入者の存在、現在の位置、または、現在の日付および時間に基づいて前記１つまたは複数のチャネルを決定するように動作する、請求項１４に記載の装置。
【請求項１８】
以前の通知に対する加入者応答を記録するように動作するロギングコンポーネントであって、記録された応答は、前記加入者履歴を含む、ロギングコンポーネントと、
記録された応答に従って、前記関連付けられたランキングを決定するように動作する機械学習コンポーネントと
を備える、請求項１４に記載の装置。
【請求項１９】
前記チャネルコンポーネントは、前記多数のチャネルのうちの２つ以上のチャネルを決定するように動作し、前記通知コンポーネントは、前記２つ以上のチャネルのうちの別のチャネル上の前記事象の前記伝送の成功に応答して、前記２つ以上のチャネルのうちの１つのチャネル上の前記事象の前記伝送をキャンセルするように動作する、請求項１４に記載の装置。
【請求項２０】
前記チャネルコンポーネントは、前記加入者と関連付けられた第２の事象を受信し、前記加入者に前記第２の事象を伝達することを決定するように動作し、前記通知コンポーネントは、前記事象と前記第２の事象とを組み合わせて第２の通知にするように動作し、前記第２の通知は、前記加入者への伝送のために前記通知に取って代わる、請求項１４に記載の装置。
【請求項２１】
前記通知コンポーネントは、前記決定されたチャネルのうちの１つに配信の試みの失敗があったと判断するように動作し、前記チャネルコンポーネントは、前記加入者への前記事象の伝達に使用するため、前記多数のチャネルのうちの追加のチャネルを決定するように動作し、前記通知コンポーネントは、決定された追加のチャネルを使用して前記加入者に前記通知を伝送するように動作する、請求項１４に記載の装置。
【請求項２２】
前記チャネルコンポーネントは、受信された事象に応答して、前記多数のチャネルのうちの１つまたは複数の有効性をチェックし、前記加入者への前記事象の伝達に使用するため、有効性チェックに従って前記１つまたは複数のチャネルを決定するように動作する、請求項１４に記載の装置。
【請求項２３】
前記事象を受信するように動作する事象コンポーネントを備え、前記事象は、前記加入者と関連付けられ、かつ事象のタイプを含み、前記事象コンポーネントは、前記加入者および前記事象のタイプに特有のランキングに基づいて前記加入者に前記事象を伝達することを決定するように動作する、請求項１４に記載の装置。
【請求項２４】
コンピュータ実装方法であって、
プロセッサによってソーシャルネットワーキングサービスから、前記ソーシャルネットワーキングサービスの加入者と関連付けられた事象を受信すること、
前記加入者に前記事象を伝達することを決定すること、
前記加入者への前記事象の伝達に使用するため、各チャネルと関連付けられたランキングに従って多数のチャネルのうちの１つまたは複数のチャネルを決定することであって、前記ランキングは、前記加入者に特有であり、加入者履歴に従って決定される、前記１つまたは複数のチャネルを決定すること、
前記事象に基づいて通知を構築すること、
前記決定された１つまたは複数のチャネルを使用して前記加入者に前記通知を伝送すること
を含むコンピュータ実装方法。
【請求項２５】
以前の通知に対する加入者応答を記録することであって、記録された応答は、前記加入者履歴を含む、前記記録すること、
記録された応答に従って、前記多数のチャネルの各々に対するランキングを決定すること、
前記関連付けられたランキングおよび前記加入者によって設定された好みのうちの１つもしくは複数、加入者デバイスについての情報、１つもしくは複数のデバイス上の加入者の存在、現在の位置、または、現在の日付および時間に基づいて前記１つまたは複数のチャネルを決定すること
を含む、請求項２４に記載のコンピュータ実装方法。
【請求項２６】
前記加入者への前記事象の伝達に使用するため、前記多数のチャネルのうちの２つ以上のチャネルを決定すること、
前記２つ以上の決定されたチャネルのうちの１つが前記加入者への前記事象の伝送に成功したと判断すること、
前記加入者への前記事象の伝送に成功した前記チャネル以外のチャネル上での前記加入者への前記事象の伝送をキャンセルすること
を含む、請求項２４に記載のコンピュータ実装方法。
【請求項２７】
前記加入者と関連付けられた第２の事象を受信すること、
前記加入者に前記第２の事象を伝達することを決定すること、
前記事象と前記第２の事象とを組み合わせて第２の通知にすること、
前記加入者への伝送のために前記通知を前記第２の通知と取り換えること
を含む、請求項２４に記載のコンピュータ実装方法。
【請求項２８】
前記決定されたチャネルのうちの１つに配信の試みの失敗があったと判断すること、
前記配信の試みの失敗に応答して、前記加入者への前記事象の伝達に使用するため、各チャネルと関連付けられた前記ランキングに従って前記多数のチャネルのうちの追加のチャネルを決定すること、
決定された追加のチャネルを使用して前記加入者に前記通知を伝送すること
を含む、請求項２４に記載のコンピュータ実装方法。
【請求項２９】
受信された事象に応答して、前記多数のチャネルのうちの１つまたは複数の有効性をチェックすること、
前記加入者への前記事象の伝達に使用するため、有効性チェックに従って前記１つまたは複数のチャネルを決定すること
を含む、請求項２４に記載のコンピュータ実装方法。
【請求項３０】
少なくとも１つのコンピュータ可読記憶媒体であって、
実行されると、システムに
ソーシャルネットワーキングサービスの加入者に伝達するため、前記ソーシャルネットワーキングサービスから事象を受信すること、
受信された事象に応答して、多数のチャネルのうちの１つまたは複数の有効性をチェックすること、
前記加入者への前記事象の伝達に使用するため、各チャネルと関連付けられたランキングおよび有効性チェックに従って多数のチャネルのうちの１つまたは複数のチャネルを決定することであって、前記ランキングは、前記加入者に特有であり、加入者履歴に従って決定される、前記１つまたは複数のチャネルを決定すること、
前記事象に基づいて通知を構築すること、
決定された１つまたは複数のチャネルを使用して前記加入者に前記通知を伝送すること
を実行させる命令を含む少なくとも１つのコンピュータ可読記憶媒体。
【請求項３１】
実行されると、前記システムに
前記加入者への前記事象の伝達に使用するため、各チャネルと関連付けられた前記ランキングに従って前記多数のチャネルのうちの２つ以上のチャネルを決定すること、
前記２つ以上の決定されたチャネルのうちの１つが前記加入者への前記事象の伝送に成功したと判断すること、
前記加入者への前記事象の伝送に成功した前記チャネル以外のチャネル上での前記加入者への前記事象の伝送をキャンセルすること
を実行させる命令を含む、請求項３０に記載のコンピュータ可読記憶媒体。
【請求項３２】
実行されると、前記システムに
前記加入者と関連付けられた第２の事象を受信すること、
前記事象と前記第２の事象とを組み合わせて第２の通知にすること、
前記加入者への伝送のために前記通知を前記第２の通知と取り換えること
を実行させる命令を含む、請求項３０に記載のコンピュータ可読記憶媒体。
【請求項３３】
実行されると、前記システムに
前記決定されたチャネルのうちの１つに配信の試みの失敗があったと判断すること、
前記配信の試みの失敗に応答して、前記加入者への前記事象の伝達に使用するため、各チャネルと関連付けられた前記ランキングに従って前記多数のチャネルのうちの追加のチャネルを決定すること、
前記決定された追加のチャネルを使用して前記加入者に前記通知を伝送すること
を実行させる命令を含む、請求項３０に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
インターネットベースのサービスへの加入者は、加入者が自発的に情報を回収することのみに依存するよりむしろ、それらのサービスが重要な情報を伝達する上で加入者に連絡を試みることを期待するようになった。しかし、これらのサービスは、加入者と連絡を取る複数の方法を有し得、加入者と連絡を取る際は、方法のうちの１つまたは複数を選択する必要があり得る。さらに、情報の伝達は、加入者への進行中の情報の伝送を管理することによって促進される。本改善が必要とされてきたのは、これらのおよび他の考慮事項に関して、である。
【発明の概要】
【課題を解決するための手段】
【０００２】
以下は、本明細書で説明されるいくつかの新規の実施形態の基本的な理解を提供するため、簡単な概要を提示する。この概要は、広範な概観ではなく、主要な／重要な要素を識別することも、その範囲を描出することも意図しない。その唯一の目的は、後に提示するより詳細な説明の前置きとして簡単な形態でいくつかの概念を提示することである。様々な実施形態は、一般に、加入者に通知を伝達するための技法を対象とする。いくつかの実施形態は、詳細には、ソーシャルネットワーキングサービスの加入者に通知を伝達するための技法を対象とする。一実施形態では、例えば、装置は、チャネルコンポーネントおよび通知コンポーネントのうちの少なくとも一方を備え得る。チャネルコンポーネントは、ソーシャルネットワーキングサービスの加入者に伝達するため、ソーシャルネットワーキングサービスから事象を受信し、加入者に事象を伝達するため、各チャネルと関連付けられたランキングに従って多数のチャネルのうちの１つまたは複数のチャネルを決定するように動作し得、ランキングは、加入者に特有であり、加入者履歴に従って決定される。通知コンポーネントは、事象に基づいて通知を構築し、決定された１つまたは複数のチャネルを使用して加入者に通知を伝送するように動作し得る。他の実施形態も説明され、特許請求される。
【０００３】
前述の関連目的の達成のため、本明細書では、以下の説明および添付の図面に関連してある例示的な態様を説明する。これらの態様は、本明細書で開示される原理を実践できる様々な方法を示し、すべての態様およびその均等物は、特許請求される対象物の範囲内であることが意図される。他の利点および新規の特徴は、図面と併せて考慮する際、以下の詳細な説明から明らかになるであろう。
【０００４】
本発明による実施形態は、詳細には、方法、記憶媒体およびシステムを対象とする添付の請求項で開示され、１つのクレームカテゴリで言及される特徴（例えば、方法）は、別のクレームカテゴリ（例えば、システム）でも特許請求することができる。
【０００５】
本発明による実施形態では、装置は、
プロセッサ回路と、
ソーシャルネットワーキングサービスの加入者に伝達するため、ソーシャルネットワーキングサービスから事象を受信し、加入者に事象を伝達するため、各チャネルと関連付けられたランキングに従って多数のチャネルのうちの１つまたは複数のチャネルを決定するようにプロセッサ回路上で動作するチャネルコンポーネントであって、ランキングは、加入者に特有であり、加入者履歴に従って決定される、チャネルコンポーネントと、
以前の通知に対する加入者応答を記録するように動作するロギングコンポーネントであって、記録された応答は、加入者履歴を含む、ロギングコンポーネントと、
記録された応答に従って、関連付けられたランキングを決定するように動作する機械学習コンポーネントと、
事象に基づいて通知を構築し、決定された１つまたは複数のチャネルを使用して加入者に通知を伝送するように動作する通知コンポーネントと
を備える。
【０００６】
本発明によるさらなる実施形態（これも特許請求可能）では、装置は、
プロセッサ回路と、
ソーシャルネットワーキングサービスの加入者に伝達するため、ソーシャルネットワーキングサービスから事象を受信し、加入者に事象を伝達するため、各チャネルと関連付けられたランキングに従って多数のチャネルのうちの１つまたは複数のチャネルを決定するようにプロセッサ回路上で動作するチャネルコンポーネントであって、ランキングは、加入者に特有であり、加入者履歴に従って決定される、チャネルコンポーネントと、
事象に基づいて通知を構築し、決定された１つまたは複数のチャネルを使用して加入者に通知を伝送するように動作する通知コンポーネントと
を備える。
【０００７】
受信された事象は、第２の加入者と関連付けることができ、加入者および第２の加入者は、ソーシャルネットワーキングサービスにおいて定義された関係を有する。
多数のチャネルは、ショートメッセージサービス（ＳＭＳ）、電話、電子メール、インスタントメッセージ、モバイルアプリケーションへのプッシュ通知およびウェブ通知のうちの２つ以上を含み得る。
【０００８】
チャネルコンポーネントは、関連付けられたランキングおよび加入者によって設定された好みのうちの１つもしくは複数、加入者デバイスについての情報、１つもしくは複数のデバイス上の加入者の存在、現在の位置、または、現在の日付および時間に基づいて１つまたは複数のチャネルを決定するように動作し得る。
【０００９】
装置は、
以前の通知に対する加入者応答を記録するように動作するロギングコンポーネントであって、記録された応答は、加入者履歴を含む、ロギングコンポーネントと、記録された応答に従って、関連付けられたランキングを決定するように動作する機械学習コンポーネントと
を備え得る。
【００１０】
チャネルコンポーネントは、多数のチャネルのうちの２つ以上のチャネルを決定するように動作し得、通知コンポーネントは、２つ以上のチャネルのうちの別のチャネル上の事象の伝送の成功に応答して、２つ以上のチャネルのうちの１つのチャネル上の事象の伝送をキャンセルするように動作し得る。
【００１１】
チャネルコンポーネントは、加入者と関連付けられた第２の事象を受信し、加入者に第２の事象を伝達することを決定するように動作し得、通知コンポーネントは、事象と第２の事象とを組み合わせて第２の通知にするように動作し得、第２の通知は、加入者への伝送のために通知に取って代わる。
【００１２】
通知コンポーネントは、決定されたチャネルのうちの１つに配信の試みの失敗があったと判断するように動作し得、チャネルコンポーネントは、加入者への事象の伝達に使用するため、多数のチャネルのうちの追加のチャネルを決定するように動作し得、通知コンポーネントは、決定された追加のチャネルを使用して加入者に通知を伝送するように動作し得る。
【００１３】
チャネルコンポーネントは、受信された事象に応答して、多数のチャネルのうちの１つまたは複数の有効性をチェックし、加入者への事象の伝達に使用するため、有効性チェックに従って１つまたは複数のチャネルを決定するように動作し得る。
【００１４】
装置は、事象を受信するように動作する事象コンポーネントを含み、事象は、加入者と関連付けられ、かつ事象のタイプを含み、事象コンポーネントは、加入者および事象のタイプに特有のランキングに基づいて加入者に事象を伝達することを決定するように動作する。
【００１５】
本発明による実施形態では、コンピュータ実装方法は、
ソーシャルネットワーキングサービスから、ソーシャルネットワーキングサービスの加入者と関連付けられた事象を、プロセッサによって受信すること、
加入者に事象を伝達することを決定すること、
各チャネルと関連付けられたランキングに従って、加入者への事象の伝達に使用するため、多数のチャネルのうちの１つまたは複数のチャネルを決定することであって、ランキングは、加入者に特有であり、加入者履歴に従って決定される、決定すること、
以前の通知に対する加入者応答を記録することであって、記録された応答は、加入者履歴を含む、記録すること、
記録された応答に従って、多数のチャネルの各々に対するランキングを決定すること、
事象に基づいて通知を構築すること、
決定された１つまたは複数のチャネルを使用して加入者に通知を伝送すること
を含む。
【００１６】
本発明によるさらなる実施形態（これも特許請求可能）では、コンピュータ実装方法は、
プロセッサによってソーシャルネットワーキングサービスから、ソーシャルネットワーキングサービスの加入者と関連付けられた事象を受信すること、
加入者に事象を伝達することを決定すること、
各チャネルと関連付けられたランキングに従って、加入者への事象の伝達に使用するため、多数のチャネルのうちの１つまたは複数のチャネルを決定することであって、ランキングは、加入者に特有であり、かつ加入者履歴に従って決定される、決定すること、
事象に基づいて通知を構築すること、
決定された１つまたは複数のチャネルを使用して加入者に通知を伝送すること
を含む。
【００１７】
コンピュータ実装方法は、
以前の通知に対する加入者応答を記録することであって、記録された応答は、加入者履歴を含む、記録すること、
記録された応答に従って、多数のチャネルの各々に対するランキングを決定すること、
関連付けられたランキングおよび加入者によって設定された好みのうちの１つもしくは複数、加入者デバイスについての情報、１つもしくは複数のデバイス上の加入者の存在、現在の位置、または、現在の日付および時間に基づいて１つまたは複数のチャネルを決定すること
を含み得る。
【００１８】
コンピュータ実装方法は、
以前の通知に対する加入者応答を記録することであって、記録された応答は、加入者履歴を含む、記録すること、
記録された応答に従って、多数のチャネルの各々に対するランキングを決定すること、
関連付けられたランキングおよび加入者によって設定された好みのうちの１つもしくは複数、加入者デバイスについての情報、１つもしくは複数のデバイス上の加入者の存在、現在の位置、または、現在の日付および時間に基づいて１つまたは複数のチャネルを決定すること
をさらに含み得る。
【００１９】
また、コンピュータ実装方法は、
加入者への事象の伝達に使用するため、多数のチャネルのうちの２つ以上のチャネルを決定すること、
２つ以上の決定されたチャネルのうちの１つが加入者への事象の伝送に成功したと判断すること、
加入者への事象の伝送に成功したチャネル以外のチャネル上での加入者への事象の伝送をキャンセルすること
を含み得る。
【００２０】
コンピュータ実装方法は、
加入者と関連付けられた第２の事象を受信すること、
加入者に第２の事象を伝達することを決定すること、
事象と第２の事象とを組み合わせて第２の通知にすること、
加入者への伝送のために通知を第２の通知と取り換えること
をさらに含み得る。
【００２１】
また、コンピュータ実装方法は、
決定されたチャネルのうちの１つに配信の試みの失敗があったと判断すること、
配信の試みの失敗に応答して、加入者への事象の伝達に使用するため、各チャネルと関連付けられたランキングに従って多数のチャネルのうちの追加のチャネルを決定すること、
決定された追加のチャネルを使用して加入者に通知を伝送すること
を含み得る。
【００２２】
コンピュータ実装方法は、
受信された事象に応答して、多数のチャネルのうちの１つまたは複数の有効性をチェックすること、
有効性チェックに従って、加入者への事象の伝達に使用するため、１つまたは複数のチャネルを決定すること
をさらに含み得る。
【００２３】
本発明のさらなる実施形態では、少なくとも１つのコンピュータ可読記憶媒体は、実行されると、本発明による方法または上記で言及される実施形態のいずれかをシステムに実行させる命令を含む。
【００２４】
本発明のさらなる実施形態（これも特許請求可能）では、少なくとも１つのコンピュータ可読記憶媒体は、実行されると、
ソーシャルネットワーキングサービスの加入者に伝達するため、ソーシャルネットワーキングサービスから事象を受信すること、
受信された事象に応答して、多数のチャネルのうちの１つまたは複数の有効性をチェックすること、
加入者への事象の伝達に使用するため、各チャネルと関連付けられたランキングおよび有効性チェックに従って多数のチャネルのうちの１つまたは複数のチャネルを決定することであって、ランキングは、加入者に特有であり、加入者履歴に従って決定される、決定すること、
事象に基づいて通知を構築すること、
決定された１つまたは複数のチャネルを使用して加入者に通知を伝送すること
をシステムに実行させる命令を含む。
【００２５】
コンピュータ可読記憶媒体は、実行されると、
加入者への事象の伝達に使用するため、各チャネルと関連付けられたランキングに従って多数のチャネルのうちの２つ以上のチャネルを決定すること、
２つ以上の決定されたチャネルのうちの１つが加入者への事象の伝送に成功したと判断すること、
加入者への事象の伝送に成功したチャネル以外のチャネル上での加入者への事象の伝送をキャンセルすること
をシステムに実行させる命令を含み得る。
【００２６】
コンピュータ可読記憶媒体は、実行されると、
加入者と関連付けられた第２の事象を受信すること、
事象と第２の事象とを組み合わせて第２の通知にすること、
加入者への伝送のために通知を第２の通知と取り換えること
をシステムに実行させる命令をさらに含み得る。
【００２７】
また、コンピュータ可読記憶媒体は、実行されると、
決定されたチャネルのうちの１つに配信の試みの失敗があったと判断すること、
配信の試みの失敗に応答して、加入者への事象の伝達に使用するため、各チャネルと関連付けられたランキングに従って多数のチャネルのうちの追加のチャネルを決定すること、
決定された追加のチャネルを使用して加入者に通知を伝送すること
をシステムに実行させる命令を含み得る。
【００２８】
本発明のさらなる実施形態（これも特許請求可能）では、１つまたは複数の非一時的なコンピュータ可読記憶媒体は、実行されると、本発明による方法または上記で言及される実施形態のいずれかを実行するように動作するソフトウェアを具体化する。
【００２９】
本発明のさらなる実施形態（これも特許請求可能）では、システムは、１つまたは複数のプロセッサと、プロセッサによって実行可能な命令を含む、プロセッサと結合されたメモリとを備え、プロセッサは、命令を実行する際、本発明による方法または上記で言及される実施形態のいずれかを実行するように動作する。
【図面の簡単な説明】
【００３０】
【図１】通知システムの実施形態を示す。
【図２】ロギングおよび機械学習コンポーネントを含む通知システムの第２の実施形態を示す。
【図３】加入者への伝送のための第２の事象を含む通知システムの第３の実施形態を示す。
【図４】事象コンポーネントを含む通知システムの第４の実施形態を示す。
【図５】通知システムの一部として使用するためのショートメッセージサービスセンタを示す。
【図６】部分的なメッセージの配信の失敗を含むショートメッセージサービスセンタの第２の実施形態を示す。
【図７】デバイス加入者情報データベースとのクエリおよび応答を含むショートメッセージサービスセンタの第３の実施形態を示す。
【図８】メッセージの伝送をキャンセルするという送信者からの要求を含むショートメッセージサービスセンタの第４の実施形態を示す。
【図９】第１のメッセージと組み合わされた第２のメッセージを含むショートメッセージサービスセンタの第５の実施形態を示す。
【図１０】存在システムの実施形態を示す。
【図１１】ウェブページが存在状態の伝達に使用される存在システムの第２の実施形態を示す。
【図１２】ソーシャルネットワーキングウェブページが存在状態の伝達に使用される存在システムの第３の実施形態を示す。
【図１３】ユーザが存在していると判断するために好結果の部分的なメッセージが使用される存在システムの第４の実施形態を示す。
【図１４】ユーザが存在していないと判断するために失敗した部分的なメッセージが使用される存在システムの第５の実施形態を示す。
【図１５】有効性システムの実施形態を示す。
【図１６】配信チャネルの有効性を決定するためにデバイス加入者情報データベースが使用される有効性システムの第２の実施形態を示す。
【図１７】配信チャネルの有効性をチェックするためにデバイス上のアプリケーションが使用される有効性システムの第３の実施形態を示す。
【図１８】図１のシステムに対する集中型システムの実施形態を示す。
【図１９】図１のシステムに対する分散型システムの実施形態を示す。
【図２０】図１のシステムに対する論理フローの実施形態を示す。
【図２１】コンピューティングアーキテクチャの実施形態を示す。
【図２２】通信アーキテクチャの実施形態を示す。
【発明を実施するための形態】
【００３１】
様々な実施形態は、一般に、加入者に通知を伝達するための強化通知システムを対象とする。いくつかの実施形態は、詳細には、知的にプログラムで配信チャネルを選択し、それらの配信チャネル上で配信プロセスを積極的に管理するプロセスを通じて、加入者に通知を伝達するための技法を対象とする。
【００３２】
インターネットユーザは、インターネットベースのサービスへの加入者であり得、したがって、興味深い事象が発生した際にそのサービスから連絡が来ることを希望する。例えば、個人は、ソーシャルネットワーキングサービスに登録したり、サービス上のプロファイルをセットアップしたり、サービス上の他の加入者との定義された関係を登録したり、他のソーシャルネットワーキング活動を実行したりすることができる。次いで、別の加入者が加入者にメッセージを送信したり、加入者を含む画像を掲示したり、加入者を写真にタグ付けしたり、加入者のプロファイル上にメッセージを置いたりなどの事象、または、別の加入者が起こした他の事象などがサービス上で発生する。また、サービスが、加入者のアカウントで起こり得るセキュリティ問題を検出したり、サービスに登録された事象についてのリマインダを加入者に送信したりする事象および同様のものなど、別の加入者に依存しない事象も発生し得る。通知システムは、これらのおよび他の事象について加入者に通知するために使用することができる。
【００３３】
ソーシャルネットワーキングサービスが情報を有するいかなる事象も、サービス上で発生したと見なすことができることが認識されよう。サービスは、他で発生した事象の知識を集めるか、収集するか、受信するか、送信されるかまたは得ることができ、ソーシャルネットワーキングサービスの内部で発生した事象と同じものとしてそれらの事象を加入者に通知することを考慮したり実行したりすることができる。いくつかの事例では、このことは、ソーシャルネットワーキングサービス上にインストールされているかまたはソーシャルネットワーキングサービスに登録されている別の実体からの第三者プラグインを通じて達成することができる。いくつかの事例では、このことは、別のサービスに登録されているかまたは別のサービス上にインストールされているソーシャルネットワーキングサービス用のプラグインを通じて達成することができる。例えば、ブロギングサービスは、ソーシャルネットワーキングサービスと情報を共有するように構成することができ、その後、加入者に事象を伝達する目的のため、ソーシャルネットワーキングサービスは、ブロギングサービス上で発生した事象をソーシャルネットワーキングサービス上で発生したものとして扱うことができる。このことは、ブロギングサービスプラグインをソーシャルネットワーキングサービスに登録するブロギングサービスを通じて、ソーシャルネットワーキングプラグインをブロギングサービスに登録するソーシャルネットワーキングサービスを通じて、または、ソーシャルネットワーキングサービスがブロギングサービス上で発生した事象の知識を得られるようにする他の任意のメカニズムを通じて達成することができる。
【００３４】
サービスに加入する動作には、興味深い事象がある場合に連絡が来るという要求は明示的には含まれておらず、単に、サービスに登録する動作またはそうでなければサービスとの関連性を生み出す動作を指し得ることが認識されよう。同様に、インターネットベースのサービスは、単に、そのサービスのうちのいくつかを提供するためにインターネットを利用するサービスであり得、必ずしもサービスのすべてを提供するためのものではない。
【００３５】
ビジネスロジックは、特定の事象について特定の加入者に通知するかどうかを判断するために実装することができる。事象の発生と同時に、サービスは、通知の形態で加入者に事象を伝送するかどうかについての判断を実行することができる。これらの判断は、グローバルな因子（サービスへのすべての加入者に適用される因子）と加入者特有の因子の両方に基づき得る。同様に、判断は、すべての事象に共通の因子に依存し得、事象のタイプに特有の因子に依存し得る。例えば、加入者のサービスアカウントにおけるセキュリティ問題の場合はすべての加入者に通知を渡すと判断することができる。しかし、何人かの加入者は例えば写真にタグ付けされるという通知を受信することを希望しているが、他の加入者は希望していないと判断することができ、したがって、写真タグ付け通知を送信するかどうかの判断は、加入者によって異なることになる。この判断は、明示的な加入者の好み、機械学習を通じて決定される暗黙的な加入者の好みおよび加入者の状態についての現在の情報によって変更される、加入者が好むことについてのグローバルなデフォルトの仮定に基づき得る。
【００３６】
サービスは、加入者に事象の通知を伝送するかまたは通知の伝送への使用を試みるための複数の配信チャネルを有し得る。例えば、加入者は、音声電話またはショートメッセージサービス（ＳＭＳ）メッセージに使用することができる１つまたは複数の電話番号をサービスに登録した可能性がある。加入者は、通知Ｅメールを送信することができる１つまたは複数の電子メール（Ｅメール）アドレスをサービスに登録した可能性がある。サービス用のウェブページを現在閲覧している加入者は、ポップアップ通知、通知インジケータまたは通知を表示するようにウェブページを変更する他の方法など、ウェブページにプッシュされた情報を受信することができる。加入者は、ＩＭベースの通知を加入者に送信することができる１つまたは複数のインスタントメッセージ（ＩＭ）アカウントをサービスに登録した可能性がある。加入者は、通知をプッシュすることができる、コンピュータ上（デスクトップ、ラップトップまたはモバイルデバイス上など）にインストールされた１つまたは複数のアプリケーションを有し得る。
【００３７】
サービスに知られている配信チャネルのうちの１つまたは複数を登録するよりむしろ、加入者は、別の第三者ソースを通じて他の加入者によって入力された情報を理由に、または、サービスによって加入者に提供されたＥメールアドレスなど、配信チャネルがインターネットベースのサービスによって提供されることを理由に、配信チャネルを決定した可能性があることが認識されよう。
【００３８】
加入者と連絡を取るためおよび通知を配信するための複数の配信チャネルを有するため、サービスは、通知の送信に使用するための配信チャネルのサブセットを選択しなければならない可能性がある。この選択は、グローバルな因子（サービスへのすべての加入者に適用される因子）と加入者特有の因子の両方に基づき得る。同様に、判断は、すべての事象に共通の因子に依存し得、事象のタイプに特有の因子に依存し得る。例えば、加入者のサービスアカウントにおけるセキュリティ問題の場合はすべての既知の配信チャネルが同時に使用されると判断することができる。しかし、所定の加入者は、例えば、別の加入者によって、ＳＭＳではなく、Ｅメールまたはプッシュ通知を使用してメッセージが送信されるという通知を受信することを好むと判断することができる。この選択は、明示的な加入者の好み、機械学習を通じて決定される暗黙的な加入者の好みおよび加入者の状態についての現在の情報によって変更される、配信チャネル加入者が好むことについてのグローバルなデフォルトの仮定に基づき得る。
【００３９】
したがって、加入者に関連している事象の発生は、その事象にどのように応答するかを判断するサービスの複数段階プロセスを開始することができる。第１の段階では、加入者に事象を伝送するかどうかが判断される。第２の段階では、事象が伝達される予定の場合、多数のチャネルのうちのどの配信チャネルを事象の伝達に使用するかどうかが判断される。第３の段階では、この場合もやはり、事象が伝達される予定の場合、事象は、通知や、事象のニュースを伝達する機械または人間が読み取れるメッセージに変換され、決定されたチャネル上で伝送が試みられ、その伝送は、サービスによってモニタされ、管理され、潜在的に変更される。その結果、実施形態は、いつ、どのように、加入者と連絡を取るかについての知的判断を通じて、その加入者に対するサービスの実用性を向上することができる。
【００４０】
本明細書で使用される表記法および命名法への一般参照を用いることで、以下の詳細な説明は、コンピュータまたはコンピュータのネットワーク上で実行されるプログラム手順の観点から提示することができる。これらの手順説明および表現は、当業者が彼らの研究内容を他の当業者に最も効果的に伝えるために使用される。
【００４１】
手順は、ここでは、そして一般に、所望の結果に至るオペレーションの自己無撞着シーケンスと考えられる。これらのオペレーションは、物理量の物理操作を必要とするものである。通常、必須ではないが、これらの量は、格納、転送、結合、比較および別の操作が可能な電気信号、磁気信号または光信号の形態を取る。主に共通使用の理由で、これらの信号をビット、値、要素、シンボル、文字、用語、数または同様のものと見なすことが時々便利であることが証明されている。しかし、これらのおよび同様の用語はすべて、適切な物理量と関連付けられることになっており、それらの量に適用される単なる便利なラベルであることに留意されたい。
【００４２】
さらに、実行される操作は、多くの場合、一般に人間オペレータによって実行される知的オペレーションと関連付けられる、追加または比較などの用語で言及される。大抵の場合、人間のオペレータのそのような能力は、１つまたは複数の実施形態の一部を形成する本明細書で説明されるオペレーションのいずれかにおいて、必須でも望ましくもない。むしろ、オペレーションは、機械オペレーションである。様々な実施形態のオペレーションの実行に有用な機械は、汎用デジタルコンピュータまたは同様のデバイスを含む。
【００４３】
また、様々な実施形態は、これらのオペレーションを実行するための装置またはシステムにも関する。この装置は、必要な目的のために特別に構築することも、コンピュータに格納されたコンピュータプログラムによって選択的に起動または再構成されるような汎用コンピュータを備えることもできる。本明細書で提示される手順は、特定のコンピュータまたは他の装置に本質的に関連することはない。様々な汎用機械を本明細書の教示に従って書き込まれたプログラムと共に使用することも、必要な方法ステップを実行するためのより専門的な装置を構築することが便利であることを証明することもできる。これらの様々な機械に必要な構造は、与えられた説明から見えるであろう。
【００４４】
ここでは図面を参照し、図面では、同様の参照番号は、図面全体を通じて、同様の要素を言及するために使用される。以下の説明では、説明を目的として、多くの特定の詳細がその徹底的な理解を提供するために記載される。しかし、これらの特定の詳細なしで、新規の実施形態を実践できることが明らかであり得る。他の例では、周知の構造およびデバイスがその説明を容易にするためにブロック図の形態で示されている。その意図は、特許請求される対象物と一致するすべての変更形態、均等物および代替形態を包含することである。
【００４５】
図１は、通知システム１００のブロック図を示す。一実施形態では、通知システム１００は、１つまたは複数のコンポーネントを備える通知エンジン１３０を有するコンピュータ実装通知システム１００を含み得る。図１に示される通知システム１００は、あるトポロジでの限られた数の要素を有するが、通知システム１００は、所定の実装形態で所望されるような代替のトポロジでのより多くのまたはより少ない要素を含み得ることを認識することができる。
【００４６】
「ａ」、「ｂ」、「ｃ」および同様の指定子は、本明細書で使用される場合、いかなる正の整数も表す変数であることが意図されることを留意するに値する。したがって、例えば、実装形態がａ＝５の値を設定した場合、配信チャネルの完全なセット１７０−ａは、５つの配信チャネル１７０−１、１７０−２、１７０−３、１７０−４および１７０−５を含み得る。実施形態は、この環境に限定されない。
【００４７】
通知システム１００は、通知エンジン１３０を備え得る。通知エンジン１３０は、一般に、ソーシャルネットワーキングサービス１１０などのオンラインサービスから事象１１５を受信し、既知の配信チャネル１７０−ａを使用してソーシャルネットワーキングサービス１１０の加入者１２０に事象１１５を伝達するかどうかおよびどのように伝達するかを判断するように構成することができる。
【００４８】
通知エンジン１３０は、チャネルコンポーネント１４０を備え得る。チャネルコンポーネント１４０は、ソーシャルネットワーキングサービス１１０の加入者１２０に伝達するため、ソーシャルネットワーキングサービス１１０から事象１１５を受信するように動作し得る。通知エンジン１３０は、加入者１２０に事象１１５を伝達するため、多数のチャネル１７０−ａのうちの１つまたは複数のチャネル１４５を決定するかまたは選択することができる。この決定は、各チャネル１７０−ａと関連付けられたランキング１５０に従って行うことができ、ランキング１５０は、加入者１２０に特有であり、他の因子の中でも加入者履歴に従って決定される。
【００４９】
事象１１５は、加入者１２０に関連しているかまたは加入者１２０と関連付けられているとソーシャルネットワーキングサービス１１０が判断したいかなる情報も含み得る。事象１１５は、ソーシャルネットワーキングサービス１１０における加入者１２０のアカウントに関連する変更、発行または進展に相当し得る。事象１１５は、ソーシャルネットワーキングサービス１１０上での加入者１２０の連絡先、友達、仲間または別の定義された関係に関連する変更、発行または進展に相当し得る。事象１１５は、加入者１２０が社会的関与をソーシャルネットワーキングサービス１１０に登録した日への日付変更など、加入者１２０または加入者１２０のプロファイルに影響を及ぼす、加入者１２０とは無関係の進展に相当し得、したがって、事象１１５は、日付変更を理由に、社会的関与について加入者１２０に通知する。いくつかの実施形態では、通知エンジン１３０は、ソーシャルネットワーキングサービス１１０のコンポーネントまたは一部を含むことも、ソーシャルネットワーキングサービス１１０と同じプロバイダによって維持することもできる。他の実施形態では、通知エンジン１３０は、ソーシャルネットワーキングサービス１１０とは異なるものであり得る。
【００５０】
チャネルコンポーネント１４０は、加入者１２０に事象１１５を伝達するため、１つまたは複数のチャネル１４５を決定するためのチャネルランキング１５０を使用することができる。チャネルランキングは、そのチャネルを使用して加入者１２０と通信するための、加入者１２０の重み付けされた好みの推定を含み得る。例えば、ユーザが通知エンジン１３０に登録されたＳＭＳチャネルとＥメールチャネルの両方を有する場合、チャネルランキング１５０は、ＳＭＳチャネルの使用とＥメールチャネルの使用に対する加入者１２０の相対バイアスを表し得る。ＳＭＳよりもＥメールの受信を希望する加入者１２０は、ＳＭＳチャネルよりもＥメールチャネルの方に高い重み付けを有するであろう。チャネルコンポーネント１４０は、事前に定義された閾値を超える重みを有するチャネル１４５を選択することができる。チャネルコンポーネント１４０は、多数の配信チャネル１７０−ａのうちの少なくとも最も高い重みを有するチャネルを常に選択するように動作し得る。
【００５１】
事象１１５は、特定のタイプのものであり得る。一実施形態では、例えば、タイプは、セキュリティ通知、プロファイル活動、友達活動およびメッセージのうちの１つであり得る。事象の他のタイプまたはカテゴリを使用できることが認識されよう。加入者１２０のためのチャネルランキング１５０は、事象１１５のタイプにわたってグローバルなものでも、事象１１５のタイプに特有のものでもあり得る。チャネルランキング１５０は、各チャネルに対するグローバルな重みとタイプ特有の重みの両方を有し得、その結果、特定の事象１１５に対してどのチャネル１４５を使用するかを決定するために使用される重みは、事象１１５に対応するタイプに対して、グローバルな重みとタイプ特有の重みとの組合せであり得る。したがって、チャネルコンポーネント１４０は、グローバルな重みとタイプ特有の重みの両方に基づいて、配信チャネル１７０−１の各チャネルに対して組み合わされた重みを構築するように動作し得、構築された組み合わされた重みは、事象１１５の伝送に使用されるチャネル１４５を決定するために使用される。重みを組み合わせることは、重みを加算して重みを平均化すること、または他の任意の公知の重みを組み合わせる方法を含み得る。いくつかの実施形態では、タイプ特有の重みは、グローバルなデフォルトに従って、セキュリティ通知などのある優先度の高い事象のタイプに対して高くなるように事前に設定することができる。セキュリティ通知に対するタイプ特有の重みの事前設定は、チャネルコンポーネント１４０がより大きな数の配信チャネルにわたってセキュリティ通知を伝送する傾向を増加させるであろう。
【００５２】
いくつかの実施形態では、チャネルコンポーネント１４０は、配信チャネルがチャネル上の保留中の１つまたは複数の通知を有する場合、配信チャネルに対して低減された重みを使用するように動作し得る。チャネルコンポーネント１４０は、保留中の通知の数に比例して、配信チャネルの重みを低減するように動作するか、チャネル上の追加の保留中の通知ごとに次第に低減するように一般に動作し得る。いくつかの実施形態では、チャネルコンポーネント１４０は、配信チャネルが事象１１５と同じタイプのチャネル上の保留中の１つまたは複数の通知を有する場合や、同通知を有する場合にのみ、配信チャネルの重みを低減するように動作し得る。
【００５３】
チャネルランキング１５０は、加入者履歴に従って決定することができる。加入者履歴は、定義された期間の間（例えば、数日間、数週間、数年間など）の加入者１２０とソーシャルネットワーキングサービス１１０または通知エンジン１３０との相互作用の完全なまたは部分的な記録に相当し得る。例えば、チャネルランキング１５０は、特定の配信チャネルへの応答に対する好みまたはその配信チャネルへの応答への高い可能性を示す加入者履歴を加入者１２０が有する場合、その配信チャネルに対して高いものであり得る。加入者１２０に事象１１５を伝送するかどうかおよびどのように伝送するかの判断は、組み合わされたランキングに依存し得、組み合わされたランキングは、事象１１５のタイプに依存し得る。したがって、加入者１２０に事象１１５を伝送するかどうかおよびどのように伝送するかの判断は、事象１１５とチャネルランキング１５０との相関に依存し得る。
【００５４】
いくつかの実施形態では、チャネルコンポーネント１４０は、関連付けられたランキング１５０および加入者１２０によって設定された好みのうちの１つもしくは複数、加入者デバイスについての情報、１つもしくは複数のデバイス上の加入者の存在、現在の位置、または、現在の日付および時間に基づいて、１つまたは複数のチャネル１４５を決定するように動作し得る。
【００５５】
加入者１２０によって設定された加入者の好みは、通知エンジン１３０またはソーシャルネットワーキングサービス１１０に登録された明示的に設定された好みに相当し得る。好みは、あるタイプの事象が特定の配信チャネルを介して常に伝達されるべきであるかまたは決して伝達されるべきではないという加入者１２０による明示的な表示を含み得る。好みは、事象の伝達に対してまたはあるタイプの事象の伝達に対して、ある配信チャネルが好ましいかまたは好ましくないという加入者１２０による明示的な表示を含み得る。
【００５６】
加入者デバイスについての情報は、加入者１２０と関連付けられたデバイスの現在の状態についての情報を含み得る。例えば、モバイルデバイスの電源が入っていないか、バッテリ残量が少ないか、またはそうでなければ、セルラネットワーク上で利用不可能であると判断された場合、特定の加入者モバイルデバイスにＳＭＳを送信することはできない。同様に、アプリケーションをホストするデバイスが利用不可能であると判断された場合、アプリケーションにプッシュ通知を送信することはできない。
【００５７】
加入者の存在は、特定の配信チャネルを介する通信に加入者１２０が対応できることを示す情報に相当し得る。配信チャネルおよびそのチャネル上で使用されるデバイスは、存在情報を提供することができ、存在情報は、配信チャネルを介する通信に加入者が対応できることに関する証明または反証である。例えば、Ｅメールに応答している加入者は、加入者がＥメールチャネル上に存在しているという証拠を含み得る。加入者のデバイスへのＳＭＳメッセージの送信の試みの失敗は、加入者がＳＭＳチャネル上に存在していないという証拠を提供し得る。加入者の存在状態は、チャネルコンポーネント１４０に含めることができるものなど、加入者が１つまたは複数の配信チャネル上に存在しているかどうかに関する、存在システムによる決定を含み得る。チャネルコンポーネント１４０が加入者の存在に関してたった１つの証拠しか有さない事例では、その証拠が存在状態を決定することができる。チャネルコンポーネント１４０が配信チャネルに関して複数の証拠を有する事例では、証拠を一緒に組み合わせて、存在状態を生成することができる。例えば、インスタントメッセージングサービスは、加入者１２０がサービス上に存在しているかどうかに関する記録を維持することができる。チャネルコンポーネント１４０は、加入者１２０が配信チャネル上に存在していることが確認された場合、その配信チャネルにより重い重みを置くか、または、加入者１２０が配信チャネル上に存在していないことが確認された場合、その配信チャネルを検討対象から除外することができる。
【００５８】
現在の位置は、加入者１２０の現在の位置に相当し得る。加入者１２０の位置は、加入者１２０と関連付けられた１つまたは複数のデバイスに従って決定することができる。例えば、加入者１２０と関連付けられたモバイルデバイスは、モバイルデバイスの現在の位置の決定が可能な全地球測位システム（ＧＰＳ）ユニットを有し得る。チャネルコンポーネント１３０は、加入者１２０が事象１１５に対応する位置にいる場合、ＳＭＳなどの加入者１２０に割り込む配信チャネルを使用する可能性が高くなるように動作し得る。
【００５９】
現在の日付および時間は、ソーシャルネットワーキングサービス１１０または加入者１２０の現在の日付および時間に相当し得る。チャネルコンポーネント１４０は、日中、仕事中または起きている時間中に通知１５５を受信する場合、加入者１２０に割り込む配信チャネルを使用する可能性が高くなるように動作し得る。
【００６０】
いくつかの実施形態では、受信された事象１１５は、第２の加入者と関連付けることができ、加入者１２０および第２の加入者は、ソーシャルネットワーキングサービス１１０において定義された関係を有する。第２の加入者は、具体的には、ソーシャルネットワーキングサービス１１０の加入者であり得る。定義された関係は、定義できるか、表せるかまたはソーシャルネットワーキングサービス１１０に登録できるいかなる関係も含み得る。定義された関係は、友達関係、職場関係、家族関係、学校関係、友達の友達関係または他の任意のタイプの定義された関係を含み得る。第２の加入者と関連付けられた事象１１５は、例えば、第２の加入者が加入者１２０にメッセージを送信すること、第２の加入者が加入者１２０を写真にタグ付けすること、第２の加入者がウォールまたはプロファイルに加入者１２０を掲示すること、第２の加入者が加入者１２０をイベントに招待すること、第２の加入者が加入者１２０にグループに参加するように勧誘すること、第２の加入者が加入者１２０のポストまたはプロファイル情報を好むかまたはコメントすること、あるいは、加入者１２０と第２の加入者の両方に関連付けられた他の任意の相互作用形態を含み得る。
【００６１】
いくつかの実施形態では、多数の配信チャネル１７０−ａは、ショートメッセージサービス（ＳＭＳ）、電話、電子メール（Ｅメール）、プッシュベースのＥメール、インターネットメッセージアクセスプロトコル（ＩＭＡＰ）アイドル通知、アウトルック（Ｏｕｔｌｏｏｋ）モバイルアクセス（ＯＭＡ）プッシュ通知、インスタントメッセージ（ＩＭ）、音声自動応答（ＩＶＲ）による音声通知、非構造付加サービスデータ（ＵＳＳＤ）通知、ＳＩＰ通知、ウェブ通知、モバイルアプリケーションへのプッシュ通知、他の任意のプッシュ通知形態、または、加入者１２０に通知１５５を伝送するための他の任意の技法のうちの２つ以上を含み得る。多数の配信チャネル１７０−ａは、通知エンジン１３０と加入者１２０との間の任意の公知の電子通信形態を含み得る。
【００６２】
通知コンポーネント１６０は、事象１１５に基づいて通知１５５を構築し、決定された１つまたは複数のチャネル１４５を使用して加入者に通知１５５を伝送するように動作し得る。通知１５５を構築することは、機械が読み取れるフォーマットから人間が読み取れるフォーマットに事象１１５を変換することを含み得る。例えば、通知１５５は、加入者１２０への事象１１５の伝送および加入者１２０への事象１１５の伝達の管理に関連している情報を含む関連フィールドを有するテキスト文字列であるが、事象１１５は、データ構造オブジェクトにおいて符号化することができる。通知コンポーネント１６０による事象１１５から通知１５５への変換は、ローカル言語または加入者１２０が好む言語への変換を含み得る。例えば、事象１１５は、ソーシャルネットワーキングサービス１１０のデフォルト言語に従って格納し、通知１５５の構築の間に加入者１２０に適切な言語に変換することができる。事象のタイプが事象１１５と関連付けられる場合は、通知１５５を構築することは、事象のタイプと関連付けられたテキストテンプレートを回収し、事象１１５の詳細で、テキストテンプレートの空欄を埋めることによってなど、テキストテンプレートを変更することを含み得る。
【００６３】
通知１５５は、チャネルコンポーネント１４０によって選択されたチャネル１４５に基づいて構築することができる。複数の配信チャネルが選択された場合、通知１５５は、多数のインスタンス化で構築することができ、各インスタンス化は、配信チャネルに特有である。例えば、ＳＭＳは、限られた数の文字を有し得、その結果、通知１５５は、Ｅメールチャネルに対するインスタンス化とは異なるＳＭＳチャネルに対する特定のインスタンス化を有する。特定のタイプの事象１１５は、配信チャネル１７０−ａの各々に特有の多くのテキストテンプレートを有し得、チャネルコンポーネント１４０によってチャネル１４５が選択された時点で、テキストテンプレートの各々は、事象１１５に従って回収され、変更される。
【００６４】
いくつかの実施形態では、チャネルコンポーネント１４０は、多数のチャネル１７０−ａのうちの２つ以上のチャネル１４５を決定するように動作し得、通知コンポーネント１６０は、２つ以上のチャネル１４５のうちの別のチャネル上の事象１１５の伝送の成功に応答して、２つ以上のチャネル１４５のうちの１つのチャネル上の事象１１５の伝送をキャンセルするように動作し得る。例えば、加入者１２０は、デスクトップコンピュータ上のソーシャルネットワーキングサービス１１０のウェブページを開いたが、外出中であり、ＳＭＳメッセージの受信が可能なモバイルデバイスを持ち歩いている場合、仮に、通知エンジン１３０がウェブ通知とＳＭＳの両方を介して加入者１２０に通知１５５を伝送し、ユーザがＳＭＳから通知１５５に応答するとすれば、通知コンポーネント１６０は、ＳＭＳ通知の成功に応答して、ウェブ通知をキャンセルすることができる。したがって、加入者１２０が家に帰っても、加入者１２０が既に応答した事象１１５に関するウェブ通知をデスクトップコンピュータ上で目にすることはない。
【００６５】
いくつかの実施形態では、通知コンポーネント１６０は、決定された配信チャネル１４５のうちの１つに配信の試みの失敗があったと判断するように動作し得、チャネルコンポーネント１４０は、加入者１２０への事象１１５の伝達に使用するため、多数の配信チャネル１７０−ａのうちの追加の配信チャネルを決定するように動作し得、通知コンポーネント１６０は、決定された追加の配信チャネルを使用して加入者１２０に通知１５５を伝送するように動作し得る。追加の配信チャネルの決定は、チャネル１４５の初期のセットの決定に使用された技法に従って実行することができ、配信の試みの失敗があった配信チャネルは、可能な配信チャネルのセットから除外される。いくつかの実施形態では、通知コンポーネント１６０は、決定された配信チャネル１４５のうちの２つ以上に配信の試みの失敗があったと判断し、それに応答して、追加の配信チャネルを決定するように動作し得る。いくつかの実施形態では、通知コンポーネント１６０は、１つまたは複数の決定された配信チャネル１４５のすべてに配信の試みの失敗があったと判断し、それに応答して、追加の配信チャネルを決定するように動作し得る。
【００６６】
いくつかの実施形態では、チャネルコンポーネント１４０は、加入者１２０への伝送に未だ成功していない場合は、通知１５５を定期的に再評価するように動作し得る。この再評価は、設定されたスケジュール（１時間に１回など）で発生し得る。チャネルコンポーネント１４０は、多数の配信チャネル１７０−ａのうちの１つまたは複数の配信チャネル１４５が未だ配信チャネルの適切なセットであるかどうかを再評価するように動作し得る。例えば、１つまたは複数の配信チャネル１４５のうちの失敗した配信チャネルに１つまたは複数の配信の試みの失敗があった場合、チャネルコンポーネント１４０は、１つまたは複数の配信チャネル１４５を決定する際に、失敗した配信チャネルの重みまたはランキングを低減し、失敗した配信チャネルに対する新しい重みまたはランキングを使用して１つまたは複数の配信チャネル１４５を再度決定するように動作し得る。したがって、チャネルコンポーネント１４０は、加入者１２０に事象１１５を伝達するため、通知１５５の状態を定期的に再評価し、多数の配信チャネル１７０−ａのうちの１つまたは複数の配信チャネルの第２のセットを決定するように動作し得、１つまたは複数の配信チャネルの第２のセットは、最初に決定された１つまたは複数のチャネル１４５に存在しなかった少なくとも１つの追加の配信チャネルを含む。一般に、チャネルコンポーネント１４５は、定期的な再評価の間、以前に行われた決定のいずれかを再評価するように動作し得る。
【００６７】
いくつかの実施形態では、チャネルコンポーネント１４０は、受信された事象１１５に応答して、多数の配信チャネル１７０−ａのうちの１つまたは複数の有効性をチェックし、有効性チェックに従って、加入者１２０への事象１１５の伝達に使用するため、１つまたは複数の配信チャネル１７０−ａを決定するように動作し得る。有効性チェックは、配信チャネルが加入者１２０と関連付けられているかどうかを判断するため、配信チャネル上で実行されるいかなる分析または計算も含み得る。
【００６８】
例えば、加入者１２０は、ソーシャルネットワーキングサービス１１０に電話番号を登録することができる。時間が経つと、加入者１２０は、電話番号を変更する場合がある。しかし、加入者１２０は、電話番号を変更したこと、または、ソーシャルネットワーキングサービス１１０に登録した電話番号がもはや有効ではないことをソーシャルネットワーキングサービス１１０に通知しようとは思わない場合がある。したがって、ソーシャルネットワーキングサービス１１０は、電話番号が未だ加入者１２０と関連付けられているか否かを示す情報を集めることを希望する場合がある。このことは、他の配信チャネルに対して一般化することができる。したがって、チャネルコンポーネント１４０は、配信チャネルが未だ有効な配信チャネルであるかどうかを判断するため、登録された配信チャネルに対するチェックを実行するように動作し得る。したがって、チャネルコンポーネント１４０は、チャネル１４５の決定を考慮する上で、肯定的な有効性チェックを有するそれらの配信チャネルのみ、または、否定的な有効性チェックを有さないそれらの配信チャネルのみを含むように動作し得る。
【００６９】
図２は、通知システム１００の第２のブロック図を示す。通知エンジン１３０は、ロギングコンポーネント２１０と、機械学習コンポーネント２２０とを備え得る。
ロギングコンポーネント２１０は、以前の通知２５５−ｂに対する加入者応答２６５−ｃを記録するように動作し得、記録された応答２６５−ｃは、加入者履歴２１５を含む。加入者１２０は、通知エンジン１３０またはソーシャルネットワーキングサービス１１０との多数の相互作用を行うことができ、相互作用は、ロギングコンポーネント２１０によって加入者履歴２１５に記録することができる。詳細には、この多数の相互作用は、加入者１２０に送信された多数の通知２５５−ｂおよび加入者１２０から受信された多数の応答２６５−ｃに相当し得る。通知エンジン１３０がソーシャルネットワーキングサービス１１０の代わりに機能している場合があるため、応答２６５−ｃは、加入者１２０がソーシャルネットワーキングサービス１１０と連絡を取ることによって通知に応答した応答２６５−ｃであり得ることが認識されよう。
【００７０】
加入者１２０からの応答２６５−ｃのすべてが、通知エンジン１３０またはソーシャルネットワーキングサービス１１０による加入者１２０からの通信の受信に相当するとは限らないことがさらに認識されよう。詳細には、いずれも、特定のタイプの事象についての通知、特定の配信チャネル１７０−ａを介する通知または特定の配信チャネル１７０−ａを介する特定のタイプの事象についての通知の受信に関して加入者１２０がそれぞれ嫌がることまたは好むことを反映できるという点で、加入者１２０が通知１５５への応答に失敗するかまたは通知１５５への応答を辞退することは、加入者１２０が通知１５５への応答に成功するかまたは通知１５５への応答を選択することと同じくらい貴重な情報と見なすことができる。したがって、加入者履歴２１５に記録された応答２６５−ｃは、加入者１２０に送信された各通知２５５−ｂに対して、加入者１２０が通知１５５に応答したか否か、配信チャネル１７０−ａのうちのどのチャネルに応答したか、通知１５５の伝送と受信された応答との間の時間を含み得る。
【００７１】
加入者１２０が応答した配信チャネル１７０−ａは、多くの異なる方法に従って決定することができる。ＳＭＳ、ＥメールまたはＩＭなどのテキストベースの配信チャネル上では、通知１５５は、チャネルに特有のＵＲＬを含み得、その結果、ＵＲＬを開く加入者１２０は、どの配信チャネルが加入者１２０の応答に対する責任があったかをソーシャルネットワーキングサービス１１０に示すことができる。ＳＭＳ、電話、Ｅメール、ＩＭ、プッシュ通知またはウェブ通知などの応答を運べる配信チャネル上では、加入者１２０の応答に対する責任を有する配信チャネルは、その配信チャネル上で返送された加入者の応答によって示すことができる。
【００７２】
機械学習コンポーネント２２０は、加入者履歴２１５における記録された応答に従って、関連付けられたランキング１５０を決定するように動作し得る。各配信チャネル１７０−ａは、チャネルランキング１５０と関連付けられている場合がある。機械学習コンポーネント２２０は、ソーシャルネットワーキングサービス１１０に対するデフォルトの重みに従って、各配信チャネル１７０−ａに対する開始重みを設定するように動作し得る。機械学習コンポーネント２２０は、加入者履歴２１５に基づいて、各配信チャネル１７０−ａに対する重みを調整するように動作し得る。機械学習コンポーネント２２０は、配信チャネルに特有であるが、事象のタイプにわたってグローバルな重みを調整するように、事象のタイプに特有であるが、配信チャネルにわたってグローバルな重みを調整するように、および、配信チャネルと事象のタイプの両方に特有の重みを調整するように動作し得る。これらの重みは、チャネルコンポーネント１４０によるチャネル１４５の決定の間、一緒に組み合わせることができる。
【００７３】
機械学習コンポーネント２２０は、配信チャネル１７０−ａにわたって送信された通知２５５−ｂに対して応答２６５−ｃが受信される場合、配信チャネル１７０−ａの重みを増加するように動作し得る。機械学習コンポーネント２２０は、配信チャネル１７０−ａにわたって送信された通知２５５−ｂに対して応答２６５−ｃが受信されない場合、配信チャネル１７０−ａの重みを減少するように動作し得る。機械学習コンポーネント２２０は、配信チャネル１７０−ａにわたって送信された特定のタイプの通知２５５−ｂに対して応答２６５−ｃが受信される場合、そのタイプの通知に対する配信チャネル１７０−ａの重みを増加するように動作し得る。機械学習コンポーネント２２０は、配信チャネル１７０−ａにわたって送信された特定のタイプの通知２５５−ｂに対して応答２６５−ｃが受信されない場合、そのタイプの通知に対する配信チャネル１７０−ａの重みを減少するように動作し得る。
【００７４】
機械学習コンポーネント２２０は、明示的に設定された加入者の好みを通じて配信チャネル１７０−ａが好ましいことを加入者１２０が示す場合、配信チャネル１７０−ａの重みを増加するように動作し得る。機械学習コンポーネント２２０は、明示的に設定された加入者の好みを通じて配信チャネル１７０−ａが好ましくないことを加入者１２０が示す場合、配信チャネル１７０−ａの重みを減少するように動作し得る。
【００７５】
チャネルランキング１５０を調整および設定するプロセスは、機械学習のための公知の方法またはアルゴリズムのいずれか１つに従って実行することができる。例えば、特定の配信チャネル１７０−ａ上での特定のタイプの通知２５５−ｂの受信に対する加入者１２０の好みは、ベイジアン（Ｂａｙｅｓｉａｎ）ネットワーク内の確率として表すことができ、特定のタイプのものであり、特定の配信チャネル１７０−ａ上で伝送される事象１１５が入力であり、加入者１２０が応答したか否かが出力である。しかし、他の方法を使用することもできる。
【００７６】
図３は、通知システム１００の第３のブロック図を示す。通知エンジン１３０は、事象１１５が未だ１つまたは複数の配信チャネル１７０−ａを介して加入者１２０に伝達されている最中に、チャネルコンポーネント１４０によって第２の事象３１５が受信されるという状況に直面し得る。
【００７７】
いくつかの実施形態では、チャネルコンポーネント１４０は、加入者１２０と関連付けられた第２の事象３１５を受信し、加入者１２０に第２の事象３１５を伝達することを決定するように動作し得、通知コンポーネント１６０は、事象１１５と第２の事象３１５とを一緒に組み合わせて第２の通知３５５にするように動作し得、第２の通知３５５は、加入者への伝送のために通知１５５に取って代わる。第２の事象３１５の受信と同時に、チャネルコンポーネント１４０は、加入者１２０への通知１５５の配信に未だ成功していないと判断し、加入者１２０への伝達のため、事象１１５と第２の事象３１５とを一緒に組み合わせることができると判断するように動作し得る。いくつかの実施形態では、加入者１２０に対して複数の事象が保留中の場合は常に、加入者１２０に対して同じタイプの複数の事象が保留中の場合は常に、または、特定の配信チャネルにわたって加入者１２０に対して複数の事象が保留中の場合は常に、２つの事象を一緒に組み合わせることができる。
【００７８】
２つの事象を一緒に組み合わせて第２の通知３５５にすることは、複数の事象を伝達するためのダイジェストテンプレートを使用してダイジェスト通知を構築することを含み得る。ダイジェストテンプレートは、事象のタイプと伝達されている特定の事象の両方に関連するテキストを挿入するための場所を有するテキスト文字列を含み得る。あるいは、第２の通知３５５は、一緒に連結された２つの通知を含み得、その結果、両方の通知のための完全なテキストが、選択された配信チャネルにわたって伝送される。
【００７９】
図４は、通知システム１００の第４のブロック図を示す。通知エンジン１３０は、事象ランキング４５０を有する事象コンポーネント４１０を備え得る。
事象コンポーネント４１０は、事象１１５を受信するように動作し得、事象１１５は、加入者１２０と関連付けられ、事象のタイプを含み、事象コンポーネント４１０は、加入者１２０および事象のタイプに特有のランキング４５０に基づいて加入者１２０に事象１１５を伝達することを決定するように動作し得る。一般に、それらがデフォルトランキング、加入者特有のランキング、事象特有のランキングおよびそれらの組合せを含み得るという点で、事象ランキング４５０は、一般に、チャネルランキング１５０と同様であり得る。
【００８０】
事象ランキング４５０に基づいて事象１１５を伝達するかどうかに関する事象コンポーネント４１０による判断は、様々な技法に従って達成することができる。事象ランキング４５０は、加入者１２０が事象の通知を受信することを希望するかどうかに関する一般的な重みを示す一般的な加入者特有の重みを含み得る。事象ランキング４５０は、加入者１２０が特定のタイプの事象の通知を受信することを希望するかどうかを示すタイプ特有の重みを含み得る。事象コンポーネント４１０は、特定の事象１１５に対する組み合わされた重み付けを生成するため、これらの重みを一緒に組み合わせるように動作し得る。事象コンポーネント４１０は、組み合わされた重みが事前に定義された閾値を超えるそれらの事象を伝送するように動作し得る。
【００８１】
それに加えてまたはその代替として、事象コンポーネント４１０の機能は、チャネルコンポーネント１４０の機能と組み合わせることができる。例えば、チャネルランキング１５０は、事象ランキング４５０と同じであり得、その結果、各事象１１５に対し、重みは、その事象１１５に対して生成される。事象１１５は、配信チャネル１７０−ａのうちの特定の配信チャネルに対する組み合わされた重みが閾値を超える場合にのみ、加入者１２０に伝送することができ、関連付けられた組み合わされた重みが閾値を超えるすべてのチャネル１４５にわたって伝送される。
【００８２】
事象ランキング４５０は、チャネルランキング１５０の決定と実質的に同様のプロセスを通じて決定することができる。機械学習コンポーネント２２０は、ある事象のタイプの通知２５５−ｂに対して応答２６５−ｃが受信される場合、そのタイプに対する事象ランキング４５０における重みを増加するように動作し得る。機械学習コンポーネント２２０は、ある事象のタイプの通知２５５−ｂに対して応答２６５−ｃが受信されない場合、そのタイプに対する事象ランキング４５０における重みを減少するように動作し得る。
【００８３】
いくつかの実施形態では、事象１１５の新鮮さ（事象１１５の発生後の経過時間）は、事象１１５が加入者１２０に伝達されるか否かに関する因子であり得る。事象コンポーネント４１０は、より新鮮な場合に加入者１２０に事象１１５を伝達する可能性が高くなるように、そして、あまり新鮮ではない場合に、加入者１２０に事象１１５を伝達する可能性が低くなるように動作し得る。したがって、事象コンポーネント４１０は、加入者１２０および事象のタイプに特有のランキング４５０に基づいて、ならびに、事象１１５の発生後の経過時間量に基づいて、加入者１２０に事象１１５を伝達することを決定するように動作し得る。
【００８４】
いくつかの実施形態では、事象コンポーネント４１０は、加入者１２０への伝送に未だ成功していない場合は、事象１１５を定期的に再評価するように動作し得る。この再評価は、設定されたスケジュール（１時間に１回など）で発生し得る。いくつかの事例では、事象コンポーネント４１０は、チャネルコンポーネント１４０によって実行される再評価と同期してまたは協調してこの再評価を実行するように動作し得る。事象コンポーネント４１０は、時間の経過および通知１５５を介する加入者への事象１１５の配信の失敗の可能性を考慮して、未だ事象１１５を加入者１２０に伝達すべきかどうかを再評価するように動作し得る。したがって、再評価の際、伝達すべきであることを事象コンポーネント４１０が一度示した事象１１５を、もはや十分に関連していないと判断することができ、事象コンポーネント４１０は、加入者１２０に事象１１５を伝達しないことを決定することができる。したがって、事象コンポーネント４１０は、事象１１５の状態を定期的に再評価し、加入者１２０および事象のタイプに特有のランキング４５０に基づいて、ならびに、事象１１５の発生後の第２の経過時間量に基づいて、加入者１２０に事象１１５を伝達するかどうかを判断するように動作し得、第２の経過時間量は、事象１１５の伝達の最初の決定で使用された経過時間量より大きい。一般に、事象コンポーネント４１０は、定期的な再評価の間、以前に行われた決定のいずれかを再評価するように動作し得る。
【００８５】
いくつかの実施形態では、事象コンポーネント４１０は、加入者１２０が保留中の１つまたは複数の通知を有する場合、一般的な加入者特有の重みに対してまたは事象特有の重みに対して低減された重みを使用するように動作し得る。事象コンポーネント４１０は、加入者１２０が保留中の１つまたは複数の通知を有する場合、低減された加入者特有の重みを使用するように動作し得る。事象コンポーネント４１０は、加入者１２０が保留中のあるタイプの１つまたは複数の通知を有する場合、低減されたそのタイプ特有の重みを使用するように動作し得る。事象コンポーネント４１０は、保留中の通知の数に比例して、重みを低減するように動作するか、チャネル上の追加の保留中の通知ごとに重みを次第に低減するように一般に動作し得る。したがって、加入者１２０は、通知にアクセスする際に、大多数の通知が押し寄せてこないようにすることができる。
【００８６】
図５は、通知システム１００の一部として使用するためのショートメッセージサービスセンタ５３０を示す。ショートメッセージサービスセンタ（ＳＭＳＣ）５３０は、受信コンポーネント５４０と、伝送コンポーネント５５０と、制御コンポーネント５６０とを備え得る。
【００８７】
受信コンポーネント５４０は、送信者５１０からデバイス５２０への伝達のためのショートメッセージサービス（ＳＭＳ）メッセージ５１５を受信するように動作し得る。送信者５１０からＳＭＳメッセージ５１５を受信することは、デバイス５２０を特定する電話番号と共に、デバイス５２０のユーザのための人間が読み取れるメッセージを含むテキスト符号化文字列を送信者が伝送することを含み得る。従来のＳＭＳＣとは異なり、ＳＭＳＣ  ５３０は、ソーシャルネットワーキングサービス１１０などのアプリケーションの代わりに、ＳＭＳメッセージを受信したり、送信したり、転送したり、管理したり、そうでなければ、処理したりするように動作し得る。
【００８８】
送信者５１０は、様々な異なるタイプの送信者を含み得る。いくつかの事例では、送信者５１０は、デバイス５２０にＳＭＳメッセージを送信することを希望する個人（または個人の代わりに動作する携帯電話などのデバイス）であり得る。あるいは、送信者５１０は、特定の個人とは関連付けられていないコンピュータシステムであり得る。送信者５１０は、別のセルラプロバイダのゲートウェイまたはＳＭＳＣであり得、送信者５１０は、ＳＭＳＣ  ５３０がサービス提供を行うデバイス５２０に転送するためにＳＭＳＣ  ５３０にメッセージ５１５を伝送する。送信者５１０は、通知エンジン１３０など、ＳＭＳメッセージを使用してユーザまたは加入者と通信するサーバまたはサーバシステムであり得る。これらの事例のいずれにおいても、ＳＭＳＣ  ５３０は、送信者５１０からメッセージ５１５を受信したり、デバイス５２０への配信を試みたり、配信プロセスについてのフィードバックを送信者５１０に送信したり、送信者５１０から配信を変更またはキャンセルするためのコマンドを受信したりするように動作し得る。
【００８９】
伝送コンポーネント５５０は、デバイスへのメッセージ５１５の伝送を開始するように動作し得る。デバイス５２０へのメッセージ５１５の伝送は、様々な方法のうちの１つに従って達成することができる。メッセージ５１５は、デバイス５２０を特定する電話番号を指定することができ、電話番号は、デバイス５２０に対するルーティング情報を回収するために使用され、ルーティング情報は、デバイス５２０にメッセージ５１５を伝送するために伝送コンポーネント５５０によって使用される。デバイス５２０がＳＭＳＣ  ５３０のオペレータによって維持されるセルラネットワークに属するかまたは同セルラネットワークへの加入者であるモバイルデバイスである場合（メッセージ５１５がオペレータ内のメッセージであることを意味する）、デバイス５２０に対するルーティング情報は、ＳＭＳＣ  ５３０によって格納され、伝送コンポーネント５５０が直接アクセスすることができる。デバイス５２０がＳＭＳＣ  ５３０のオペレータとは異なるオペレータによって維持されるセルラネットワークに属するかまたは同セルラネットワークへの加入者であるモバイルデバイスである場合、伝送コンポーネント５５０は、デバイス５２０が属するセルラネットワークのＳＭＳＣからルーティング情報を要求するように動作し得る。あるいは、伝送コンポーネント５５０は、デバイス５２０が属するセルラネットワークのＳＭＳＣにメッセージ５１５を伝送するように動作し得る。
【００９０】
制御コンポーネント５６０は、デバイス５２０へのメッセージ５１５の伝送をモニタするように動作し得る。メッセージ５１５の伝送をモニタすることは、デバイス５２０へのメッセージ５１５の伝送に成功したかどうか、伝送コンポーネント５５０にデバイス５２０へのメッセージ５１５の配信の試みの失敗があったかどうか、そして、配信の試みの失敗があった場合、配信の試みに何回失敗したかに関するアクティブな記録を制御コンポーネント５６０が維持することを含み得る。配信の試みの失敗があった場合、制御コンポーネント５６０は、電源がオフになっているものとしてセルラネットワークまたは加入者存在およびプロファイルデータベース（ＳＰＰＤ：Ｓｕｂｓｃｒｉｂｅｒ  Ｐｒｅｓｅｎｃｅ  ａｎｄ  Ｐｒｏｆｉｌｅ  Ｄａｔａｂａｓｅ）に登録されているデバイス、電源がオフになっているものとして登録されてはいないが、それにも関わらず、セルラネットワークで見つけることができないデバイス、または、セルラネットワークで見つけられたが、伝送の試みへの好結果の応答に失敗したデバイスなど、配信の失敗の理由を示す情報を記録するように動作し得る。制御コンポーネント５６０は、デバイスがローミングなどの状態にある（伝送を遅延またはキャンセルすべきであることを示す）という伝送コンポーネント５５０の判断により、伝送コンポーネント５５０によるデバイス５２０への伝送がキャンセルまたは遅延されたかどうかをモニタするようにさらに動作し得る。制御コンポーネント５６０によってモニタすることは、制御コンポーネントが、伝送コンポーネント５５０からモニタリング情報５５５を受信し、伝送コンポーネント５５０に制御コマンド５６５を送信することを含み得る。
【００９１】
図６は、部分的なメッセージ６１５の配信の失敗を含む、通知システム１００の一部として使用するためのショートメッセージサービスセンタ５３０の第２の実施形態を示す。
伝送コンポーネント５５０は、デバイス５２０に部分的なメッセージ６１５を伝送し、部分的なメッセージ６１５がデバイス５２０に配信されなかったと判断するように動作し得、制御コンポーネント５６０は、部分的なメッセージ６１５が配信されなかったことに応答して、デバイス５２０が利用可能でないことを送信者５１０に通知するように動作し得る。
【００９２】
部分的なメッセージ６１５は、デバイス５２０に対するルーティング情報を含むが、デバイス５２０のユーザに対するメッセージの本文がないメッセージを含み得る。部分的なメッセージ６１５は、デバイス５２０から対応する「ＯＫ」信号を要求するために「ＡＴ」コンソールコマンドを送信することによってなど、応答が要求されることをデバイス５２０に示すため、部分的なメッセージ６１５のヘッダにおけるメタデータコマンドまたはコマンドを含み得る。部分的なメッセージ６１５がデバイス５２０に配信されなかったと判断することは、伝送コンポーネント５５０が、活動時間（ＴＴＬ：ｔｉｍｅ−ｔｏ−ｌｉｖｅ）タイマの期限切れを通じてなど、デバイス５２０が利用可能であることを示す応答を受信することなく、デバイス５２０への部分的なメッセージ６１５の伝送から十分な時間が経過したことを計算することを含み得る。
【００９３】
制御コンポーネント５６０は、部分的なメッセージ６１５が配信されなかったことに応答して、デバイス５２０が利用可能でないことを示す通知６５５を送信者５１０に伝送するように動作し得る。この通知６５５は、メッセージ５１５に対する識別子と共に、配信の試みの失敗を示す文字列、数値または他の識別子を含むメッセージを含み得る。
【００９４】
部分的なメッセージ６１５は、メッセージ５１５を送信する前にデバイス５２０の利用可能性を判断するという伝送コンポーネント５５０による試みを含み得、デバイスへのメッセージの伝送の通常の部分を含み得る。部分的なメッセージ６１５の配信の成功に応答して、伝送コンポーネント５５０は、デバイス５２０にメッセージ５１５を自動的に送信するように動作し得る。いくつかの実施形態では、伝送コンポーネント５５０は、メッセージ５１５の受信のためのデバイス５２０の利用可能性を判断するため、部分的なメッセージ６１５の受信に成功するまで、部分的なメッセージ６１５の再送信に定期的に試みるように動作し得る。これらの実施形態では、制御コンポーネント５６０は、メッセージ５１５の受信のためにデバイス５２０が利用可能性であることの確立の進展について通知を更新するため、送信者５１０に通知６５５のような通知を繰り返して送信するように動作し得る。これらの通知は、応答なしで複数の部分的なメッセージが送信された場合は、失敗した部分的なメッセージの数に関する情報を含み得る。
【００９５】
図７は、デバイス加入者情報データベース７２０とのクエリ７１５および応答を含む、通知システム１００の一部として使用するためのショートメッセージサービスセンタ５３０の第３の実施形態を示す。
【００９６】
いくつかの実施形態では、送信者５１０は、ソーシャルネットワーキングサービス１１０のための通知エンジン１３０であり得、受信されたメッセージ５１５は、ソーシャルネットワーキングサービス１１０の加入者１２０への通知１５５を含む。これらの実施形態では、ＳＭＳＣ  ５３０は、配信チャネル１７０−ａのうちの１つにアクセスするため、通知コンポーネント１６０によって使用されるコントローラまたはゲートウェイを備え得る。ＳＭＳＣ  ５３０は、独立して、または、通知コンポーネント１６０からのコマンドに応答して、通知コンポーネント１６０の代わりにＳＭＳメッセージを伝送するか、管理するか、変更するかまたはキャンセルするように動作し得る。ＳＭＳＣ  ５３０は、進行中のメッセージについての状態情報を通知コンポーネント１６０に返送し、加入者への配信の成功について通知コンポーネント１６０に通知し、配信の試みの失敗について通知コンポーネント１６０に通知するように動作し得る。
【００９７】
制御コンポーネント５６０は、デバイスへのメッセージ５１５の伝送前に、デバイス５２０のデバイス情報７２５のためのデバイス加入者情報についてデバイス加入者情報データベース７２０へのクエリを行い、デバイス５２０が加入者１２０と関連付けられていると判断するためにデバイス情報７２５を分析し、デバイス５２０が加入者１２０と関連付けられているという判断に基づいて、デバイス５２０へのメッセージ５１５の伝送を可能にするように動作し得る。また、制御コンポーネント５６０は、デバイス５２０へのメッセージ５１５の伝送前に、デバイス５２０のデバイス情報７２５のためのデバイス加入者情報についてデバイス加入者情報データベース７２０へのクエリを行い、デバイス５２０が加入者１２０と関連付けられていない可能性があると判断するためにデバイス情報７２５を分析し、デバイス５２０が加入者１２０と関連付けられているという判断に基づいて、デバイス５２０へのメッセージ５１５の伝送をキャンセルするように動作し得る。
【００９８】
いくつかの事例では、加入者１２０は、ソーシャルネットワーキングサービス１１０に電話番号を登録し、いずれは、電話番号を変更し、電話番号を変更したことをソーシャルネットワーキングサービス１１０に通知しない場合がある。電話番号を変更したことをＳＭＳＣ  ５３０が検出できる場合、ソーシャルネットワーキングサービス１１０は、新しい所有者を悩ませることおよび加入者１２０のプライバシを潜在的に侵害することを避けるため、配信チャネルとして電話番号を使用することを控えることができる。ＳＭＳＣ  ５３０は、ソーシャルネットワーキングサービス１１０の代わりにこのことを自動的に実行するように動作するか、ソーシャルネットワーキングサービス１１０からの要求に応答してこのことを実行するように動作し得る。
【００９９】
デバイス加入者情報データベース７２０は、セルラプロバイダによって維持されるホームロケーションレジスタ（ＨＬＲ：Ｈｏｍｅ  Ｌｏｃａｔｉｏｎ  Ｒｅｇｉｓｔｅｒ）、ホーム加入者サーバ（ＨＳＳ：Ｈｏｍｅ  Ｓｕｂｓｃｒｉｂｅｒ  Ｓｅｒｖｅｒ）またはユーザプロファイルサーバ機能（ＵＰＳＦ：Ｕｓｅｒ  Ｐｒｏｆｉｌｅ  Ｓｅｒｖｅｒ  Ｆｕｎｃｔｉｏｎ）などの加入者存在およびプロファイルデータベース（ＳＳＰＤ：Ｓｕｂｓｃｒｉｂｅｒ  Ｐｒｅｓｅｎｃｅ  ａｎｄ  Ｐｒｏｆｉｌｅ  Ｄａｔａｂａｓｅ）を含み得る。制御コンポーネント５６０は、デバイス５２０と関連付けられた電話番号を含むクエリ７１５をＳＳＰＤに送信するように動作し得る。いくつかの事例では、電話番号は、移動電話加入者統合サービスデジタルネットワーク番号（ＭＳＩＳＤＮ：Ｍｏｂｉｌｅ  Ｓｕｂｓｃｒｉｂｅｒ  Ｉｎｔｅｇｒａｔｅｄ  Ｓｅｒｖｉｃｅｓ  Ｄｉｇｉｔａｌ  Ｎｅｔｗｏｒｋ−Ｎｕｍｂｅｒ）と呼ぶこともできる。クエリ７１５に応答して、制御コンポーネント５６０は、デバイス５２０についての情報を含み得るデバイス情報７２５を受信することができる。デバイス情報７２５は、各デバイスに割り当てられた加入者識別モジュール（ＳＩＭ）に対する一意識別子である、集積回路カード識別子（ＩＣＣＩＤ：Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ  Ｃａｒｄ  Ｉｄｅｎｔｉｆｉｅｒ）（例えば、国際移動電話加入者識別番号（ＩＭＳＩ：Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｍｏｂｉｌｅ  Ｓｕｂｓｃｒｉｂｅｒ  Ｉｄｅｎｔｉｔｙ））を含み得る。制御コンポーネント５６０は、デバイス５２０に対するＩＣＣＩＤを、以前に記録されたデバイス５２０に対するＩＣＣＩＤと比較するように動作し得る。ＩＣＣＩＤが一致した場合、それは、前と同じＳＩＭカードがその電話番号と関連付けられていることを示し、そのことは、デバイス５２０が未だ加入者１２０と関連付けられていることを示し得る。ＩＣＣＩＤが一致しない場合、それは、新しいＳＩＭカードがその電話番号と関連付けられていることを示し、そのことは、新しい電話がその電話番号と関連付けられていることを示し得る。新しい電話デバイスがその電話番号と関連付けられている場合、制御コンポーネント５６０は、デバイス５２０は加入者１２０と関連付けられていないと判断することができ、したがって、デバイス５２０へのメッセージ５１５の伝送をキャンセルすることができる。
【０１００】
デバイス加入者情報データベース７２０から回収された情報に基づくメッセージの検証、許可またはキャンセルを実行する代わりに、制御コンポーネント５６０は、ＳＭＳＣ  ５３０を使用してメッセージ５１５の伝送を許可するかまたはメッセージ５１５の伝送をキャンセルすることを可能にするかどうかを送信者５１０（ソーシャルネットワーキングサービス１１０または通知エンジン１３０など）が判断できるようにするため、送信者５１０にデバイス情報７２５を提供できることが認識されよう。この送信者５１０へのデバイス情報７２５の提供は、ＳＭＳＣ  ５３０でキューに入れられたメッセージ５１５に応答して、または、デバイス情報７２５を受信するという送信者５１０による要求に応答して自動的に実行することができる。また、いくつかの実施形態では、通知エンジン１３０は、デバイス加入者情報データベース７２０からのデバイス情報７２５の要求および回収を実行でき、制御コンポーネント５６０に対して説明されるように、分析を直接実行できることも認識されよう。
【０１０１】
図８は、デバイス５２０へのメッセージ５１５の伝送をキャンセルするという送信者５１０からの要求８１５を含む、通知システム１００の一部として使用するためのショートメッセージサービスセンタ５３０の第４の実施形態を示す。
【０１０２】
制御コンポーネント５６０は、デバイス５２０へのメッセージ５１５の伝送をキャンセルするという送信者５１０からの要求８１５を受信するように動作し得、伝送コンポーネント５５０は、受信された要求８１５に応答して、デバイス５２０へのメッセージ５１５の伝送をキャンセルするように動作し得る。要求８１５は、メッセージ５１５と同じ通信チャネルに沿って送信者５１０からＳＭＳＣ  ５３０に送信されるコマンドを含み得、コマンドは、可能な場合はメッセージ５１５をキャンセルすべきであることを示すコードと共に、メッセージ５１５に対する識別子を含む。
【０１０３】
いくつかの事例では、送信者５１０は、進行中のメッセージ５１５をデバイス５２０に配信することをキャンセルすることを希望する場合がある。送信者５１０がソーシャルネットワーキングサービス１１０のための通知エンジン１３０である場合、通知エンジン１３０は、様々な理由で、すなわち、メッセージ５１５のコンテンツが配信チャネル１７０−ａのうちの別の配信チャネルを介して加入者１２０に伝達されたことを理由に、メッセージ５１５のコンテンツがもはや加入者１２０に関連していないことを理由に、ソーシャルネットワーキングサービス１１０が、メッセージ５１５のコンテンツを他の通知と組み合わせてダイジェスト通知にすることまたはソーシャルネットワーキングサービス１１０の他の任意の機能をサービス提供することを希望していることを理由に、ＳＭＳＣ  ５３０によってＳＭＳを介してメッセージ５１５を送信することをキャンセルすることができる。
【０１０４】
デバイス５２０へのメッセージ５１５の伝送をキャンセルすることは、伝送コンポーネント５５０の送信または再送信キューからメッセージ５１５を取り出すことを含み得る。伝送コンポーネント５５０の送信キューは、デバイスへのメッセージの伝送順番の管理に使用されるキューを含み得る。伝送コンポーネント５５０の再送信キューは、送信の試みに失敗したかまたは部分的なメッセージの送信の試みに失敗したメッセージの伝送の再試行順番の管理に使用されるキューを含み得る。一般に、制御コンポーネント５６０は、制御コマンド５６５を使用して、メッセージ５１５の送信に成功していない場合にデバイス５２０へのメッセージ５１５の送信をキャンセルするように伝送コンポーネント５５０に指示するように動作し得、デバイス５２０へのメッセージ５１５の伝送の第１の試みをキャンセルすることも、デバイス５２０へのメッセージ５１５の伝送の再度の試みをキャンセルすることも含み得る。
【０１０５】
図９は、デバイス５２０への伝送のためにメッセージ５１５と組み合わされた第２のメッセージ９１５を含む、通知システム１００の一部として使用するためのショートメッセージサービスセンタ５３０の第５の実施形態を示す。
【０１０６】
受信コンポーネント５４０は、送信者５１０からデバイス５２０への伝達のための第２のＳＭＳメッセージ９１５を受信するように動作し得、制御コンポーネント５６０は、メッセージ５１５と第２のメッセージ９１５とを組み合わせて第３のメッセージ９２５にするように動作し得、伝送コンポーネント５５０は、デバイス５２０への伝達のためにメッセージ５１５を第３のメッセージ９２５と取り換えるように動作し得る。受信コンポーネント５４０が第２のメッセージ９１５を受信すると同時に、制御コンポーネント５６０は、メッセージ５１５が未だデバイス５２０に配信されておらず、それに応答して、２つのメッセージを一緒に組み合わせることを決定するように動作し得る。いくつかの実施形態では、デバイス５２０に対して複数のメッセージが保留中である場合は常に、デバイス５２０に対して同じタイプ（ソーシャルネットワーキングサービス１１０に対する事象タイプなど）の複数のメッセージが保留中である場合は常に、特定の送信者５１０からデバイス５２０に対して複数のメッセージが保留中である場合は常に、または、それらの２つの組合せで、２つ以上のメッセージを一緒に組み合わせることができる。いくつかの実施形態では、制御コンポーネント５６０は、そうするようにとの送信者５１０からの要求に基づいて、メッセージを一緒に組み合わせるように動作し得るか、または、一緒に組み合わせることができる２つのメッセージをキューに入れ、メッセージを一緒に組み合わせるべきかどうかを判断するために送信者５１０へのクエリを行い、クエリに対する肯定的な応答が得られた場合にメッセージを一緒に組み合わせることを決定することができる。
【０１０７】
２つのメッセージを一緒に組み合わせて第３のメッセージ９２５にすることは、複数のメッセージを伝達するためのダイジェストテンプレートを使用してダイジェストメッセージを構築することを含み得る。ダイジェストテンプレートは、第３のメッセージが、両方のメッセージのテキストが後に続くダイジェストメッセージであることを示すテキストヘッダを含み得る。
【０１０８】
図１０は、通知システム１００と共に使用するための存在システム１０００の実施形態を示す。存在システム１０００は、存在コンポーネント１０３０と、表示コンポーネント１０４０とを備え得る。存在システム１０００は、通知エンジン１３０のチャネルコンポーネント１４０のサブコンポーネントを備え得る。
【０１０９】
存在システム１０００は、具体的には、配信チャネル１０２５にわたるモバイルデバイス１０１５上の第１のユーザ１０１０の存在状態１０３５をモニタするように動作し得る。いくつかの実施形態では、モバイルデバイス１０１５は、携帯電話を含み得、配信チャネル１０２５は、ＳＭＳチャネルを含み、存在状態１０３５は、第１のユーザ１０１０がＳＭＳチャネル上で対応できるかどうかに関するインジケータである。
【０１１０】
存在コンポーネント１０３０は、モバイルデバイス１０１０上でＳＭＳメッセージを受信するために第１のユーザ１０１０が存在しているかどうかを判断するように動作し得る。第１のユーザ１０１０が、モバイルデバイス１０１５のところにいて、メッセージに応答できるか、または、メッセージの受信に利用可能なモバイルデバイス１０１５に対応できるという肯定的な情報がある場合は、第１のユーザ１０１０が存在していると見なすことができる。
【０１１１】
第１のユーザ１０１０が存在しているかどうかの判断は、存在を判断するための公知の技法のいずれかを含み得る。例えば、存在コンポーネント１０３０は、配信チャネル１０２５上でモバイルデバイス１０１５と連絡を取り、メッセージへの自動応答など、モバイルデバイス１０１５からの応答を受信したことを理由に、第１のユーザ１０１０がモバイルデバイス１０１５上に存在していると判断することができる。あるいは、存在コンポーネント１０３０は、第１のユーザ１０１０がモバイルデバイス１０１５上に存在しているか否かを示す情報の記録（モバイルデバイス１０１５との通信および通信の試みに関するログなど）を維持し、ログを使用して第１のユーザ１０１０の存在状態１０３５を判断することができる。例えば、存在コンポーネント１０３０は、モバイルデバイス１０１５との最近の通信または通信の試みに成功した場合は、第１のユーザ１０１０がモバイルデバイス１０１５上に存在していると判断することができ、モバイルデバイス１０１５との最近の通信または通信の試みに成功しなかった場合は、第１のユーザ１０１０がモバイルデバイス１０１５上に存在していないと判断することができる。存在コンポーネント１０３０は、最近の通信または通信の試みが十分に最近のものである場合（事前に定義された閾値（例えば、３０分）内など）、通信ログに依存するように動作し得る。存在コンポーネント１０３０は、通信ログが十分に最近のものではない場合、または、最近の通信または通信の試みの記録がない場合、配信チャネル１０２５を使用して積極的な判断を実行するように動作し得る。存在コンポーネント１０３０は、第１のユーザ１０１０とモバイルデバイス１０１５との間の距離を検出するための近接検出器、第１のユーザ１０１０の存在を含意するモバイルデバイス１０１５の動きを測定するための加速度計、第１のユーザ１０１０がモバイルデバイス１０１５を保持していることを含意するモバイルデバイス１０１５のカバーにおける熱を検出するための熱センサなど、第１のユーザ１０１０およびモバイルデバイス１０１５のうちの少なくとも１つの様々な物理的特性をモニタするため、様々な検出器またはセンサを使用することができる。
【０１１２】
表示コンポーネント１０４０は、モバイルデバイス１０１５上でＳＭＳメッセージを受信するために第１のユーザ１０１０が存在しているかどうかを第２のユーザ１０２０に示すように動作し得る。第２のユーザ１０２０は、存在状態１０３５を受信するための第２のデバイス１０２５を使用している可能性がある。
【０１１３】
図１１は、通知システム１００と共に使用するための存在システム１０００の第２の実施形態を示し、第２のユーザ１０２０に存在状態１０３５を伝達するためにウェブページ１１２０が使用される。
【０１１４】
表示コンポーネント１０４０は、第２のユーザ１０２０に伝送されるウェブページ１１２０に第１のユーザ１０１０に対するＳＭＳ存在インジケータ１１３５を含むように動作し得、ＳＭＳ存在インジケータ１１３５は、モバイルデバイス１０１５上でＳＭＳメッセージを受信するために第１のユーザ１０１０が存在しているかどうかを示す。ウェブページ１１２０は、第２のデバイス１０２５上で第２のユーザ１０２０に伝送することができる。ウェブページ１１２０は、第２のユーザ１０２０が第１のユーザ１０１０の存在を要求することに応答して、第２のユーザ１０２０が第１のユーザ１０１０と関連付けられた情報を含むウェブページを要求することに応答して、または、第２のユーザ１０２０によるいかなるウェブページ要求にも応答して、第２のユーザ１０２０に伝送することができる。
【０１１５】
存在インジケータ１１３５は、第１のユーザ１０１０の名前、インターネットアイデンティティ、インターネットハンドル、インターネットアバタまたは他の識別子と関連付けられたウェブページ１１２０の要素を含み得る。存在インジケータ１１３５は、第１のユーザ１０１０が存在しているか否かを示すことが可能なグラフィカルな要素、テキスト文字列、画像または他の要素を含み得る。例えば、第１のユーザ１０１０の名前は、存在状態１０３５を伝達するために色または形状を変化させる存在インジケータ１１３５を含むシンボルと共に、ウェブページ１１２０上に表示することができる。存在インジケータ１１３５は、第１のユーザ１０１０の識別子に幾何学的に近似するように（識別子の次、横、上方または下方に）表示することができる。
【０１１６】
いくつかの実施形態では、ＳＭＳ存在インジケータ１１３５は、モバイルデバイス１０１５上でＳＭＳメッセージを受信するために第１のユーザ１０１０が存在していると判断された後の経過時間量を示すことができる。例えば、存在インジケータ１１３５は、第１のユーザ１０１０が存在していると判断された後の経過時間のテキストインジケータを含み得る。存在インジケータ１１３６は、ある色が存在を示し、別の色が非存在を示すものであり得るため、表示コンポーネント１０４０は、第１のユーザ１０１０が存在しているかどうかに関して確認された存在と不確実性との間の移行を示すため、存在インジケータ１１３５の色が前者と後者の色とで動的に異なるように動作し得る。表示コンポーネント１０４０は、存在インジケータ１１３５として多数の存在インジケータのうちの１つを含むように動作し得、多数の存在インジケータの各々は、モバイルデバイス１０１５上で第１のユーザ１０１０が存在していると判断された後の特定の経過時間を示す。
【０１１７】
図１２は、通知システム１００と共に使用するための存在システム１０００の第３の実施形態を示し、第２のユーザ１０２０に存在状態１０３５を伝達するためにソーシャルネットワーキングウェブページ１１２０が使用される。
【０１１８】
いくつかの実施形態では、ウェブページ１１２０は、ソーシャルネットワーキングウェブページ１２２０を含み得、第１のユーザ１０１０および第２のユーザ１０２０は、ソーシャルネットワーキングサービス１１０において定義された関係を有し、ソーシャルネットワーキングウェブページ１２２０は、ソーシャルネットワーキングサービス１１０によって第２のユーザ１０２０に伝送される。ソーシャルネットワーキングウェブページ１２２０は、第２のデバイス１０２５および表示コンポーネント１０４０を介して第２のユーザ１０２０に伝送することができる。したがって、表示コンポーネント１０４０および存在コンポーネント１０３０は、ソーシャルネットワーキングサービス１１０のコンポーネントであり得、存在システム１０００は、ソーシャルネットワーキングサービス１１０に対する存在サービスを実行する。
【０１１９】
ソーシャルネットワーキングウェブページ１２２０は、第１のユーザ１０１０のプロファイル情報１２２５を含み得、存在コンポーネント１０３０は、第２のユーザ１０２０が要求１２１０を使用してソーシャルネットワーキングウェブページ１２２０を要求することに応答して、モバイルデバイス１０１５上でＳＭＳメッセージを受信するために第１のユーザ１０１０が存在しているかどうかを判断するように動作し得る。例えば、ソーシャルネットワーキングウェブページ１２２０は、ソーシャルネットワーキングサービス１１０上の第１のユーザ１０１０のプロファイルを含み得る。第２のユーザ１０２０は、第２のデバイス１０２５を使用して、第１のユーザ１０１０のプロファイルに対する要求１２１０をソーシャルネットワーキングサービス１１０に送信し、それに応答して、ソーシャルネットワーキングウェブページ１２２０を受信することができ、ソーシャルネットワーキングウェブページ１２２０は、ウェブページ１１２０の一部として、存在インジケータ１１３５と共に提示される、第１のユーザ１０１０のプロファイルを含むプロファイル情報１２２５を含む。
【０１２０】
図１３は、通知システム１００と共に使用するための存在システム１０００の第４の実施形態を示し、モバイルデバイス１０１５上で第１のユーザ１０１０が存在していると判断するために好結果の部分的なメッセージ１３１５が使用される。
【０１２１】
存在コンポーネント１０３０は、モバイルデバイス１０１５に部分的なＳＭＳメッセージ１３１５を伝送し、モバイルデバイス１０１５から部分的なＳＭＳメッセージ１３１５に対する応答１３２５を受信し、部分的なＳＭＳメッセージ１３１５に対する受信された応答１３２５に基づいて、モバイルデバイス１０１５上でＳＭＳメッセージを受信するために第１のユーザ１０１０が存在していると判断するように動作し得る。
【０１２２】
部分的なメッセージ１３１５は、モバイルデバイス１０１５に対するルーティング情報を含むが、モバイルデバイス１０１５の第１のユーザ１０１０に対するメッセージの本文がないメッセージを含み得る。部分的なメッセージ１３１５は、モバイルデバイス１０１５から対応する「ＯＫ」信号を要求するために「ＡＴ」コンソールコマンドを送信することによってなど、応答が要求されることをモバイルデバイス１０１５に示すため、部分的なメッセージ１３１５のヘッダにおけるメタデータコマンドまたはコマンドを含み得る。
【０１２３】
図１４は、通知システム１００と共に使用するための存在システム１０００の第５の実施形態を示し、モバイルデバイス１０１５上で第１のユーザ１０１０が存在していないと判断するために失敗した部分的なメッセージ１３１５が使用される。
【０１２４】
存在コンポーネント１０３０は、モバイルデバイス１０１５への部分的なＳＭＳメッセージ１３１５の伝送を開始し、モバイルデバイス１０１５への伝送が失敗したと判断し、モバイルデバイスへの部分的なメッセージ１３１５の伝送の失敗に基づいて、モバイルデバイス１０１５上でＳＭＳメッセージを受信するために第１のユーザ１０１０が存在していないと判断するように動作し得る。
【０１２５】
部分的なメッセージ１３１５がモバイルデバイス１０１５に配信されなかったと判断することは、存在コンポーネント１０３０が、活動時間（ＴＴＬ：ｔｉｍｅ−ｔｏ−ｌｉｖｅ）タイマの期限切れを通じてなど、モバイルデバイス１０１５が利用可能であることを示す応答１３２５を受信することなく、モバイルデバイス１０１５への部分的なメッセージ１３１５の伝送から十分な時間が経過したことを計算することを含み得る。
【０１２６】
いくつかの実施形態では、存在コンポーネント１０３０は、モバイルデバイス１０１５に部分的なＳＭＳメッセージを伝送するという定期的な試みを実行し、伝送するという試みに基づいて、第１のユーザ１０１０に対する存在記録を更新するように動作し得、表示コンポーネント１０４０は、存在記録に基づいて、モバイルデバイス１０１５上でＳＭＳメッセージを受信するために第１のユーザ１０１０が存在しているかどうかを第２のユーザ１０２０に示すように動作し得る。定期的な試みは、規則的に（１時間、３０分または１日に１回など）実行することができる。
【０１２７】
いくつかの実施形態では、存在コンポーネント１０３０は、第１のユーザ１０１０がモバイルデバイス１０１５を使用してＳＭＳメッセージの伝送または受信に成功したと存在コンポーネント１０３０が判断した際、部分的なＳＭＳメッセージを伝送するという定期的な試みを遅延するように動作し得る。例えば、存在システム１０００がソーシャルネットワーキングサービス１１０の一部として使用される場合、ソーシャルネットワーキングサービス１１０は、通知の伝送など、モバイル１０１５を使用して第１のユーザ１０１０とＳＭＳメッセージを時々交換することができる。存在コンポーネント１０３０は、部分的なメッセージ１３１５を使用したチェックの成功と同じ方法でモバイルデバイス１０１５への通知１５５の伝送の成功を記録するように動作し得る。したがって、このことは、第１のユーザ１０１０に対する存在記録を更新するための定期的な試みの次の反復を遅延し得る。
【０１２８】
いくつかの実施形態では、存在コンポーネント１０３０は、第２のユーザ１０２０が第１のユーザ１０１０へのメッセージの作成を開始することに応答して、モバイルデバイス１０１５上でＳＭＳメッセージを受信するために第１のユーザ１０１０が存在しているかどうかを判断するように動作し得る。例えば、存在システム１０００がソーシャルネットワーキングサービス１１０の一部として使用される場合、第２のユーザ１０２０は、ソーシャルネットワーキングサービス１１０上で第１のユーザ１０１０に送信するため、ソーシャルネットワーキングサービス１１０のウェブページまたはスタンドアロンアプリケーションを使用することによってなど、ソーシャルネットワーキングサービス１１０上でメッセージを作成することができる。第２のユーザ１０２０がメッセージの作成を開始することに応答して、ソーシャルネットワーキングサービス１１０は、存在コンポーネント１０３０が存在状態１０３５を判断することを要求するように動作し得る。存在状態１０３５の判断と同時に、ソーシャルネットワーキングサービス１１０は、存在インジケータ１１３５を介してメッセージの作成に使用されているソーシャルネットワーキングウェブページ１２２０上で第２のユーザ１０２０にその存在状態１０３５を伝達することができる。したがって、メッセージを作成している第２のユーザ１０２０は、第１のユーザ１０１０がＳＭＳメッセージを介するメッセージの受信に対応できる可能性に関する通知を受けることができる。
【０１２９】
図１５は、通知システム１００と共に使用するための有効性システム１５００の実施形態を示す。有効性システム１５００は、有効性コンポーネント１５４０を備え得る。有効性システム１５００は、通知エンジン１３０のチャネルコンポーネント１４０のサブコンポーネントを備え得る。
【０１３０】
有効性コンポーネント１５４０は、ユーザ１５１０と関連付けられた配信チャネル１５３０がユーザ１５１０との通信に有効であるかどうかを判断するように動作し得る。いくつかの実施形態では、配信チャネル１５３０は、通知エンジン１３０によって使用される多数のチャネル１７０−ａのうちの１つを含み得る。配信チャネル１５３０は、デバイス１５２０を通じて実際に対応できるユーザ１５１０が通信に所望されるユーザ（通知エンジン１３０に対する加入者１２０など）であることを有効性コンポーネント１５４０が利用可能な情報が示す場合は、有効であると見なすことができる。
【０１３１】
有効性コンポーネント１５４０は、配信チャネル１５３０が有効であるかどうかを判断するために送信者１５５０から要求１５３５を受信し、要求１５５５に応答して、配信チャネル１５３０が有効であるかどうかを判断し、配信チャネル１５３０が有効であるかどうかの判断に基づいて、要求１５５５に対する応答１５４５を送信者１５５０に伝送するように動作し得る。いくつかの実施形態では、送信者１５５０は、ソーシャルネットワーキングサービス１１０の一部として機能する通知エンジン１３０のチャネルコンポーネント１４０を含み得る。論じられるように、チャネルコンポーネント１４０は、通知１５５を送信する際に多数の配信チャネル１７０−ａのうちのどのチャネル１４５を使用するかを決定する必要性に応答して、配信チャネル１５３０の有効性をチェックするように動作し得る。
【０１３２】
図１６は、通知システム１００と共に使用するための有効性システム１５００の第２の実施形態を示し、配信チャネル１５３０の有効性を判断するためにデバイス加入者情報データベース７２０が使用される。
【０１３３】
いくつかの実施形態では、有効性コンポーネント１５４０は、配信チャネル１５３０と関連付けられたデバイス１５２０のデバイス情報１６２５のためのデバイス加入者情報についてデータベースへのクエリを行い、デバイス１５２０がユーザ１５１０と関連付けられているかどうかを判断するためにデバイス情報１６２５を分析し、デバイス１５２０がユーザと関連付けられているかどうかに基づいて、配信チャネル１５３０が有効であるかどうかを判断するように動作し得る。クエリ１６１５は、デバイス１５２０の識別子を指定するデバイス加入者情報データベース７２０に送信することができ、それに応答して受信されたデバイス情報１６２５は、配信チャネル１５３０が有効であるかどうかの判断に関連している情報を含む。
【０１３４】
例えば、デバイス１５２０は、関連付けられた電話番号を有する携帯電話を含み得、データベースは、セルラプロバイダによって維持されるホームロケーションレジスタ（ＨＬＲ：Ｈｏｍｅ  Ｌｏｃａｔｉｏｎ  Ｒｅｇｉｓｔｅｒ）、ホーム加入者サーバ（ＨＳＳ：Ｈｏｍｅ  Ｓｕｂｓｃｒｉｂｅｒ  Ｓｅｒｖｅｒ）またはユーザプロファイルサーバ機能（ＵＰＳＦ：Ｕｓｅｒ  Ｐｒｏｆｉｌｅ  Ｓｅｒｖｅｒ  Ｆｕｎｃｔｉｏｎ）などの加入者存在およびプロファイルデータベース（ＳＳＰＤ：Ｓｕｂｓｃｒｉｂｅｒ  Ｐｒｅｓｅｎｃｅ  ａｎｄ  Ｐｒｏｆｉｌｅ  Ｄａｔａｂａｓｅ）を含む。有効性コンポーネント１５４０は、ＳＳＰＤの加入者識別モジュール（ＳＩＭ）と関連付けられている電話番号に基づいて、配信チャネル１５３０が有効であると判断するように動作し得、ＳＩＭカードは、電話番号と関連付けられていると有効性コンポーネント１５４０が判断した以前のＳＩＭカードと一致する。同様に、有効性コンポーネント１５４０は、ＳＳＰＤの加入者識別モジュール（ＳＩＭ）と関連付けられている電話番号に基づいて、配信チャネル１５３０が有効ではないと判断するように動作し得、ＳＩＭカードは、電話番号と関連付けられていると有効性コンポーネント１５４０が判断した以前のＳＩＭカードとは一致しない。
【０１３５】
いくつかの実施形態では、有効性コンポーネント１５４０は、有効性期間の期限切れに基づいて、配信チャネルが有効ではないと判断するように動作し得る。有効性コンポーネント１５４０は、有効性コンポーネント１５４０でデバイス１５２０に対する識別子（例えば、電話番号）を入力することによって、または、有効性コンポーネント１５４０で有効性を明示的に確認することによってなど、デバイス１５２０が実際にユーザ１５１０に属することをユーザ１５１０が確認した際に、有効性期間の開始を設定するように動作し得る。例えば、有効性コンポーネント１５４０がソーシャルネットワーキングサービス１１０の一部としての通知エンジン１３０のコンポーネントである場合、有効性コンポーネント１５４０は、ユーザ１５１０がデバイス１５２０をソーシャルネットワーキングサービス１１０に登録することに基づいて、有効性期間を開始するというソーシャルネットワーキングサービス１１０による通知を受けることができる。
【０１３６】
有効性期間は、電話番号などのデバイス１５２０に対する識別子の再生利用時間より少なく決定された期間を含み得る。ユーザ１５１０が電話番号を放棄した後、電話番号は、最終的には、電話またはセルラ電話プロバイダが再生利用することができる。通常、プロバイダは、番号を再生利用して新しいユーザに割り当てる前に待つことになる遅延期間を有する。有効性期間は、デバイス１５２０に対する識別子を新しいユーザと関連付けることができる可能性を示すため、有効性期間の期限切れの後、配信チャネル１５３０が期限切れとなるように設定する（有効ではないものとして配信チャネル１５３０を設定する）ことができる。
【０１３７】
いくつかの実施形態では、有効性コンポーネント１５４０は、ユーザ１５１０が配信チャネル１５３０を使用して伝送または受信に成功したと有効性コンポーネント１５４０が判断することに基づいて、有効性期間を延長するように動作し得る。例えば、有効性コンポーネント１５４０がソーシャルネットワーキングサービス１１０の一部としての通知エンジン１３０のコンポーネントである場合、有効性コンポーネント１５４０は、通知エンジン１３０またはソーシャルネットワーキングサービス１１０が配信チャネル１５３０上でユーザ１５１０との連絡に成功した場合、通知を受けることができる。
【０１３８】
いくつかの実施形態では、配信チャネル１５３０が有効ではないと判断することは、配信チャネル１５３０が有効ではなく、通信に使用すべきではないということを、配信チャネル１５３０に対する情報の格納と関連付けて、フラグ付けするか、留意するか、登録するかまたはそうでなければ示すことを含み得る。いくつかの事例では、通知エンジン１３０またはソーシャルネットワーキングサービス１１０は、加入者１２０に割り当てられた１つまたは複数の配信チャネルを有し得る。したがって、いくつかの実施形態では、加入者１２０に割り当てられた配信チャネル１５３０が有効ではないと判断された場合、加入者１２０への配信チャネル１５３０の割り当ては、加入者１２０に対する配信チャネルとして配信チャネル１５３０を使用すべきではないかまたは配信チャネル１５３０が現在信頼できるものではないことをフラグ付けするか、留意するか、登録するかまたはそうでなければ示すことができる。いくつかの事例では、ソーシャルネットワーキングサービス１１０は、加入者１２０との通信に配信チャネル１５３０を未だ使用できるかどうかを判断するため、配信チャネル１５３０が有効ではないものとして示される際、加入者１２０と連絡を取るように動作し得る。あるいは、加入者１２０に割り当てられた配信チャネル１５３０が有効ではないと判断された場合、配信チャネル１５３０と加入者１２０との間の割り当ては、配信チャネル１５３０がもはや加入者１２０に割り当てられないように無効にするかまたは取り除くことができる。
【０１３９】
図１７は、通知システム１００と共に使用するための有効性システム１５００の第３の実施形態を示し、配信チャネル１７２０の有効性をチェックするためにデバイス１５２０上のアプリケーション１７１０が使用される。
【０１４０】
いくつかの実施形態では、配信チャネル１５３０は、デバイス１５２０と関連付けることができ、有効性コンポーネント１５４０は、デバイス１５２０上にインストールされたアプリケーション１７１０から受信されたアプリケーション情報１７１５に基づいて、配信チャネル１５３０が有効であるかどうかを判断するように動作し、アプリケーション１７１０は、配信チャネル１５３０とは異なる。配信チャネル１５３０はユーザ１５１０の代わりにデバイス１５２０と結び付く識別子（デバイス１５２０の電話番号など）と関連付けられるという意味で、配信チャネル１５３０は、デバイス１５２０と関連付けることができる。
【０１４１】
デバイス１５２０がスマートフォンなどのモバイルコンピュータを備える場合、アプリケーション１７１０は、デバイス１５２０上にインストールされた第一者、第二者または第三者アプリケーションであり得る。有効性コンポーネント１５４０がソーシャルネットワーキングサービス１１０のコンポーネントである場合、アプリケーション１７１０は、ソーシャルネットワーキングサービス１１０と共に使用するためのソーシャルネットワーキングサービス１１０によって提供されるアプリケーション１７１０を含み得る。例えば、アプリケーション１７１０は、インターネットなどの配信チャネル１７２０上でプッシュ通知を受信することができるプッシュ有効アプリケーション１７１０であり得る。アプリケーション１７１０は、ソーシャルネットワーキングサービス１１０におけるユーザ１５１０の登録情報を含み得、登録情報は、デバイス１５２０上にインストールされたアプリケーション１７１０がユーザ１５１０と関連付けられていることを確認し、したがって、デバイス１５２０に対する代替の配信チャネル１５３０が有効であることを確認する。
【０１４２】
配信チャネル１７２０上でアプリケーション１７１０から有効性コンポーネント１５４０に送信されるアプリケーション情報１７１５は、アプリケーション１７１０と関連付けられたユーザ１５１０のアイデンティティを確認するため、アプリケーション１７１０への有効性コンポーネント１５４０によるクエリに応答して送信することができる。有効性コンポーネント１５４０は、配信チャネル１５３０が有効であるかどうかを判断するという送信者１５５０からの要求１５５５に応答して、このクエリをアプリケーション１７１０に送信するように動作し得る。アプリケーション情報１７１５は、ユーザ１５１０のアイデンティティ情報を含むことも、有効性コンポーネント１５４０によってアプリケーション１７１０に送信されたアイデンティティの確認を含むこともできる。
【０１４３】
図１８は、集中型システム１８００のブロック図を示す。集中型システム１８００は、完全に単一のデバイス１８２０内など、単一のコンピューティング実体におけるソーシャルネットワーキングサービス１１０のための構造およびオペレーションのうちの少なくとも一方のいくつかまたはすべてを実装することができる。
【０１４４】
デバイス１８２０は、ソーシャルネットワーキングサービス１１０に対する情報の受信、処理および送信が可能ないかなる電子デバイスも備え得る。電子デバイスの例は、これらに限定されないが、ウルトラモバイルデバイス、モバイルデバイス、携帯情報端末（ＰＤＡ）、モバイルコンピューティングデバイス、スマートフォン、電話、デジタル電話、セルラ電話、電子書籍リーダ、ハンドセット、一方向ポケベル、両方向ポケベル、メッセージングデバイス、コンピュータ、パーソナルコンピュータ（ＰＣ）、デスクトップコンピュータ、ラップトップコンピュータ、ノートパソコン、ネットブックコンピュータ、ハンドヘルドコンピュータ、タブレットコンピュータ、サーバ、サーバアレイもしくはサーバファーム、ウェブサーバ、ネットワークサーバ、インターネットサーバ、ワークステーション、ミニコンピュータ、メインフレームコンピュータ、スーパーコンピュータ、ネットワーク器具、ウェブ器具、分散型コンピューティングシステム、マルチプロセッサシステム、プロセッサベースのシステム、家庭用電化製品、プログラム可能家庭用電化製品、ゲームデバイス、テレビ、デジタルテレビ、セットトップボックス、ワイヤレスアクセスポイント、基地局、加入者局、移動電話加入者センタ、無線ネットワークコントローラ、ルータ、ハブ、ゲートウェイ、ブリッジ、スイッチ、マシンまたはそれらの組合せを含み得る。実施形態は、この内容に限定されない。
【０１４５】
デバイス１８２０は、処理コンポーネント１８３０を使用してソーシャルネットワーキングサービス１１０のための処理オペレーションまたは論理を実行することができる。処理コンポーネント８３０は、様々なハードウェア要素、ソフトウェア要素または両方の組合せを含み得る。ハードウェア要素の例は、デバイス、論理デバイス、コンポーネント、プロセッサ、マイクロプロセッサ、回路、プロセッサ回路、回路要素（例えば、トランジスタ、抵抗器、コンデンサ、インダクタなど）、集積回路、特定用途向け集積回路（ＡＳＩＣ）、プログラム可能論理回路（ＰＬＤ）、デジタル信号プロセッサ（ＤＳＰ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、メモリユニット、論理ゲート、レジスタ、半導体素子、チップ、マイクロチップ、チップセットなどを含み得る。ソフトウェア要素の例は、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、ソフトウェア開発プログラム、マシンプログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、機能、方法、手順、ソフトウェアインタフェース、アプリケーションプログラミングインタフェース（ＡＰＩ）、命令セット、コンピューティングコード、コンピュータコード、コードセグメント、コンピュータコードセグメント、単語、値、シンボルまたはそれらの任意の組合せを含み得る。実施形態がハードウェア要素およびソフトウェア要素のうちの少なくとも一方を使用して実装されるかどうかの判断は、所定の実装形態に所望されるような、所望の演算速度、電力レベル、耐熱性、処理サイクル量、入力データレート、出力データレート、メモリリソース、データバス速度、および、他の設計または性能制約などのいろいろな因子に従って異なり得る。
【０１４６】
デバイス１８２０は、通信コンポーネント１８４０を使用してソーシャルネットワーキングサービス１１０のための通信オペレーションまたは論理を実行することができる。通信コンポーネント１８４０は、パケット交換網（例えば、インターネットなどのパブリックネットワーク、企業イントラネットなどのプライベートネットワークなど）、回路交換網（例えば、公衆交換電話網）またはパケット交換網と回路交換網の組合せ（適切なゲートウェイおよび変換器を備える）での使用に適した技法などのいかなる周知の通信技法およびプロトコルも実装することができる。通信コンポーネント１８４０は、１つまたは複数の通信インタフェース、ネットワークインタフェース、ネットワークインタフェースカード（ＮＩＣ）、ラジオ、ワイヤレス送信機／受信機（トランシーバ）、有線通信媒体および無線通信媒体のうちの少なくとも一方、物理的なコネクタなどの様々なタイプの標準通信要素を含み得る。制限ではなく例として、通信媒体１８１２は、有線通信媒体および無線通信媒体を含む。有線通信媒体の例は、ワイヤ、ケーブル、金属リード線、プリント基板（ＰＣＢ）、バックプレーン、スイッチファブリック、半導体材料、ツイストペア線、同軸ケーブル、光ファイバ、伝播された信号などを含み得る。無線通信媒体の例は、音響、無線周波数（ＲＦ）スペクトル、赤外線および他の無線媒体を含み得る。
【０１４７】
デバイス１８２０は、通信コンポーネント１８４０を介して通信信号１８１４を使用して通信媒体１８１２上で他のデバイス１８１０、１８５０と通信することができる。デバイス１８１０、１８５０は、所定の実装形態で所望されるようなデバイス１８２０の内部または外部にあり得る。
【０１４８】
ソーシャルネットワーキングサービス１１０は、その中に、通知エンジン１００、ＳＭＳＣ  ５３０、有効性コンポーネント１５４０、存在コンポーネント１０３０および表示コンポーネント１０４０を含み得る。デバイス１８２０は、処理コンポーネント１８３０および通信コンポーネント１８４０を使用してこれらの要素のタスクを行うように動作し得る。デバイス１８１０および１８５０は、デバイス５２０、モバイルデバイス１０１５、第２のデバイス１０２５またはデバイス１５２０のいずれかを含み得、媒体１８１２上の信号１８１４は、ソーシャルネットワーキングサービス１１０およびその要素とこれらのそれぞれのデバイスとの相互作用を含む。
【０１４９】
図１９は、分散型システム１９００のブロック図を示す。分散型システム１９００は、複数のコンピューティング実体にわたってソーシャルネットワーキングサービス１１０のための構造およびオペレーションのうちの少なくとも一方の一部を分散することができる。分散型システム１９００の例は、これらに限定されないが、クライアント／サーバアーキテクチャ、３階層アーキテクチャ、Ｎ階層アーキテクチャ、密結合またはクラスタ化アーキテクチャ、ピアツーピアアーキテクチャ、マスタ／スレーブアーキテクチャ、共有データベースアーキテクチャおよび他のタイプの分散型システムを含み得る。実施形態は、この内容に限定されない。
【０１５０】
分散型システム１９００は、サーバデバイス１９１５、１９２５、１９３５、１９４５および１９５５を備え得る。一般に、サーバデバイス１９１５、１９２５、１９３５、１９４５および１９５５は、図１８を参照して説明されるようなクライアントデバイス１８２０と同じまたは同様のものであり得る。例えば、サーバシステム１９１５、１９２５、１９３５、１９４５および１９５５は、各々が、図１８を参照して説明されるような処理コンポーネント１８３０および通信コンポーネント１８４０のそれぞれと同じまたは同様のものである処理コンポーネント１９３０および通信コンポーネント１９４０を備え得る。別の例では、サーバデバイス１９１５、１９２５、１９３５、１９４５および１９５５は、通信コンポーネント１９４０を介して通信信号１９１４を使用して通信媒体１９１２上で通信することができる。
【０１５１】
サーバデバイス１９１５、１９２５、１９３５、１９４５および１９５５は、説明された実施形態に従って様々な方法論を実行するように動作する１つまたは複数のクライアントプログラムを含むかまたは使用することができる。同様に、サーバデバイス１９１５、１９２５、１９３５、１９４５および１９５５は、説明された実施形態に従って様々な方法論を実行するように動作する１つまたは複数のサーバプログラムを含むかまたは使用することができる。例えば、サーバデバイス１９１５は、ソーシャルネットワーキングサービス１１０、または同様に、他のサーバデバイスをホストとするもの以外のソーシャルネットワーキングサービス１１０の一部を実装することができる。サーバデバイス１９１５（またはサーバデバイスのいずれか）は、それ自体が複数のサーバを備え得ることが認識されよう。サーバデバイス１９２５は、ソーシャルネットワーキングサービス１１０の代わりに通知機能を実行することができる通知エンジン１３０を実装することができる。サーバデバイス１９３５は、通知エンジン１３０およびソーシャルネットワーキングサービス１１０の代わりにＳＭＳメッセージングおよびＳＭＳメッセージ管理を実行することができるＳＭＳＣ  ５３０を実装することができる。サーバデバイス１９４５は、ソーシャルネットワーキングサービス１１０、通知エンジン１３０およびＳＭＳＣ  ５３０の代わりに存在機能を実行することができる存在システム１０００を実装することができる。存在システム１０００の機能のいくつかは、ＳＭＳ存在の判断のためになど、ＳＭＳＣ  ５３０を使用できることが認識されよう。サーバデバイス１９５５は、ソーシャルネットワーキングサービス１１０、通知エンジン１３０およびＳＭＳＣ  ５３０の代わりに有効性機能を実行することができる有効性システム１０００を実装することができる。有効性システム１５００の機能のいくつかは、ＳＭＳ配信チャネルの有効性をチェックするためになど、ＳＭＳＣ  ５３０を使用できることが認識されよう。
【０１５２】
本明細書には、開示されるアーキテクチャの新規の態様を実行するための例示的な方法論を表すフローチャートのセットが含まれる。説明を簡単にするため、例えば、フローチャートまたはフロー図の形態で、本明細書で示される１つまたは複数の方法論は一連の動作として示されて説明されているが、いくつかの動作は、それに従って、本明細書で示されて説明されているものとは異なる順番でおよび他の動作と同時のうちの少なくとも一方で起こり得るように、方法論は、動作の順番によって制限されないことに理解および認識されたい。例えば、当業者であれば、代替として、状態図でなど、方法論を一連の相関状態または事象として表すことができることが理解および認識されよう。その上、方法論で示されるすべての動作が新規の実装形態に必要であるとは限らない。
【０１５３】
図２０は、論理フロー２０００の一実施形態を示す。論理フロー２０００は、本明細書で説明される１つまたは複数の実施形態によって実行されたオペレーションのいくつかまたはすべてを表すものであり得る。
【０１５４】
図２０に示される実施形態では、論理フロー２０００は、ブロック２００２では、ソーシャルネットワーキングサービス１１０の加入者１２０と関連付けられた事象１１５をソーシャルネットワーキングサービス１１０から受信するように動作し得る。論理フロー２０００は、ソーシャルネットワーキングサービス１１０によって実装することができ、したがって、事象１１５を受信することは、ソーシャルネットワーキングサービス１１０の１つのコンポーネントが、通知エンジン１３０など、論理フロー２０００の実行に責任を有するソーシャルネットワーキングサービスのコンポーネントに事象１１５を伝送することを含み得ることが認識されよう。
【０１５５】
論理フロー２０００は、ブロック２００４では、加入者１２０に事象１１５を伝達することを決定するように動作し得る。加入者１２０に事象１１５を伝達することを決定することは、事象１１５の伝達を試みることを決定することを含み得、その決定は、時間と共に、環境が進展するにつれて、調整または変更することができる。例えば、仮に、事象１１５が伝達される前に、事象１１５が加入者１２０に関連しているものではなくなるとすれば、通信をキャンセルすることができる。
【０１５６】
論理フロー２０００は、ブロック２００６では、各チャネル１７０−ａと関連付けられたランキング１５０に従って加入者１２０への事象１１５の伝達に使用するため、多数のチャネル１７０−ａのうちの１つまたは複数のチャネル１４５を決定するように動作し得、ランキング１５０は、加入者１２０に特有であり、加入者情報に従って決定される。例えば、以前の通知２５５−ｂに対する加入者応答２６５−ｃを記録することができ、記録された応答２６５−ｃは、加入者履歴を含む。ランキングは、記録された応答に従って、多数のチャネル１７０−ａの各々に対して決定することができる。したがって、１つまたは複数のチャネル１４５の決定は、関連付けられたランキング１５０および加入者１２０によって設定された好みのうちの１つもしくは複数、加入者デバイスについての情報、１つもしくは複数のデバイス上の加入者の存在、現在の位置、または、現在の日付および時間に基づき得る。
【０１５７】
論理フロー２０００は、ブロック２００８では、事象１１５に基づいて通知１５５を構築するように動作し得る。通知１５５を構築することは、通知エンジン１３０による処理に適切な機械が読み取れる形式から加入者１２０による読み取りに適切な人間が読み取れる形式に事象１１５を変換することを含み得る。この変換は、決定された配信チャネル１４５の能力に依存し得、各々が決定された配信チャネル１４５のうちの１つまたは複数に特有である、複数の人間が読み取れる形式を含み得る。
【０１５８】
論理フロー２０００は、ブロック２０１０では、決定された１つまたは複数のチャネル１４５を使用して加入者１２０に通知１５５を伝送するように動作し得る。この伝送は、決定された配信チャネル１４５の各々にわたる通知１５５の実質的に並行な伝送を含み得る。決定された配信チャネル１４５のうちの１つがＳＭＳであれば、通知１５５を伝送することは、ＳＭＳＣ  ５３０の伝送コンポーネント５５０を使用して伝送するため、ＳＭＳＣ  ５３０に通知１５５を送信することを含み得る。
【０１５９】
いくつかの実施形態では、論理フロー２０００は、加入者１２０への事象１１５の伝達に使用するため、多数のチャネル１７０−ａのうちの２つ以上のチャネル１４５を決定し、２つ以上の決定されたチャネル１４５のうちの１つが加入者１２０への事象１１５の伝送に成功したと判断し、加入者１２０への事象１１５の伝送に成功したチャネル以外のチャネル上での加入者１２０への事象１１５の伝送をキャンセルするようにさらに動作し得る。これにより、加入者１２０が既に通知を受けた事象１１５の通知に悩まされないようにすることができる。
【０１６０】
いくつかの実施形態では、論理フロー２０００は、加入者１２０と関連付けられた第２の事象３１５を受信し、加入者１２０に第２の事象３１５を伝達することを決定し、事象１１５と第２の事象３１５とを組み合わせて第２の通知３５５にし、加入者１２０への伝送のために通知１５５を第２の通知３５５と取り換えるようにさらに動作し得る。このことは、依然として事象１１５と事象３１５の両方を伝達する一方で、加入者１２０に送信される通知の数の低減、ひいては、通知１５５または３５５の受信における加入者１２０の注意散漫の低減に役立てることができる。
【０１６１】
いくつかの実施形態では、論理フロー２０００は、決定されたチャネル１４５のうちの１つに配信の試みの失敗があったと判断し、各チャネル１７０−ａと関連付けられたランキング１５０に従って、配信の試みの失敗に応答して、加入者１２０への事象１１５の伝達に使用するため、多数のチャネル１７０−ａのうちの追加のチャネルを決定し、決定された追加のチャネルを使用して加入者に通知１５５を伝送するようにさらに動作し得る。通知１５５の伝送にＳＭＳＣ  ５３０が使用されている場合、決定されたチャネル１４５のうちの１つに配信の試みの失敗があったと判断することは、部分的なメッセージ６１５に対する応答の受信に失敗した伝送コンポーネントがモニタリング情報５５５を介して制御コンポーネント５６０に通知し、制御コンポーネント５６０が配信の試みの失敗に関する通知６６５を通知エンジン１３０に送信することを含み得る。
【０１６２】
いくつかの実施形態では、論理フロー２０００は、受信された事象１１５に応答して、多数のチャネル１７０−ａのうちの１つまたは複数の有効性をチェックし、有効性チェックに従って、加入者１２０への事象１１５の伝達に使用するため、１つまたは複数のチャネル１４５を決定するようにさらに動作し得る。例えば、通知エンジン１３０は、配信チャネルが有効であるかどうかを判断するため、有効性システム１５００の一部として有効性コンポーネント１５４０を使用することができる。チェックされている配信チャネルがＳＭＳチャネルである場合、デバイス加入者情報データベース７２０でチェックを実行することによってなど、ＳＭＳチャネルが有効であるかどうかを判断するため、有効性コンポーネント１５４０と共になど、ＳＭＳＣ  １５３０を使用することができる。
【０１６３】
図２１は、以前に説明されたような様々な実施形態の実装に適した例示的なコンピューティングアーキテクチャ２１００の実施形態を示す。一実施形態では、コンピューティングアーキテクチャ２１００は、電子デバイスの一部を含むことも、電子デバイスの一部として実装することもできる。電子デバイスの例は、数ある中でも、図１８を参照して説明されたものを含み得る。実施形態は、この内容に限定されない。
【０１６４】
この出願で使用される場合、「システム」および「コンポーネント」という用語は、コンピュータ関連の実体、ハードウェア、ハードウェアとソフトウェアの組合せ、ソフトウェアまたは実行中のソフトウェアを指すことを意図し、その例は、例示的なコンピューティングアーキテクチャ２１００によって提供される。例えば、コンポーネントは、これらに限定されないが、プロセッサ上で実行しているプロセス、プロセッサ、ハードディスクドライブ、複数の記憶ドライブ（光学記憶媒体および磁気記憶媒体のうちの少なくとも一方の）、オブジェクト、実行可能なもの、実行スレッド、プログラムおよびコンピュータのうちの少なくとも一つであり得る。例示として、サーバ上で実行しているアプリケーションとサーバの両方がコンポーネントであり得る。１つまたは複数のコンポーネントは、実行プロセスおよびスレッド内のうちの少なくとも一方に存在し得、コンポーネントは、１つのコンピュータ上にローカライズすることおよび２つ以上のコンピュータ間で分散させることのうちの少なくとも一方を行うことができる。さらに、コンポーネントは、オペレーションを連係させるため、様々なタイプの通信媒体によって互いに通信可能に結合することができる。連係は、単方向または双方向の情報交換を伴い得る。例えば、コンポーネントは、通信媒体上で伝達される信号の形態で情報を伝達することができる。情報は、様々な信号線に割り当てられた信号として実装することができる。そのような割り当てでは、各メッセージは信号である。しかし、さらなる実施形態は、その代替として、データメッセージを使用することができる。そのようなデータメッセージは、様々な接続間で送信することができる。例示的な接続は、並列インタフェース、直列インタフェースおよびバスインタフェースを含む。
【０１６５】
コンピューティングアーキテクチャ２１００は、１つまたは複数のプロセッサ、マルチコアプロセッサ、コプロセッサ、メモリユニット、チップセット、コントローラ、周辺機器、インタフェース、振動子、タイミングデバイス、ビデオカード、オーディオカード、マルチメディア入力／出力（Ｉ／Ｏ）コンポーネント、電源など、様々な共通のコンピューティング要素を含む。しかし、実施形態は、コンピューティングアーキテクチャ２１００による実装に限定されない。
【０１６６】
図２１に示されるように、コンピューティングアーキテクチャ２１００は、処理ユニット２１０４、システムメモリ２１０６およびシステムバス２１０８を備える。処理ユニット２１０４は、これらに限定されないが、エーエムディー（ＡＭＤ）（登録商標）、アスロン（Ａｔｈｌｏｎ）（登録商標）、デュロン（Ｄｕｒｏｎ）（登録商標）およびオプテロン（Ｏｐｔｅｒｏｎ）（登録商標）プロセッサや、アーム（ＡＲＭ）（登録商標）アプリケーション、埋め込みセキュアプロセッサや、アイビーエム（ＩＢＭ）（登録商標）およびモトローラ（Ｍｏｔｏｒｏｌａ）（登録商標）ドラゴンボール（ＤｒａｇｏｎＢａｌｌ）（登録商標）およびパワーピーシー（ＰｏｗｅｒＰＣ）（登録商標）プロセッサや、アイビーエム（ＩＢＭ）（登録商標）およびソニー（Ｓｏｎｙ）（登録商標）セル（Ｃｅｌｌ）プロセッサや、インテル（Ｉｎｔｅｌ）（登録商標）セレロン（Ｃｅｌｅｒｏｎ）（登録商標）、コアツーデュオ（Ｃｏｒｅ（２）Ｄｕｏ）（登録商標）、アイテニアム（Ｉｔａｎｉｕｍ）（登録商標）、ペンティアム（Ｐｅｎｔｉｕｍ）（登録商標）、ジオン（Ｘｅｏｎ）（登録商標）およびエックススケール（ＸＳｃａｌｅ）（登録商標）プロセッサや、同様のプロセッサを含む、様々な市販のプロセッサのいずれかであり得る。デュアルマイクロプロセッサ、マルチコアプロセッサおよび他のマルチプロセッサアーキテクチャも処理ユニット２１０４として使用することができる。
【０１６７】
システムバス２１０８は、これらに限定されないが、処理ユニット２１０４に対するシステムメモリ２１０６を含む、システムコンポーネントのためのインタフェースを提供する。システムバス２１０８は、様々な市販のバスアーキテクチャのいずれかを使用して、メモリバス（メモリコントローラの有無に関わらず）、周辺機器用バスおよびローカルバスにさらに相互接続することができるいくつかのタイプのバス構造のいずれかであり得る。インタフェースアダプタは、スロットアーキテクチャを介してシステムバス２１０８に接続することができる。スロットアーキテクチャの例は、これらに限定されないが、アクセラレイティッドグラフィックスポート（ＡＧＰ：Ａｃｃｅｌｅｒａｔｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ）、カードバス（Ｃａｒｄ  Ｂｕｓ）、（拡張）業界標準アーキテクチャ（（Ｅ）ＩＳＡ：（Ｅｘｔｅｎｄｅｄ）Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）、マイクロチャネルアーキテクチャ（ＭＣＡ：Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）、ニューバス（ＮｕＢｕｓ）、周辺構成要素相互接続（拡張）（ＰＣＩ（Ｘ）：Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ（Ｅｘｔｅｎｄｅｄ））、ピーシーアイエクスプレス（ＰＣＩ  Ｅｘｐｒｅｓｓ）、ＰＣメモリカード国際協会（ＰＣＭＣＩＡ：Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ  Ｍｅｍｏｒｙ  Ｃａｒｄ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ａｓｓｏｃｉａｔｉｏｎ）および同様のものを含み得る。
【０１６８】
コンピューティングアーキテクチャ２１００は、製造の様々な物品を含むことも、実装することもできる。製造の物品は、論理を格納するためのコンピュータ可読記憶媒体を含み得る。コンピュータ可読記憶媒体の例は、揮発性メモリまたは不揮発性メモリ、取り外し可能型または取り外し不可能型メモリ、消去可能型または消去不可能型メモリ、書き込み可能型または書き換え可能型メモリなどを含む、電子データの格納が可能ないかなる有形の媒体も含み得る。論理の例は、ソースコード、コンパイル済みコード、解釈済みコード、実行コード、静的コード、動的コード、オブジェクト指向コード、視覚的コードおよび同様のものなど、任意の適切なタイプのコードを使用して実装される実行可能なコンピュータプログラム命令を含み得る。また、実施形態は、非一時的なコンピュータ可読媒体内または非一時的なコンピュータ可読媒体上に含まれる命令として少なくとも部分的に実装することもでき、本明細書で説明されるオペレーションの性能を可能にするため、１つまたは複数のプロセッサが命令を読み取り、実行することができる。
【０１６９】
システムメモリ２１０６は、読み取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、ダブルデータレートＤＲＡＭ（ＤＤＲＡＭ）、同期型ＤＲＡＭ（ＳＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）、プログラム可能型ＲＯＭ（ＰＲＯＭ）、消去・プログラム可能型ＲＯＭ（ＥＰＲＯＭ）、電気的消去・プログラム可能型ＲＯＭ（ＥＥＰＲＯＭ）、フラッシュメモリ、ポリマーメモリ、例えば、強誘電性ポリマーメモリ、オボニックメモリ、相変化または強誘電体メモリ、シリコン−酸化物−窒化物−酸化物−シリコン（ＳＯＮＯＳ）メモリ、磁気または光カード、デバイスのアレイ、例えば、独立ディスクの冗長アレイ（ＲＡＩＤ：Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ）ドライブ、ソリッドステートメモリデバイス（例えば、ＵＳＢメモリ、ソリッドステートドライブ（ＳＳＤ））および情報の格納に適した他の任意のタイプの記憶媒体など、１つまたは複数の高速メモリユニットの形態の様々なタイプのコンピュータ可読記憶媒体を含み得る。図２１に示される実施形態では、システムメモリ２１０６は、不揮発性メモリ２１１０および揮発性メモリ２１１２のうちの少なくとも一方を含み得る。基本入力／出力システム（ＢＩＯＳ）は、不揮発性メモリ２１１０に格納することができる。
【０１７０】
コンピュータ２１０２は、内部（または外部）のハードディスクドライブ（ＨＤＤ）２１１４、取り外し可能型磁気ディスク２１１８から読み取るかまたは取り外し可能型磁気ディスク２１１８に書き込むための磁気フロッピーディスク（登録商標）ドライブ（ＦＤＤ）２１１６、および、取り外し可能型光ディスク２１２２（例えば、ＣＤ−ＲＯＭまたはＤＶＤ）から読み取るかまたは取り外し可能型光ディスク２１２２に書き込むための光ディスクドライブ２１２０を含む、１つまたは複数の低速メモリユニットの形態の様々なタイプのコンピュータ可読記憶媒体を含み得る。ＨＤＤ  ２１１４、ＦＤＤ  ２１１６および光ディスクドライブ２１２０は、ＨＤＤインタフェース２１２４、ＦＤＤインタフェース２１２６および光学式ドライブインタフェース２１２８のそれぞれによってシステムバス２１０８に接続することができる。外部のドライブ実装形態のためのＨＤＤインタフェース２１２４は、ユニバーサルシリアルバス（ＵＳＢ：Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）およびＩＥＥＥ１３９４インタフェース技術の少なくとも１つまたは両方を含み得る。
【０１７１】
ドライブおよび関連コンピュータ可読媒体は、データの揮発性記憶装置および不揮発性記憶装置のうちの少なくとも一方、データ構造、コンピュータ実行可能命令などを提供する。例えば、オペレーティングシステム２１３０、１つまたは複数のアプリケーションプログラム２１３２、他のプログラムモジュール２１３４およびプログラムデータ２１３６を含む、多くのプログラムモジュールは、ドライブおよびメモリユニット２１１０、２１１２に格納することができる。一実施形態では、１つまたは複数のアプリケーションプログラム２１３２、他のプログラムモジュール２１３４およびプログラムデータ２１３６は、例えば、ソーシャルネットワーキングサービス１１０の様々なアプリケーションおよびコンポーネントのうちの少なくとも一方を含み得る。
【０１７２】
ユーザは、１つまたは複数の有線／無線入力デバイス、例えば、キーボード２１３８およびポインティングデバイス（マウス２１４０など）を通じて、コンピュータ２１０２にコマンドおよび情報を入力することができる。他の入力デバイスは、マイクロホン、赤外線（ＩＲ）リモートコントロール、無線周波数（ＲＦ）リモートコントロール、ゲームパッド、スタイラスペン、カードリーダ、ドングル、指紋リーダ、グローブ、グラフィックスタブレット、ジョイスティック、キーボード、網膜リーダ、タッチスクリーン（例えば、容量性および抵抗性など）、トラックボール、トラックパッド、センサ、スタイラスおよび同様のものを含み得る。これらのおよび他の入力デバイスは、多くの場合、システムバス２１０８と結合された入力デバイスインタフェース２１４２を通じて処理ユニット２１０４に接続されるが、パラレルポート、ＩＥＥＥ１３９４シリアルポート、ゲームポート、ＵＳＢポート、ＩＲインタフェースなどの他のインタフェースによって接続することもできる。
【０１７３】
また、モニタ２１４４または他のタイプの表示デバイスも、ビデオアダプタ２１４６などのインタフェースを介してシステムバス２１０８に接続される。モニタ２１４４は、コンピュータ２１０２の内部または外部にあり得る。モニタ２１４４に加えて、コンピュータは、通常、スピーカ、プリンタなどの他の周辺出力デバイスを含む。
【０１７４】
コンピュータ２１０２は、リモートコンピュータ２１４８などの１つまたは複数のリモートコンピュータへの有線通信および無線通信のうちの少なくとも一方を介して、論理接続を使用して、ネットワーク接続環境で動作することができる。リモートコンピュータ２１４８は、ワークステーション、サーバコンピュータ、ルータ、パーソナルコンピュータ、ポータブルコンピュータ、マイクロプロセッサベースのエンターテインメント器具、ピアデバイスまたは他の共通のネットワークノードであり得、通常、コンピュータ２１０２に関連して説明される要素の多くまたはすべてを含むが、簡潔にするため、メモリデバイス／記憶装置２１５０のみが示されている。描写される論理接続は、ローカルエリアネットワーク（ＬＡＮ）２１５２およびより大きなネットワーク（例えば、広域ネットワーク（ＷＡＮ）２１５４）のうちの少なくとも一方への有線／無線接続性を含む。そのようなＬＡＮおよびＷＡＮネットワーク環境は、オフィスや会社ではありふれたものであり、イントラネットなどの企業規模のコンピュータネットワークを促進し、そのすべては、例えば、インターネットなどのグローバル通信ネットワークに接続することができる。
【０１７５】
ＬＡＮネットワーク環境で使用される際、コンピュータ２１０２は、有線通信ネットワークインタフェースおよび無線通信ネットワークインタフェースのうちの少なくとも一方またはアダプタ２１５６を通じてＬＡＮ  ２１５２に接続される。アダプタ２１５６は、ＬＡＮ  ２１５２への有線通信および無線通信のうちの少なくとも一方を促進することができ、ＬＡＮ  ２１５２もまた、アダプタ２１５６のワイヤレス機能性との通信のためにその上に配置されたワイヤレスアクセスポイントを含み得る。
【０１７６】
ＷＡＮネットワーク環境で使用される際、コンピュータ２１０２は、モデム２１５８を含むか、ＷＡＮ  ２１５４上の通信サーバに接続されるか、または、例えば、インターネットによってなど、ＷＡＮ  ２１５４上での通信を確立するための他の手段を有する。内部または外部の有線デバイスおよび無線デバイスのうちの少なくとも一方であり得るモデム２１５８は、入力デバイスインタフェース２１４２を介してシステムバス２１０８に接続される。ネットワーク接続環境では、コンピュータ２１０２またはその一部に関連して描写されるプログラムモジュールは、リモートメモリデバイス／記憶装置２１５０に格納することができる。示されるネットワーク接続は例示的なものであり、コンピュータ間の通信リンクを確立する他の手段も使用できることが認識されよう。
【０１７７】
コンピュータ２１０２は、無線通信で動作するように配置された無線デバイスなど、ＩＥＥＥ８０２ファミリ規格を使用して有線および無線デバイスまたは実体と通信するように動作し得る（例えば、ＩＥＥＥ８０２．２１無線変調技法）。これは、数ある中でも、少なくともＷｉ−Ｆｉ（またはワイヤレスフィディリティ）、ＷｉＭａｘおよびブルートゥース（Ｂｌｕｅｔｏｏｔｈ）（登録商標）ワイヤレス技術を含む。したがって、通信は、従来のネットワークまたは単に少なくとも２つのデバイス間のアドホック通信と同様に、事前に定義された構造であり得る。Ｗｉ−Ｆｉネットワークは、ＩＥＥＥ８０２．２１ｘ（ａ、ｂ、ｇ、ｎなど）と呼ばれる無線技術を使用して、安全で、信頼できる、高速のワイヤレス接続性を提供する。Ｗｉ−Ｆｉネットワークは、互いに、インターネットに、そして、有線ネットワーク（ＩＥＥＥ８０２．３関連の媒体および機能を使用する）にコンピュータを接続するために使用される。
【０１７８】
図２２は、以前に説明されるような様々な実施形態の実装に適した例示的な通信アーキテクチャ２２００のブロック図を示す。通信アーキテクチャ２２００は、送信機、受信機、トランシーバ、ラジオ、ネットワークインタフェース、ベースバンドプロセッサ、アンテナ、増幅器、フィルタ、電源など、様々な共通の通信要素を含む。しかし、実施形態は、通信アーキテクチャ２２００による実装に限定されない。
【０１７９】
図２２に示されるように、通信アーキテクチャ２２００は、１つまたは複数のクライアント２２０２およびサーバ２２０４を含む。クライアント２２０２は、デバイス１８１０または１８５０を実装することができる。サーバ２２０４は、サーバデバイス１８２０、１９１５、１９２５、１９３５、１９４５または１９５５を実装することができる。クライアント２２０２およびサーバ２２０４は、クッキーおよび関連状況情報のうちの少なくとも一方などのそれぞれのクライアント２２０２およびサーバ２２０４にローカルに情報を格納するために使用することができる１つまたは複数のそれぞれのクライアントデータストア２２０８およびサーバデータストア２２１０に動作的に接続される。
【０１８０】
クライアント２２０２およびサーバ２２０４は、通信フレームワーク２２０６を使用して互いの間で情報を伝達することができる。通信フレームワーク２２０６は、いかなる周知の通信技法およびプロトコルも実装することができる。通信フレームワーク２２０６は、パケット交換網（例えば、インターネットなどのパブリックネットワーク、企業イントラネットなどのプライベートネットワークなど）、回路交換網（例えば、公衆交換電話網）またはパケット交換網と回路交換網の組合せ（適切なゲートウェイおよび変換器を備える）として実装することができる。
【０１８１】
通信フレームワーク２２０６は、通信ネットワークを受け入れたり、通信ネットワークと通信したり、通信ネットワークに接続したりするように構成された様々なネットワークインタフェースを実装することができる。ネットワークインタフェースは、入出力インタフェースの特殊な形態と見なすことができる。ネットワークインタフェースは、これらに限定されないが、直接接続、イーサネット（Ｅｔｈｅｒｎｅｔ）（登録商標）（例えば、厚い、薄い、ツイストペアの１０／１００／１０００ベースティー（Ｂａｓｅ  Ｔ）および同様のもの）、トークンリング、ワイヤレスネットワークインタフェース、セルラネットワークインタフェース、ＩＥＥＥ８０２．１１ａ−ｘネットワークインタフェース、ＩＥＥＥ８０２．１６ネットワークインタフェース、ＩＥＥＥ８０２．２０ネットワークインタフェースおよび同様のものを含む、接続プロトコルを使用することができる。さらに、複数のネットワークインタフェースは、様々な通信ネットワークタイプと関わり合うために使用することができる。例えば、複数のネットワークインタフェースは、放送、マルチキャストおよびユニキャストネットワーク上での通信を可能にするために使用することができる。処理要件がより大きな速度および容量を規定していれば、プール、負荷平衡およびそうでなければクライアント２２０２およびサーバ２２０４に必要とされる通信帯域幅の増加に対して、分散型ネットワークコントローラアーキテクチャを同様に使用することができる。通信ネットワークは、これらに限定されないが、直接相互接続、保護されたカスタム接続、プライベートネットワーク（例えば、企業イントラネット）、パブリックネットワーク（例えば、インターネット）、パーソナルエリアネットワーク（ＰＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、メトロポリタンエリアネットワーク（ＭＡＮ）、インターネット上のノードとしてのミッションの運用（ＯＭＮＩ：Ｏｐｅｒａｔｉｎｇ  Ｍｉｓｓｉｏｎｓ  ａｓ  Ｎｏｄｅｓ  ｏｎ  ｔｈｅ  Ｉｎｔｅｒｎｅｔ）、広域ネットワーク（ＷＡＮ）、ワイヤレスネットワーク、セルラネットワークおよび他の通信ネットワークを含む、有線ネットワークおよび無線ネットワークのいずれか１つおよびそれらの組合せであり得る。
【０１８２】
いくつかの実施形態は、「一実施形態」または「実施形態」という表現（それらの派生語も同様）を使用して説明することができる。これらの用語は、実施形態に関連して説明される特定の特徴、構造または特性が少なくとも１つの実施形態に含まれることを意味する。本明細書の様々な場所での「一実施形態では」という記載の出現は、必ずしもすべてが同じ実施形態を指すとは限らない。さらに、いくつかの実施形態は、「結合される」および「接続される」という表現（それらの派生語も同様）を使用して説明することができる。これらの用語は、必ずしも互いの同義語となることを意図するとは限らない。例えば、いくつかの実施形態は、２つ以上の要素が互いに直接、物理的または電気的に接触していることを示すため、「接続される」または「結合される」という用語を使用して説明することができる。しかし、「結合される」という用語は、２つ以上の要素が互いに直接接触していないが、依然として互いに協働または相互作用することも意味する。
【０１８３】
本開示の要約書は、読者が技術的な開示の本質を素早く確かめられるようにするために提供されることが強調される。本開示の要約書は、請求項の範囲または意味を解釈または制限するためには使用されないことを理解の上で提出される。それに加えて、前述の詳細な説明では、本開示の合理化を図る目的で、様々な特徴が単一の実施形態でまとめられることが分かる。本開示のこの方法は、特許請求される実施形態が各請求項で明白に列挙されるより多くの特徴を必要とするという意図を反映するものと解釈してはならない。むしろ、以下の請求項が反映するように、発明対象物は、単一の開示される実施形態のすべての特徴に満たないことにある。したがって、以下の請求項は、これにより、詳細な説明に組み込まれ、各請求項は、別々の実施形態として自立している。「第１の」、「第２の」、「第３の」などの用語は、単にラベルとして使用され、それらの対象に対する数的要件を課すことを意図しない。
【０１８４】
上記で説明されるものには、開示されるアーキテクチャの例が含まれる。当然ながら、コンポーネントおよび方法論のうちの少なくとも一方の想定されるあらゆる組合せを説明することは可能ではないが、当業者であれば、多くのさらなる組合せおよび置換が可能であることを認知することができる。それに従って、新規のアーキテクチャは、添付の請求項の技術思想および範囲内に収まるそのようなすべての代替形態、変更形態および変形形態を包含することが意図される。
【図１】
2016507091.tif 000003
【図２】
2016507091.tif 000004
【図３】
2016507091.tif 000005
【図４】
2016507091.tif 000006
【図５】
2016507091.tif 000007
【図６】
2016507091.tif 000008
【図７】
2016507091.tif 000009
【図８】
2016507091.tif 000010
【図９】
2016507091.tif 000011
【図１０】
2016507091.tif 000012
【図１１】
2016507091.tif 000013
【図１２】
2016507091.tif 000014
【図１３】
2016507091.tif 000015
【図１４】
2016507091.tif 000016
【図１５】
2016507091.tif 000017
【図１６】
2016507091.tif 000018
【図１７】
2016507091.tif 000019
【図１８】
2016507091.tif 000020
【図１９】
2016507091.tif 000021
【図２０】
2016507091.tif 000022
【図２１】
2016507091.tif 000023
【図２２】
2016507091.tif 000024
【国際調査報告】
2016507091.tif 000025
2016507091.tif 000026
2016507091.tif 000027
2016507091.tif 000028
2016507091.tif 000029