本発明の特定の実施形態を対象とする以下の説明および関連する図面で本発明の態様を開示する。本発明の範囲から逸脱することなく代替的な実施形態を考案することができる。さらに、本発明の関連する詳細を不明瞭にしないように、本発明のよく知られている要素については詳細に説明しないか、または省略する。
「例示的」という語は、「例、実例、または具体例としての役割を果たすこと」を意味するように本明細書において用いられている。「例示的」として本明細書で説明する任意の実施形態は、必ずしも他の実施形態よりも好ましいまたは有利であると解釈されない。同様に、「本発明の実施形態」という用語は、本発明のすべての実施形態が、論じられた特徴、利点または動作モードを含むことを必要としない。
本明細書で用いられる用語は、特定の実施形態の説明のみを目的とするものであり、本発明の実施形態を限定することは意図されない。本明細書で使用する単数形「a」、「an」、および「the」は、文脈が別段に明確に示すのでなければ、複数形をも含むものとする。「comprises(含む)」、「comprising(含む)」、「includes(含む)」および/または「including(含む)」という用語は、本明細書において使われる場合、記述する特徴、整数、ステップ、動作、要素および/または構成要素の存在を指定するためのものであって、他の1つまたは複数の特徴、整数、ステップ、動作、要素、構成要素および/またはそのグループの存在も追加も排除するものではないことがさらに理解されよう。
さらに、多くの実施形態が、たとえば、コンピューティングデバイスの要素によって実行すべき一連のアクションに関して説明される。本明細書で説明する様々なアクションは、特定の回路(たとえば、特定用途向け集積回路(ASIC))によって、1つもしくは複数のプロセッサによって実行されるプログラム命令によって、または両方の組合せによって実行できることが認識されよう。さらに、本明細書で説明するこれらの一連のアクションは、実行時に、関連するプロセッサに本明細書で説明する機能を実行させるコンピュータ命令の対応するセットを記憶した、任意の形式のコンピュータ可読記憶媒体内で完全に具現化されるものと見なすことができる。したがって、本発明の様々な態様は、すべてが特許請求される主題の範囲内に入ることが企図されているいくつかの異なる形式で具現化できる。さらに、本明細書で説明する実施形態ごとに、任意のそのような実施形態の対応する形式を、たとえば、(図10に関して以下でより詳細に説明する)記載のアクションを実行する「ように構成された論理」として本明細書で説明することがある。
図1は、本発明の少なくとも1つの実施形態によるワイヤレス通信システム100の例示的な一実施形態のブロック図を示す。システム100は、パケット交換データネットワーク(たとえばイントラネット、インターネット、および/またはコアネットワーク126)とUE102、108、110、112との間にデータ接続を提供するネットワーク機器にアクセス端末102を接続することができるアクセスネットワークまたは無線アクセスネットワーク(RAN)120と、エアインターフェース104を介して通信しているセルラー電話102などのUEを含むことができる。本明細書に示すように、UEは、セルラー電話102、携帯情報端末108、本明細書では双方向テキストページャとして示すページャ110、さらにはワイヤレス通信ポータルを有する個別のコンピュータプラットフォーム112とすることができる。したがって、本発明の実施形態は、それだけには限定されないが、ワイヤレスモデム、PCMCIAカード、パーソナルコンピュータ、電話、またはそれらの任意の組合せまたは部分的組合せを含めて、ワイヤレス通信ポータルを含む、またはワイヤレス通信機能を有する任意の形態のアクセス端末において実現することができる。さらに、本明細書で使用するように、他の通信プロトコル(すなわちW-CDMA以外)における「UE」という用語は、互換的に「アクセス端末」、「AT」、「ワイヤレスデバイス」、「クライアントデバイス」、「モバイル端末」、「移動局」、およびそれらの変形と呼ばれ得る。
再び図1を参照すると、ワイヤレス通信システム100の構成要素、および本発明の例示的な実施形態の要素の相互関係は、図示の構成に限定されない。システム100は、例にすぎず、ワイヤレスクライアントコンピューティングデバイス102、108、110、112などのリモートUEが、無線で互いの間で、かつ/またはそれだけには限定されないが、コアネットワーク126、インターネット、PSTN、SGSN、GGSN、および/もしくは他のリモートサーバを含めて、エアインターフェース104およびRAN120を介して接続される構成要素の間で通信することができる任意のシステムを含むことができる。
RAN120は、RNC122に送られる(一般的にデータパケットとして送られる)メッセージを制御する。RNC122は、サービング汎用パケット無線サービス(GPRS)サポートノード(SGSN)とUE102/108/110/112との間のベアラチャネル(すなわち、データチャネル)のシグナリング、確立、およびティアダウンを行う役目を果たす。また、リンクレイヤ暗号化が可能な場合、RNC122は、エアインターフェース104を介してコンテンツを転送する前に、コンテンツを暗号化する。RNC122の機能は、当技術分野でよく知られており、簡潔のためにこれ以上は説明しない。コアネットワーク126は、ネットワーク、インターネット、および/または公衆交換電話網(PSTN)によってRNC122と通信することができる。代わりに、RNC122は、インターネットまたは外部ネットワークに直接接続することができる。一般的に、コアネットワーク126とRNC122との間のネットワークまたはインターネット接続は、データを転送し、PSTNは、ボイス情報を転送する。RNC122は、複数のノードB124に接続することができる。コアネットワーク126と同様の方法で、RNC122は、一般的に、データ転送および/またはボイス情報転送のために、ネットワーク、インターネット、および/またはPSTNによってノードB124に接続される。ノードB124は、データメッセージを、たとえばセルラー電話102などのUEにワイヤレスでブロードキャストすることができる。当技術分野で知られているように、ノードB124、RNC122、および他の構成要素は、RAN120を形成することができる。ただし、代替構成も使用でき、本発明は、図示の構成に限定されない。たとえば、別の実施形態では、RNC122、およびノードB124のうちの1つまたは複数の機能は、RNC122とノードB124の両方の機能を有する単一の「ハイブリッド」モジュールに縮小することができる。
図2Aは、本発明の一実施形態によるコアネットワーク126を示す。特に、図2Aは、W-CDMAシステム内に実装される汎用パケット無線サービス(GPRS)コアネットワークの構成要素を示す。図2Aの実施形態では、コアネットワーク126は、サービングGPRSサポートノード(SGSN)160、ゲートウェイGPRSサポートノード(GGSN)165、およびインターネット175を含む。しかし、代替実施形態では、インターネット175および/または他の構成要素の部分がコアネットワークの外部に配置されていてもよいことを諒解されたい。
一般に、GPRSは、インターネットプロトコル(IP)パケットを送信するために、Global System for Mobile communications(GSM(登録商標))電話によって使用されるプロトコルである。GPRSコアネットワーク(たとえば、GGSN165および1つまたは複数のSGSN160)は、GPRSシステムの中央部であり、W-CDMAベースの3Gネットワークのサポートも提供する。GPRSコアネットワークは、GSM(登録商標)コアネットワークの一体部であり、GSM(登録商標)およびW-CDMAネットワークにおけるIPパケットサービスのモビリティ管理、セッション管理、およびトランスポートを提供する。
GPRSトンネリングプロトコル(GTP)は、GPRSコアネットワークの限定的なIPプロトコルである。GTPは、GGSN165において、まるで1つの位置からのようにインターネットに接続し続けながら、GSM(登録商標)またはW-CDMAネットワークのエンドユーザ(たとえば、アクセス端末)があちこちに移動することができるプロトコルである。これは、加入者の現在のSGSN160から、加入者のセッションを処理しているGGSN165に加入者のデータを転送することによって達成される。
GTPの3つの形態、すなわち(i)GTP-U、(ii)GTP-C、および(iii)GTP'(GTP Prime)がGPRSコアネットワークによって使用される。GTP-Uは、パケットデータプロトコル(PDP)コンテキストごとに分離されたトンネルでのユーザデータの転送に使用される。GTP-Cは、制御シグナリング(たとえば、PDPコンテキストのセットアップおよび削除、GSN到達可能性の検証、加入者があるSGSNから別のSGSNに移動したときなどの更新または変更)に使用される。GTP'は、GSNから課金機能への課金データの転送のために使用される。
図2Aを参照すると、GGSN165は、GPRSバックボーンネットワーク(図示せず)と外部パケットデータネットワーク175との間のインターフェースとして働く。GGSN165は、関連するパケットデータプロトコル(PDP)形式(たとえば、IPまたはPPP)のパケットデータを、SGSN160から来るGPRSパケットから抽出し、対応するパケットデータネットワーク上でパケットを送る。他方の方向では、着信データパケットは、GGSN165によってSGSN160に向けられ、SGSN160は、RAN120によってサービスされる宛先のUEの無線アクセスベアラ(RAB)を管理し、制御する。それによって、GGSN165は、ターゲットUEの現在のSGSNアドレス、およびそのユーザのプロファイルをそのロケーションレジスタ(たとえば、PDPコンテキスト内)に記憶する。GGSNは、IPアドレス割当ての役目を果たし、接続されたUEのデフォルトルータである。また、GGSNは、認証および課金機能を実行する。
一例では、SGSN160は、コアネットワーク126内の多くのSGSNのうちの1つの代表である。各SGSNは、関連する地理的サービスエリア内で、UEとの間でデータパケットを配信する役目を果たす。SGSN160のタスクには、パケットルーティングおよび転送、モビリティ管理(たとえば、接続/切断およびロケーション管理)、論理リンク管理、および認証および課金機能などがある。SGSNのロケーションレジスタは、位置情報(たとえば、現在のセル、現在のVLRなど)、および、たとえばユーザまたはUEごとに1つまたは複数のPDPコンテキスト内など、SGSN160に登録されたすべてのGPRSユーザのユーザプロファイル(たとえば、パケットデータネットワークで使用するIMSI、PDPアドレスなど)を記憶する。したがって、SGSNは、(i)GGSN165からのダウンリンクGTPパケットの逆トンネリング、(ii)GGSN165方向のIPパケットのアップリンクトンネル、(iii)UEがSGSNサービスエリアの間を移動するときのモビリティ管理の実行、(iv)モバイル加入者の支払い請求の役目を果たす。当業者なら諒解するように、(i)〜(iv)の他に、GSM(登録商標)/EDGEネットワークのために構成されたSGSNは、W-CDMAネットワークのために構成されたSGSNと比較して、わずかに異なる機能を有する。
RAN120(たとえば、ユニバーサルモバイル通信システム(UMTS)システムアーキテクチャにおけるUTRANなど)は、フレームリレーまたはIPなどの送信プロトコルによって、Iuインターフェースを介してSGSN160と通信する。SGSN160は、SGSN160および他のSGSN(図示せず)と内部のGGSNとの間のIPベースのインターフェースであり、上記で定義されたGTPプロトコル(たとえば、GTP-U、GTP-C、GTP'など)を使用するGnインターフェースを介してGGSN165と通信する。図2Aには示されていないが、Gnインターフェースは、ドメインネームシステム(DNS)によっても使用される。GGSN165は、公衆データネットワーク(PDN)(図示せず)に、次にインターネット175に、IPプロトコルによるGiインターフェースを介して直接、またはワイヤレスアプリケーションプロトコル(WAP)ゲートウェイを介して接続される。
PDPコンテキストは、UEがアクティブなGPRSセッションを有するとき、特定のUEの通信セッション情報を含む、SGSN160とGGSN165の両方に存在するデータ構造である。UEは、GPRS通信セッションを開始することを望むとき、まず、SGSN160に接続し、次いでGGSN165によりPDPコンテキストを起動させなければならない。これによって、加入者が現在訪問しているSGSN160、およびUEのアクセスポイントにサービスしているGGSN165において、PDPコンテキストデータ構造が割り振られる。
図2Bは、図1のワイヤレス通信システム100の一例をより詳細に示す。特に、図2Bを参照すると、UE1...Nは、異なるパケットデータネットワークのエンドポイントによってサービスされる位置でRAN120に接続するものとして示されている。図2Bの例は、W-CDMAシステムおよび用語に固有のものであるが、1xEV-DOシステムに適合するために図2Bをどのように変更することができるかが諒解されよう。したがって、UE1およびUE3は、第1のパケットデータネットワークエンドポイント162(たとえば、SGSN、GGSN、PDSN、ホームエージェント(HA)、外部エージェント(FA)などに対応し得る)によってサービスされる部分でRAN120に接続する。第1のパケットデータネットワークエンドポイント162は、次に、ルーティングユニット188を介して、インターネット175、ならびに/または認証、認可およびアカウンティング(AAA)サーバ182、プロビジョニングサーバ184、インターネットプロトコル(IP)マルチメディアサブシステム(IMS)/セッション開始プロトコル(SIP)登録サーバ186、および/もしくはアプリケーションサーバ170のうちの1つもしくは複数に接続する。UE2およびUE5…Nは、第2のパケットデータネットワークエンドポイント164(たとえば、SGSN、GGSN、PDSN、FA、HAなどに対応し得る)によってサービスされる部分でRAN120に接続する。第1のパケットデータネットワークエンドポイント162と同様に、第2のパケットデータネットワークエンドポイント164は、次に、ルーティングユニット188を介して、インターネット175、ならびに/またはAAAサーバ182、プロビジョニングサーバ184、IMS/SIP登録サーバ186、および/もしくはアプリケーションサーバ170のうちの1つもしくは複数に接続する。UE4は、直接インターネット175に接続し、次いでインターネット175を介して、上記のシステム構成要素のうちのいずれかに接続することができる。
図2Bを参照すると、UE1、UE3、およびUE5…Nは、ワイヤレス携帯電話として示され、UE2は、ワイヤレスタブレット型PCとして示され、UE4は、有線のデスクトップステーションとして示されている。しかし、他の実施形態では、ワイヤレス通信システム100が任意のタイプのUEに接続することができ、図2Bに示される例は、システム内に実装され得るUEのタイプを制限するものではないことが諒解されよう。また、AAA182、プロビジョニングサーバ184、IMS/SIP登録サーバ186、およびアプリケーションサーバ170はそれぞれ、構造的に別のサーバとして示されているが、本発明の少なくとも1つの実施形態において、これらのサーバのうちの1つまたは複数は、統合されていてもよい。
さらに、図2Bを参照すると、アプリケーションサーバ170は、複数のメディア制御コンプレックス(MCC)1...N170Bおよび複数の地域ディスパッチャ1...N170Aを含むものとして示されている。集合的に、地域ディスパッチャ170AおよびMCC170Bは、少なくとも1つの実施形態では、ワイヤレス通信システム100内の通信セッション(たとえば、IPユニキャストプロトコルおよび/またはIPマルチキャストプロトコルを介した半二重グループ通信セッション)を調停するように集合的に機能するサーバの分散型ネットワークに対応し得る、アプリケーションサーバ170内に含まれる。たとえば、アプリケーションサーバ170によって調停される通信セッションは、理論上、システム100内のどこかに位置するUE間で行われ得るので、調停された通信セッションの待ち時間を減らすために(たとえば、北米のMCCが中国にあるセッション参加者間で媒体をあちこち中継しないように)、複数の地域ディスパッチャ170AおよびMCCが分散される。
上記の理由により、アプリケーションサーバ170を参照すると、関連する機能は、地域ディスパッチャ170Aのうちの1つもしくは複数、および/またはMCC170Bのうちの1つもしくは複数によって実施することができることを諒解されよう。地域ディスパッチャ170Aは、全般的に、通信セッションを確立することに関連する任意の機能(たとえば、UE間のシグナリングメッセージの処理、告知メッセージのスケジューリングおよび/または送信など)を受け持ち、MCC170Bは、通話中シグナリング、調停された通信セッション中の媒体の実際の交換を行うことを含めて、呼インスタンスの間の通信セッションをホストする役目を果たす。
図3を参照すると、たとえばセルラー電話などのUE200(ここではワイヤレスデバイス)は、プラットフォーム202を有し、プラットフォーム202は、RAN120から送信され、最終的にはコアネットワーク126、インターネット、および/または他のリモートサーバおよびネットワークから来る可能性がある、ソフトウェアアプリケーション、データ、および/またはコマンドを受信し、実行することができる。プラットフォーム202は、特定用途向け集積回路(ASIC)208、または他のプロセッサ、マイクロプロセッサ、論理回路、または他のデータ処理デバイスに動作可能に結合されたトランシーバ206を含むことができる。ASIC208または他のプロセッサは、ワイヤレスデバイスのメモリ212中の常駐プログラムとインターフェースするアプリケーションプログラミングインターフェース(API)210レイヤを実行する。メモリ212は、読取り専用メモリまたはランダムアクセスメモリ(RAMおよびROM)、EEPROM、フラッシュカード、またはコンピュータプラットフォームに共通の任意のメモリから構成され得る。プラットフォーム202は、メモリ212中でアクティブに使用されないアプリケーションを保持することができるローカルデータベース214を含むこともできる。ローカルデータベース214は、一般にフラッシュメモリセルであるが、磁気媒体、EEPROM、光学媒体、テープ、ソフトまたはハードディスクなど、当技術分野で知られている任意の二次記憶デバイスとすることができる。内部プラットフォーム202の構成要素はまた、当技術分野で知られていているように、他の構成要素の中でもアンテナ222、ディスプレイ224、プッシュツートークボタン228およびキーパッド226などの外部デバイスに動作可能に結合され得る。
したがって、本発明の一実施形態は、本明細書で説明した機能を実行する能力を含むUEを含むことができる。当業者ならば諒解するように、様々な論理要素は、本明細書で開示する機能を達成するために、個別の要素、プロセッサ上で実行されるソフトウェアモジュール、またはソフトウェアとハードウェアとの任意の組合せで実施できる。たとえば、ASIC208、メモリ212、API210およびローカルデータベース214をすべて協働的に使用して、本明細書で開示する様々な機能をロード、記憶および実行することができ、したがってこれらの機能を実行する論理を様々な要素に分散することができる。代替的に、機能を1つの個別構成要素に組み込むことができる。したがって、図3のUE200の特徴は、単に例示にすぎないものと見なされ、本発明は、示された特徴または構成に限定されない。
UE102またはUE200とRAN120との間のワイヤレス通信は、たとえば符号分割多元接続(CDMA)、W-CDMA、時分割多元接続(TDMA)、周波数分割多元接続(FDMA)、直交周波数分割多元(OFDM)、Global System for Mobile Communications (GSM(登録商標))、またはワイヤレス通信ネットワークもしくはデータ通信ネットワークで使用され得る他のプロトコルなど、異なる技術に基づき得る。たとえば、W-CDMAでは、データ通信は、一般的に、クライアントデバイス102、ノードB124、およびRNC122の間である。RNC122は、コアネットワーク126、PSTN、インターネット、仮想専用ネットワーク、SGSN、GGSNなど複数のデータネットワークに接続することができ、したがって、UE102またはUE200は、より広い通信ネットワークにアクセスすることができる。上記で説明し、当技術分野で知られているように、ボイス送信、および/またはデータは、様々なネットワークおよび構成を使用してRANからUEに送信することができる。したがって、本明細書で提供する例は、本発明の実施形態を限定するためのものではなく、単に本発明の実施形態の態様の説明を助けるためのものにすぎない。
以下、本発明の実施形態は、全般的に、W-CDMAプロトコルおよび関連する用語に従って説明される(たとえば、移動局(MS)、モバイルユニット(MU)、アクセス端末(AT)などの代わりにUE、EV-DOでのBSCとは異なりRNC、EV-DOでのBSまたはMPT/BSとは異なりノードBなど)。しかしながら、W-CDMA以外のワイヤレス通信プロトコルとともに本発明の実施形態がどのように適用され得るかを、当業者は容易に諒解されよう。
一実施形態による一例では、加入者ソーシャル通信システムが、複数の加入者を有することができ、各加入者は、加入者システム内で様々な種類の通信にアクセスし、参加し、かかる通信を行う定義可能な特権セットを有することができる。加入者ユーザデバイスは、前述のタイプおよび種類のユーザデバイス、たとえばセルラー電話、PDA、およびネットブックのうちのいずれかであってよい。
「ユーザデバイス」は必ずしも特定の加入者に固有のハードウェアユニットであるとは限らないことが理解されよう。1つの例示として、加入者の通常のソーシャルネットワーク構成および設定を有するようにユーザアクセス可能デバイスを加入者が一時的に構成できるようにするポータブル認証/検証機構を加入者が提供され得ることが企図され、当該加入者の通常のソーシャルネットワーク構成および設定は、公開プロファイル(ソーシャルネットワークに関する)認証、内部優先度設定、プライバシー設定、および他の加入者との他のインターフェースを含み、これらの各々については、後のセクションでより詳しく説明する。
1つまたは複数の実施形態によれば、加入者のユーザデバイスは、当該加入者が通信しているか通信した他の加入者を示し、かつネットワークに関する各々の現在のステータスを示すリストまたは他のローカルデータベースを確立し、動的に更新する。リストをソートし、他の加入者を追加し、維持し、リストから除去するための基準およびルールは、ユーザデバイスの現在記憶されている、他の加入者のプレゼンスの特徴付け、そのような他の加入者との通信の新しさ、アルファベット順ならびに以下でより詳しく説明する他の基準およびルールを含む。
簡潔のために、これらの基準を満たす加入者のこのリストまたはデータベースは、各加入者のユーザデバイスによってローカルに維持され得るものであり、「プレゼンス更新グループ」と呼ばれる。「プレゼンス更新グループ」というフレーズは、本開示内において参照目的で使用される任意の名称であること、およびこのフレーズは、特定の方法、動作、グラフィカル形態、配置、動作の実行順序、または構造に関して何らかの意味を有することや伝えることを意図したものではないことが理解されよう。したがって、本明細書で使用するプレゼンス更新グループは、特定の加入者の連絡先セットを含み、連絡先セットに対し当該加入者は(たとえば、加入者が忙しいとき、対応可能なときなどをプレゼンス更新グループに通知する)プレゼンスステータス更新を案内し、さらに連絡先セットに関して加入者は(たとえば、連絡先が忙しいか、対応可能であるかなどを示す)プレゼンスステータス更新を受信する。いくつかの実装形態では、プレゼンス更新グループの一部ではない1つまたは複数の追加の連絡先を加入者が含むことがあり、それによりプレゼンス更新グループが加入者の連絡先のサブセットに対応し得ることが諒解されよう。
一態様では、別の加入者のユーザデバイスを識別するプレゼンス更新グループ内のエントリまたは記録は、加入者間で全体的または部分的に共有され得るネットワークに関する加入者の参加および対応可能性、またはプレゼンスを特徴付ける。プレゼンスの状態は、一括して「プレゼンス値」または「PV」によって表され得る様々なパラメータによって定義される。
一実施形態によれば、所与の加入者のユーザデバイスは、本加入者(instant subscriber)のユーザデバイスが目先的に通信する可能性が高い他の加入者のみをプレゼンス更新グループに維持するようにプレゼンス更新グループを更新するように構成され得る。他の利点の中でも、この特徴は、ユーザデバイスにおける不要な処理および記憶を減らすことができ、さらに、ユーザデバイスがプレゼンス更新グループを更新して無関係なユーザデバイスのステータス変更を反映することに起因する不要なメッセージングオーバーヘッドを減らすことができる。このようにして、プレゼンス更新グループは、所与の加入者の連絡先帳からの縮小された連絡先リストまたは連絡先サブセットに対応し得る。
一態様では、所与の加入者のユーザデバイスは連絡先との将来の通信の確率を、所与の加入者のユーザデバイスと連絡先との間の通信に対する現在の参加、およびそれほどではないにせよ、所与の加入者のユーザデバイスと連絡先との間の通信に対する最近の参加に基づいて、推定することができる。さらなる態様では、ユーザデバイスは、加入者が現在通信している加入者グループ、および加入者が最近参加したグループのPVを維持することができ、「グループ」については、後のセクションでより詳しく説明する。一例では、各加入者グループは、プレゼンス更新グループのサブグループに対応し得る。
一実施形態によれば、所与の加入者のユーザデバイスは、それ自体のプレゼンス更新グループを維持する中で、ローカルプレゼンス更新グループの分散的かつ動的な更新をさらにもたらす方法で、他のユーザデバイスと対話することができる。一態様では、所与の加入者のユーザデバイスは、他の加入者のユーザデバイスに対しネットワークにおける他のユーザデバイスのプレゼンスを特徴付ける更新後情報を求める要求をいつ送信すべきかを指示するように構成され得る。簡潔のために、これらの要求は以下で「PV更新要求」と呼ばれる。送信ユーザデバイスは、プレゼンス更新グループからのエントリの更新(除去を含む)の際に応答を使用する。より詳細に後述するように、一態様では、ユーザデバイスは、メッセージングオーバーヘッドおよびプレゼンス更新グループを更新する頻度に関する効率目標を達成する方法でPV更新要求を送るタイミングを指示するように構成され得る。
さらなる態様では、所与の加入者のユーザデバイスは、ユーザデバイスが特定の他の加入者からPV更新を最後に受信してからの時間の長さに基づいて、プレゼンス更新グループへのエントリを求めるPV更新要求を送ることができる。この態様に加えて、所与の加入者のユーザデバイスは、プレゼンス更新グループ内の加入者ごとのタイムアウトカウンタを確立および維持するように構成され得る。別の例示的な基準は、ユーザ選択可能な優先度、またはアプリケーション固有優先度、たとえば、プレゼンス更新グループ内の他の加入者との通信が対話型リアルタイム活動によるものであるか否かであり得る。
所与の加入者のユーザデバイスによるローカルプレゼンス更新グループの動的な更新の一態様では、所与の加入者のユーザデバイスは、PV更新要求をいつ送るかを決定する際に1つまたは複数のトリガイベントを検出し利用するように構成され得る。1つの例示として、トリガイベントは、以前の電源切断状態からの、所与の加入者のユーザデバイスの最初のスイッチオン、または電源投入であり得る。他のトリガイベントは、所与の加入者が自分のユーザデバイスのロックを解除すること(たとえば、英数字のロック解除コードを入力すること)、または所与の加入者が、たとえばユーザデバイス上のタッチスクリーンアイコンを介して、ソーシャルネットワーキングを実行するアプリケーションを開始することであり得る。
追加の一態様では、所与の加入者のユーザデバイスは、バッテリー電力を節約するために、かつ/またはネットワーク上の不要なメッセージトラフィックを減らすために、ユーザデバイスがロックされたときにプレゼンス更新グループを更新するのを停止するように構成され得る。この態様は、ユーザデバイスのロック解除に伴いPV更新要求を送る上述の例示的なトリガイベントと組み合わせることができる。本態様による所与の加入者のユーザデバイスは、プレゼンス更新グループを更新するのを停止すべきか否かを判断する際にユーザデバイスロックの異なるモード間で区別するように構成され得ることが理解されよう。たとえば、ユーザデバイスは、権限のない人がデバイスを使用するのを防ぐための1つのロックモード、およびたとえばユーザのポケットに入っているときに生じ得る意図しないキー押しを防ぐための別のロックモードを有することができる。後者のロックモードは、「意図しないキー無効化ロックモード」と呼ばれ得る。この態様に加えて、加入者は、ユーザデバイスが意図しないキー無効化ロックモードにある間にプレゼンス更新グループの更新を続けたいと思うことがある。
加えて、所与の加入者のユーザデバイスは、加入者がデバイスのディスプレイを見ていない可能性が高いとき、たとえば、加入者がそれを下に置いているとき、または通話中で耳にあてているときに、プレゼンス更新グループの更新、プレゼンス更新グループの視覚表示、または両方を停止するように構成され得る。ユーザデバイスは、ユーザデバイスが下に置かれている(たとえば、動きがなくなっているか、動きがしきい値を下回っている)こと、もしくは加入者が通話中であることを感知したらすぐに、またはしきい値時間が経過した後に、プレゼンス更新グループを更新するのを停止することができる。ユーザデバイスは、それが下に置かれていることを感知することと併せて他の情報を使用することもできる。たとえば、夜遅くに、ユーザデバイスが、1時間動いていないと判断した場合、たとえば、デバイスは、加入者が眠っていると想定し、プレゼンス更新グループを更新するのを停止することができる。ユーザデバイスは、当業者によって容易に理解されるように、ユーザデバイスのジャイロスコープおよび加速度計を活用することによって、加入者がそれを下に置いていることを感知することができる。
別の態様では、上記の態様に部分的に類似するが、ユーザデバイスは、所与の加入者のユーザデバイスが拡張された継続時間(たとえば、比較的長い時間または非一時的時間)にわたって実行を継続する可能性が高いアプリケーション、たとえばメディアプレーヤまたはゲームを実行しているときに、PV更新要求を送る頻度を減らすように、またはPV更新要求を送るのを停止するように構成され得る。
別の態様では、所与の加入者のユーザデバイスは、プレゼンス更新グループに出されるPV更新要求のうちの1つまたは複数に、それ自体の更新後PVを含めることができる。たとえば、ターゲット加入者のユーザデバイスが送信ユーザデバイスからPV更新要求を受信するたびに、ターゲットユーザデバイスはプレゼンス更新グループを更新して、送信ユーザデバイスの更新後PVを反映することができる。諒解されるように、この特徴は、加入者のそれぞれのユーザデバイスがプレゼンス更新グループを継続的に更新することから生じるトラフィック総量を減らすことができる。
当業者なら本開示を読めば諒解するように、例示的な実施形態の上記の特徴および他の特徴は、他の利点の中でも、集中型サーバベースの制御の必要性を減らす分散型監視をもたらし、さらに、サーバ関連のボトルネックなしに増加し変動する加入者ロードに対処できる安定的な自己適応型ソーシャルネットワーキングシステムを提供する。
図4Aは、所与のユーザデバイスがPV更新要求を送る頻度を更新するプロセスを示す。
図4Aを参照すると、所与の加入者のユーザデバイス(「UE1」)は、UE1に関連するプレゼンス情報(たとえば、UE1は忙しい、UE1は対応可能である)を判断する(500A)。500Aで判断されるプレゼンス情報(たとえば、PV)は、特定のマルチメディアアプリケーションクライアントに関するものであってよく、それにより500Aで判断されるプレゼンス情報は、マルチメディアアプリケーションクライアントに関連する通信セッション(たとえば、VoIP通信セッション、PTT通信セッションなど)における所与の加入者のプレゼンスまたは参加対応可能性を示す。この例では、プレゼンス更新グループにおけるターゲット連絡先は、同じくマルチメディアアプリケーションクライアントのバージョンを使用する所与の加入者の連絡先に対応し得る。さらなる一例では、プレゼンス情報は、マルチメディアアプリケーションクライアントに関連する動作状態に基づき得る(たとえば、プレゼンス情報は、マルチメディアアプリケーションクライアントがUE1の実行環境の前景または目立つ部分で実行されているか否か、マルチメディアアプリケーションクライアントがUE1の実行環境の背景または目立たない部分で実行されているか否か、などを示すことができる)。
図4Aを参照すると、UE1は、第1の頻度セットに従ってプレゼンス更新グループ内の1つまたは複数の連絡先にプレゼンス更新メッセージを送信する(505A)。一例では、505Aで送信されるプレゼンス更新メッセージは、(i)500Aからの判断されたプレゼンス情報、(ii)プレゼンス更新メッセージの送信先である対応するターゲット連絡先からのプレゼンス情報フィードバックを求める要求、および/または(iii)(i)と(ii)との組合せを含むことができる。さらなる一例では、プレゼンス更新グループは、1つまたは複数のサブグループに区分されてよく、1つまたは複数のサブグループの各々は、所与の優先度レベルを有するか所与の優先度レベル範囲内にある連絡先でポピュレート(populate)されてよい。次いでターゲットプレゼンス更新頻度を各サブグループに割り当てることができ、505Aでプレゼンス更新メッセージが送信される第1の頻度セットが生じ得る。たとえば、高優先度連絡先を有するサブグループには、低優先度連絡先を有するサブグループと比較して高い頻度が割り当てられ得る。別の例では、500Aで判断されるプレゼンス情報は、第1の頻度セットに影響を与え得る。たとえば、500Aで判断されるプレゼンス情報が、マルチキャストアプリケーションクライアントがUE1の実行環境の前景または目立つ部分で実行されていることを示している場合、第1の頻度セットは(たとえば、1つのサブグループについて、各サブグループについて、など)より高いレベルに設定され得る。別の例では、500Aで判断されるプレゼンス情報が、マルチキャストアプリケーションクライアントがUE1の実行環境の背景または目立たない部分で実行されていることを示している場合、第1の頻度セットは(たとえば、1つのサブグループについて、各サブグループについて、など)より低いレベルに設定され得る。
さらなる一例では、上述のようにネットワークトラフィックを減らすために、プレゼンス更新情報は、ターゲット連絡先またはサブグループからのプレゼンス情報をさらに要求するように構成され得る。図4Aの例では、プレゼンス更新グループがN個(ここではN≧2)のサブグループを含み、UE1が第1の頻度セット(たとえばこれは、サブグループおよび/またはそれぞれのサブグループ内の連絡先のそれぞれの優先度に基づいて、上記のようにサブグループによって異なってよく、それにより、UE1は第1の頻度でサブグループ1にプレゼンス更新メッセージを送信することができ、UE1は第2の頻度でサブグループ2にプレゼンス更新メッセージを送信することなどができる)に従って505AでN個のサブグループの各々における各連絡先にプレゼンス更新メッセージを送信すると仮定している。しかしながら、他の例では、UE1はプレゼンス更新メッセージを単一のサブグループ(たとえば、N=1)に送信することができる。
図4Aを参照すると、サブグループ1...Nの各々における各連絡先は、505AにおいてUE1によって送信される少なくとも1つのプレゼンス更新メッセージを受信し、UE1にプレゼンス更新フィードバックを提供する(510Aおよび515A)。たとえば、サブグループ1…N内の各連絡先は、505Aにおいて第1の頻度セットのうちの1つに従ってUE1のプレゼンス更新メッセージを受信し、フィードバックを提供する連絡先のプレゼンス情報(またはPV)に関するUE1を更新するそれ自体のプレゼンス更新メッセージにより応答する。
図4Aを参照すると、後のある時点において、UE1は、第1の頻度セットを更新するか否かを決定する(520A)。たとえば、520Aにおいて、UE1は、更新の送信先である1つまたは複数の他の連絡先(またはユーザデバイス)の数に基づいて、第1の頻度セットを更新することを決定することがある。この例では、ターゲット連絡先の数がしきい値レベルを上回った場合には、第1の頻度セットのうちの少なくとも1つを、システムトラフィックを管理可能なレベルに維持するために減らす。代替例では、ターゲット連絡先が少なくなれば、全体的なシステムトラフィックを増やさずに、より多くのプレゼンス更新メッセージを送信できるので、ターゲット連絡先の数がしきい値レベルを下回った場合には、第1の頻度セットのうちの少なくとも1つを増やす。
図4Aの520Aを参照すると、別の例では、UE1は、前回のプレゼンス更新メッセージがサブグループ1...Nに属する1つまたは複数の連絡先から受信されてからの時間量に基づいて、第1の頻度セットを更新することを決定することがある。たとえば、UE1は、前回のプレゼンス更新メッセージが所与のサブグループから受信されてからの時間量が時間しきい値を下回る場合に、所与のサブグループに割り振られた第1の頻度セットによる所与の頻度を増やすことを決定することがあり、UE1は、前回のプレゼンス更新メッセージが所与のサブグループから受信されてからの時間量が時間しきい値を上回る場合に、所与の頻度を減らすことを決定することがある。
図4Aの520Aを参照すると、別の例では、UE1は、サブグループ1...Nに関連する優先度セット(たとえば、サブグループ内の構成要素であるUEの優先度、またはサブグループ自体に関連する優先度プロファイル)を決定することができる。次いで決定された優先度セットを使用して、第1の頻度セットを更新するか否かを決定する。たとえば、サブグループ1がサブグループ2よりも高い優先度に関連していることを優先度セットが示し、第1の頻度セットがサブグループ1よりもサブグループ2に高い頻度を割り振っている場合、UE1は、第1の頻度セットを更新して、サブグループ1に割り振られる頻度を増やし、かつ/またはサブグループ2に割り振られる頻度を減らす第2の頻度セットを生成することを決定することができる。
図4Aの520Aを参照すると、別の例では、UE1は、UE1がロックされているか否かに部分的に基づいて、第1の優先度セットを更新することを決定することがある。たとえば、UE1は、UE1に適用されているロック(ある場合)のタイプを判断し、次いで、判断されたロックのタイプに基づいて、第1の頻度セットを更新するか否かを決定する。この態様は、以下でより詳細に説明する。
図4Aの520Aを参照すると、別の例では、UE1は、UE1がUE1上の特定のアプリケーションを操作または実行し続けると予想される継続時間を判断することができる。判断された継続時間がしきい値継続時間を上回る場合、520AにおいてUE1は第1の頻度セットを更新するか否かを決定することができる。特定の例では、UE1は、UE1がしきい値継続時間よりも長くアプリケーションに関与するとの判断に基づいて、第1の頻度セットのうちの1つまたは複数を減らすことを決定することができる。
図4Aの520Aを参照すると、別の例では、加入者の1つまたは複数の連絡先によって操作される1つまたは複数のユーザデバイスは、ステップ505Aにおいてかかる連絡先に関してUE1が決定した頻度でプレゼンス更新メッセージを受信および/または送信することを望んでいないことがある。その場合、連絡先のユーザデバイスは、一定の頻度でのみ、または最大レートを超えない頻度でプレゼンス更新メッセージを受信および/または送信することを望んでいることを示すポリシーを含むプレゼンス更新フィードバックをUE1に送信することができる。たとえば、UE1はステップ505Aにおいて、特定の連絡先のユーザデバイスに、10分おきにプレゼンス情報を求める要求を含むプレゼンス更新メッセージを送ることを決定することがある。しかしながら、当該連絡先のユーザデバイスまたは当該連絡先は、1時間に1回だけプレゼンス更新メッセージを受信すること、および/またはUE1に対し、もしくは場合によってはプレゼンス更新グループ内の連絡先のすべてに対し送るのが望ましいと判断することがある。その場合、プレゼンス更新メッセージをUE1から受信したことに応答して、当該ルールを示すポリシーをUE1に送る。次いでUE1は、当該連絡先のユーザデバイスにプレゼンス更新メッセージを送信する頻度を更新する。別の例では、UE1はステップ505Aにおいて、特定の連絡先または連絡先グループに、5分おきにプレゼンス情報を求める要求を含むプレゼンス更新メッセージを送ることを決定することがある。しかしながら、それらの連絡先のユーザデバイスのうちの1つもしくは複数、または連絡先自体は、15分に1回を超えない頻度で(すなわち、15分を最大レートとして)プレゼンス更新メッセージを受信すること、および/またはUE1に対し、もしくは場合によってはプレゼンス更新グループ内の連絡先のすべてに対し送るのが望ましいと判断することがある。その場合、各々は、プレゼンス更新メッセージをUE1から受信したことに応答して、当該ルールを示すポリシーをUE1に送る。次いでUE1は、当該連絡先のユーザデバイスにプレゼンス更新メッセージを送信する頻度を更新する。
図4Aを参照すると、520AにおいてUE1が第1の頻度セットを更新しないことを決定した場合、プロセスは500Aに戻り、505Aにおいて、UE1は引き続き、第1の頻度セットに従ってサブグループ1...Nにプレゼンス情報を送る。一方、520AにおいてUE1が第1の頻度セットを更新することを決定した場合、UE1は、第2の頻度セットを計算し、次いで、第2の頻度セットに従ってサブグループ1...Nにプレゼンス更新メッセージを送信する(525A)。図4Aに明示されていないが、525Aにおいて送信されるプレゼンス更新メッセージはまた、505A、510Aおよび515Aに関して上述したようにプレゼンス更新フィードバックを求めるフィードバック要求を含むことができる。
図4Bは、本発明の一実施形態による所与のユーザデバイスによって維持されているプレゼンス更新グループで維持される加入者の数を更新するプロセスを示す。
図4Bを参照すると、UE1は、UE1に関連するプレゼンス情報(たとえば、UE1は忙しい、UE1は対応可能である)を判断する(500B)。一例では、500Bの判断は上記で説明した図4Aの500Aの判断と同様であり、したがって簡潔のためにこれ以上論じない。また、ステップ505Bにおいて、UE1は、所与の加入者が500Bで判断されたプレゼンス情報のようなプレゼンス情報を交換するユーザデバイスを操作している所与の加入者の連絡先セットを含むプレゼンス更新グループを取得する。たとえば、プレゼンス更新グループは、UE1上の連絡先リストに記憶されている所与の加入者の連絡先のすべてを含むことができる。代替的に、プレゼンス更新グループにおける連絡先セットは、所与の加入者の連絡先サブセットに対応し得る(たとえば、所与の加入者のプレゼンス情報が特定のマルチメディアアプリケーションクライアントに関するものである場合、連絡先サブセットは、同じくマルチメディアアプリケーションクライアントのバージョンを使用する連絡先を含むことができる)。
図4Bを参照すると、プレゼンス更新グループにおける連絡先は、図4Aに関して上述したように1つまたは複数のサブグループに分割されてよく、かかるサブグループは510BにおいてUE1によって識別される。510Bにおける複数のサブグループの識別は、(i)複数のサブグループの最初の生成、(ii)既存のサブグループセットの変更もしくは更新、または(iii)UE1における既存のサブグループセットの(たとえば、ローカルメモリもしくは外部メモリからの)ローディング、に対応し得る。上記で説明したように、1つまたは複数のサブグループの各々は、所与の優先度レベルを有するか、所与の優先度レベル範囲内にある連絡先に対応する。各サブグループは、1つまたは複数の連絡先を含み、たとえば、図4Bに示す例示的なサブグループ1はUE2….Nに関連する連絡先(ここではN≧3の連絡先)を包含する。
サブグループを生成するために、プレゼンス更新グループにおける連絡先の各々は、1つまたは複数の基準のセットに照らして評価され、評価に基づいて優先度を割り当てられる。たとえば、基準は、連絡先のユーザ割当て優先度、加入者および/もしくはUE1が連絡先および/もしくは連絡先によって操作される所与のユーザデバイスと通信する頻度、加入者および/もしくはUE1が連絡先および/もしくは連絡先によって操作されるユーザデバイスと前回通信してからの時間量、加入者と連絡先との間の社会的関係特性(たとえば、業務、家族、友人など)、加入者がしきい値時間内に連絡先と通信する確率、ならびに/またはUE1が連絡先によって操作されるユーザデバイスからプレゼンス更新メッセージを前回受信してからの時間量を含むことができる。プレゼンス更新グループにおける各連絡先が優先度を割り当てられると、連絡先はその優先度に基づいてサブグループに区分される。たとえば、基準が社会的関係である場合、家族サブグループ、友人サブグループ、業務連絡先サブグループなどがあり得る。別の例では、基準が、加入者が連絡先と最後に通信してからの時間量である場合、最後の日に通信した連絡先サブグループ、この1週間に通信した連絡先サブグループ、この1ヵ月以内に通信した連絡先サブグループなどであり得る。
図4Bの510Bを参照すると、一例では、加入者の1つまたは複数の連絡先によって操作される1つまたは複数のユーザデバイスは、図4Aのステップ520Aに関して論じたように、特定の頻度で、または特定の最大レートを超えない頻度で、プレゼンス更新メッセージを受信および/または送信することを望んでいることがある。UE1は、それを知ると、同じ選好更新頻度または最大レートを有するそれらの連絡先を同じサブグループに結合し、次いでそれらに対し、それらの選好頻度情報に従ってプレゼンス更新メッセージを送信することができる。
引き続き図4Bの510Bを参照すると、特定の連絡先は、本明細書で「マルチグループ連絡先」と呼ぶ2つ以上のサブグループに関連する基準を満たし得ることが諒解される。たとえば、所与の加入者は、自分の兄弟と一緒に働いていることがあり、この場合、兄弟は、家族サブグループと共働者サブグループの両方の構成要素と見なされる。別の例では、所与の加入者は、所与の連絡先との通話をちょうど終えたところであることがあり、この場合、所与の連絡先は、この1週間以内に所与の加入者が連絡した第1の連絡先サブグループ、およびこの24時間以内に所与の加入者が連絡した第2の連絡先サブグループにおける構成要素と見なされる。この場合、UE1は、最高優先度に関連すると予想される適格サブグループにマルチグループ連絡先を割り当てようとする。
図4Bの510Bを続けると、連絡先がサブグループに分割された後、UE1はそれらの構成要素である連絡先の優先度に基づいて各サブグループの優先度を決定する。一例では、サブグループは、特定の優先度範囲にある連絡先でポピュレートされることがあり、その場合、サブグループの優先度は既知であって、510Bの判断では、どのサブグループが少なくとも1つの連絡先を含むかを判断するだけである。別の例では、510Bの優先度判断は、各サブグループの構成要素である連絡先の優先度を平均して、サブグループの優先度を算出する。いずれの場合も、より優先度の高い連絡先を有するサブグループは一般に、より優先度の低い連絡先を有するサブグループよりも高い優先度を有する。たとえば、家族サブグループは、協働者サブグループよりも高い優先度を有し得る(例:ただし、これらの優先度は時間がたつにつれて変化することがあり、週末には家族が優先され、通常の業務時間中は協働者が優先されることもある)。別の例では、加入者がこの24時間以内に通信した連絡先サブグループは、加入者がこの1週間以内に通信した連絡先よりも高い優先度を有し得る。
図4Bの510Bを参照すると、サブグループ優先度に基づいて、第1および第2の頻度セットに関して図4Aに関して上述したようにUE1がサブグループにプレゼンス更新メッセージを送信する頻度について決定が下される。各サブグループに対しては、異なる頻度でプレゼンス更新メッセージを送信することができるが、そうすることが要求されるわけではない。たとえば、家族サブグループに割り当てられた優先度が協働者サブグループに割り当てられた優先度よりも高い場合、プレゼンス更新メッセージは家族サブグループに対し、協働者サブグループに対してよりも高い頻度で送信され得る。
また、割り当てられた頻度に従ってすべてのサブグループにプレゼンス更新メッセージを送信しなければならないわけではない。たとえば、サブグループ優先度を取得した後、UE1は、任意のサブグループ優先度が所与のしきい値を下回るか否かを判断し、次いで、所与のしきい値を下回る優先度を有する関連サブグループ(ある場合)をプレゼンス更新頻度割当てから除外することができる。たとえば、連絡先を割り当てられていないサブグループは、プレゼンス更新メッセージを受信しない。別の例では、低優先度の連絡先のみを含むサブグループは、プレゼンス更新メッセージを受信しない。図4Bでは、サブグループ3は、UE1からプレゼンス更新メッセージを受信しないサブグループの一例として提示されている。
次に図4Bの515Bを参照すると、UE1はサブグループ1および2の各々における各連絡先に対し、少なくとも1つのプレゼンス更新メッセージを送信する。図4Bに明示されていないが、515Bの送信は、図4Aに示すように、各サブグループのそれぞれの頻度に従って実行され得る。一例では、515Bで送信されるプレゼンス更新メッセージは、(i)500Bからの判断されたプレゼンス情報、(ii)プレゼンス更新メッセージの送信先である対応するターゲット連絡先からのプレゼンス情報フィードバックを求める要求、および/または(iii)(i)と(ii)との組合せを含むことができる。図4Bに示す例示的な実施形態では、520Bおよび525Bにおいて、UE2を除く各連絡先はUE1に対し、プレゼンス更新フィードバックを提供する。これは、UE1のプレゼンス更新メッセージが他の連絡先からのプレゼンス情報フィードバックを要求しただけである場合、および/またはUE2がUE1のプレゼンス更新メッセージを受信していないか、UE1のプレゼンス更新メッセージに応答しないことを選択した(たとえば、UE2のユーザがプレゼンス更新送信をブロックした、など)場合に生じ得る。
図4Bの535Bを参照すると、任意の連絡先および/またはサブグループの優先度が変わったか否かについて判断が下される。優先度が変わっていない場合、プロセスは515Bに戻り、UE1は引き続き、前回決定された頻度で前回判断された連絡先サブグループ(すなわち、サブグループ1および2)にプレゼンス更新メッセージを送信する。任意の連絡先および/またはサブグループの優先度が変わっている場合、ここで540Bを参照すると、UE1は、サブグループ形成を再計算または更新する。たとえば、540Bにおいて、UE1は、異なるサブグループ間で連絡先を転送すること、および/またはプレゼンス更新グループから連絡先を完全に除去することができる。
図4Bに示す例では、UE2は、UE1のプレゼンス更新メッセージに応答していない。したがって、UE2に関連する優先度レベルを引き下げ、その結果、UE2をサブグループ1から、またプレゼンス更新グループから除去することができる。別の例では、加入者が1日間通信していない連絡先は、加入者が1週間通信していない連絡先になることがあり(たとえば、UE2のような特定の連絡先に関する連絡先非アクティビティタイマーが24時間の節目をちょうど経過したところである場合など)、それにより、その連絡先は適切なサブグループに再割り当てされる。さらに別の例では、もはや加入者の友人ではない連絡先は、(たとえば、所与の加入者が連絡先の社会的地位を友人から友人以外に変更したとの判断に基づいて)加入者の友人に対応するサブグループから除去され、または友人は結婚によって家族になることがある。上記のように、特定のサブグループから除去される連絡先は、プレゼンス更新グループから完全に除去される(たとえば、もはや友人ではない以前の友人は完全に除去される)こと、または連絡先の優先度のそれぞれの変更に基づいて単に1つのサブグループから別のサブグループに移される(たとえば、今や家族である友人は、より優先度の高いサブグループに移動し得る)こと、のいずれかが行われ得る。別の態様では、所与のサブグループにおける十分な数の連絡先の優先度が変わった場合、そのサブグループの優先度全体が変わり得る。たとえば、優先度基準が、加入者と所与のサブグループ、たとえば協働者サブグループにおける連絡先との間の通信なしにしきい値時間が経過することであり、加入者が休暇中であるためにそのしきい値を超えた場合、それらの連絡先、ひいてはサブグループの優先度を引き下げることができる。UE1は、優先度引き下げに応答して、プレゼンス更新メッセージを以前よりも低い頻度で送る。
別の例では、加入者の1つまたは複数の連絡先によって操作される1つまたは複数のユーザデバイスは、図4Aのステップ520Aに関して論じたように、特定の頻度で、または特定の最大レートを超えない頻度で、プレゼンス更新メッセージを受信および/または送信することを望んでいることがある。しかしながら、ある時点において、それらの連絡先のうちの1つまたは複数は、その選好頻度を変更し、UE1に対し、プレゼンス更新フィードバックを通じて変更を通知することができる。そのような変更は、ステップ535Bの目的で優先度変更を構成し、ステップ540Bに示すように、UE1に対し、プレゼンス更新グループ内の複数のサブグループを再識別するように求めるものである。
図4Bの545Bを参照すると、UE1はプレゼンス更新メッセージを更新後サブグループに送信する。図示のように、UE2にはプレゼンス更新メッセージを送信しない。ある時点において、UE1がUE2から応答を受信した場合、535Bに関して論じたように、UE1は、UE2に割り当てられている優先度を再評価することができる。言い換えれば、プレゼンス更新グループからのUE2の除去は永続的である必要はない。
次に図5を参照しながら、図4Aおよび図4Bの1つまたは複数の例示的な実施形態のさらなる態様について説明する。図5は、1つまたは複数の実施形態によるネットワークの例示的なフローブロック図400を示す。図5は、ユーザデバイス402MEを有する「ME」という名の仮定的な加入者ユーザの代表的な例を示しており、ユーザデバイス402MEは402A、402Dおよび402Fと標示された3つの他の加入者ユーザデバイスと相互接続されており、これらはサーバ(または分散型サーバリソース)404を通じて、クライアント/サーバリンク406ME、406A、406Dおよび406Fを介して相互接続されている。ユーザデバイス402ME、402A、402Dおよび402Fを全体的に402と呼び、クライアント/サーバリンク406ME、406A、406Dおよび406Fを全体的に406と呼ぶ。
クライアント/サーバリンク406は必ずしも開示する実施形態に固有のものとは限らないことが理解されよう。1つの例示として、クライアント/サーバリンク406は、ワイヤレスネットワークプロトコル内の制御チャネルであり得る。これは、一例にすぎず、実装形態の範囲を限定することを意図したものではない。さらに、図5の各「リンク」406は機能的態様であり、必ずしも単一のリンクまたは特定の物理的リンクであるとは限らないことが理解されよう。当業者は、本開示を読めばこれを理解すると思われ、クライアント/サーバリンク406または同等物を実装するにあたり適切な媒体およびプロトコルを容易に選択できよう。したがって、リンク406のさらなる詳細な説明は省略する。
引き続き図5を参照すると、ユーザデバイス402MEによって開始される1つの更新動作に関するメッセージ送信の様々な段階またはステップが示されている。説明するメッセージは、図示のクライアント/サーバリンク406により伝えられると仮定され得る。ただし、メッセージのうちの1つまたは複数、たとえばユーザデバイス402MEによって送られるPV更新要求408MEは(図5に示されていない)代替リンクを介して通信され得ることが理解されよう。
図5の例400では、(図4Aの505Aおよび図4Bの515Bに示されているように)ユーザデバイス402MEによって送られるPV更新要求408MEは、(図4Aの500Aおよび図4Bの500Bに示されているように)PV更新要求408MEが送られる時点における当該ユーザデバイス402MEのPVを含む。例として、ユーザデバイス402MEのPVを「pv1」と呼ぶ。同様に、「pv2」、「pv5」および「pv7」は、ユーザデバイス402A、402Dおよび402Fによって送られ、ユーザデバイス402A、402Dおよび402Fに関連するそれぞれのPV値であること、ならびにこれらのPVは、これらのユーザデバイスのそれぞれの通信ステータスを特徴付けることが仮定される。
引き続き図5を参照すると、PV更新要求408MEは、「MyIP」と標示されたフィールド値により加入者「ME」を特定する。MyIPは、加入者MEに固有の識別子を含み、説明のためにMEのIPアドレスを含むことが仮定される。図5に示す実施形態を実施する目的で、IPアドレスは必要ではないことが理解されよう。同様に、(たとえば、図4Aの510Aおよび515A、ならびに図4Bの520Bおよび525Bのような)ユーザデバイス402A、402Dおよび402FがPV更新要求408MEを受信した後に送る応答が、送信者のIPアドレスを有するものとして示されており、また同様に、これらのIPアドレスは、図5に示す実施形態を実施するにあたり必要ではない。
PV更新要求408MEは、前述の「MyIP」フィールドおよび加入者MEの通信ステータスを特徴付ける「pv1」フィールドに加えて、ターゲットアドレスA、DおよびFを有する。ターゲットがユーザデバイス402A、402Dおよび402Fである理由は、ユーザデバイス402MEによって維持されるプレゼンス更新グループ内にA、DおよびF加入者が存在することであると仮定され得る。ただし、図5に示すコンセプトを理解する目的で、402MEがPV更新要求408MEをユーザデバイス402A、402Dおよび402Fに送る具体的理由は重要ではない。
引き続き図5を参照すると、PV更新要求408MEは、サーバ404に入り、応答して、サーバ404はPV更新要求を、410MEとしてユーザデバイス402Aに、412MEとしてユーザデバイス402Dに、そして414MEとしてユーザデバイス402Fに送信する。ユーザデバイス402Aは、ユーザデバイス402Aのpv2プレゼンス値を有する(たとえば、図4Aの510Aおよび515A、または図4Bの520Bおよび525Bのような)応答メッセージ416MEを送ることによって、PV更新要求メッセージ410MEに応答し、サーバ404はユーザデバイス402MEに対し、これをPV応答メッセージ418MEとして転送する。同様に、ユーザデバイス402Dは、PV応答メッセージ420MEでpv5プレゼンス値を送ることによって、PV更新要求通信412MEに応答し、サーバ404は(図4Aの510Aおよび515A、ならびに図4Bの520Bおよび525Bに示すように)ユーザデバイス402MEに対し、これをPV応答メッセージ422MEとして転送する。
図5の例400では、ユーザデバイス402Fは、(たとえば、図4Bの515BによるUE1のプレゼンス更新メッセージに対するUE2の非応答によって示されているように)PV更新要求通信414MEに応答しないものとして示されている。この非応答の原因は、たとえば、ユーザデバイス402Fが低受信品質を有することであり得る。一態様では、ユーザデバイス402MEは(また他のユーザデバイスも)、今回および以後の応答受信障害を検出するための機構を有する。説明のために、ユーザデバイス402は、PV更新要求が送られるときにタイマーを設定することができ、時間終了となった場合に要求を再度送ることができる。一態様では、ユーザのデバイスは再試行を最大回数だけ行うことができ、最大回数を上回った場合には、(図4Bの535Bに示すように)ユーザデバイスのプレゼンス更新グループにおいて、ターゲットユーザデバイスは対応不可能であると指定することができる。図5の例400において、ユーザデバイス402MEはサーバ404に対し、424MEとして再送PV更新要求を送り、サーバ404はこれをPV更新要求通信426MEとしてユーザデバイス402Fに転送する。この場合、ユーザデバイス402Fは、PV更新応答メッセージ428MEにより応答し、サーバ404はユーザデバイス402MEに対し、430MEとしてこのPV更新応答メッセージ428MEを転送する。ユーザデバイス402MEは今や、ユーザデバイス402A、402Dおよび402Fから受信したpv2値、pv5値およびpv7値を反映している更新後プレゼンス更新グループを有する。
一態様では、ユーザデバイス402は、受信PV更新要求と、それら自体のPV更新要求に対する受信応答とを、これらのメッセージの検査に基づいて区別する機構を含むことができる。たとえば、ユーザデバイス402はそれらのPV更新要求に、他の加入者のユーザデバイスから受信したPV更新要求に対するそれらの応答に適用するフォーマットとは異なるフォーマットを適用することができる。一態様では、ユーザデバイス402は、それらのPV更新要求とPV更新要求に対するそれらの応答の両方にビットフィールドを含めるように、またPV更新要求とPV更新要求に対する応答とを区別するフラグとして当該フィールド内にビット値を設定するように構成され得る。たとえば、そのようなビットフィールドは、単一ビット幅であってよく、フラグ方式は、PV更新要求に論理値「1」、PV更新要求に対する応答に論理値「0」を割り当てることができる。説明のために図5の例を参照すると、PV更新要求をPV更新要求に対する応答から表面上区別できるようにそのように形成することの1つの利点は、402MEのようなユーザデバイスが、ユーザデバイス402Aによって送られるPV応答メッセージ418MEのような受信メッセージの単純な検査によって、応答メッセージ418MEはユーザデバイス402Aに送られたPV更新要求であると解釈しないことである。少なくともこの例では、そのような誤解の結果、ユーザデバイス402MEが当該PV応答メッセージ418MEに対する応答をユーザデバイス402Aに返信し得ることが考えられる。少なくとも、ユーザデバイス402がPV更新要求とPV更新要求に対する応答とを区別するための他の機構を有さない仮定的構成では、許容できない往復メッセージングが潜在的に生じ得ることも考えられる。
上記のフラグ使用は、ユーザデバイス402がそれら自体のPV更新要求に対する応答に応答することを防ぐか、あるいはその可能性をなくすための機構の一例にすぎないことが理解されよう。これらの実施形態に関係する当業者は、本開示を読めば、またはその実施形態に従って実施すれば、様々な代替手段および方法を識別できよう。
前述のように、ユーザデバイス402は、ターゲットユーザデバイス402にPV更新要求を送るための様々な異なるトリガイベントを適用するように構成され得る。1つの例示的なトリガイベントは、ユーザデバイスが別の加入者のユーザデバイスに関するプレゼンス更新グループへのエントリを、(図4Bの535Bに示すように)当該エントリに関するPVを更新することなく維持する所与の最大許容時間を参照として使用するタイムアウトであり得る。一態様では、これはデフォルトタイムアウトであり得る。別の態様では、ユーザデバイスは、(図4Bの510Bに示すように)プレゼンス更新グループ内の加入者ユーザデバイスのうちの異なるユーザデバイスに対し異なるタイムアウトを適用するように構成可能であり得る。この態様に加えて、ユーザデバイスは、プレゼンス更新グループ内の各加入者のユーザデバイスに対し、ユーザデバイスが当該加入者のユーザデバイスと現在行っているか、最近行った通信のタイプに基づいて適用する特定のタイムアウトを選択するように構成され得る。
PV更新要求の送信に基づくタイムアウトの1つの例示として、図5の例示的な400のユーザデバイス402MEが、そのユーザデバイス402MEを通じて、ユーザデバイス402Aと通信すると仮定する。したがって、ユーザデバイス402MEのプレゼンス更新グループはユーザデバイス402Aに関するエントリを有すると仮定されよう。時間T0において、ユーザデバイス402MEがユーザデバイス402AのPV値の更新を受信すると仮定する。図5の例において、これはpv2である。402MEが時間T0に受信するこの更新は、ユーザデバイス402MEがユーザデバイス402Aに以前に送ったPV更新要求に応答したものであり得る。代替的に、ユーザデバイス402MEは、ユーザデバイス402Aによって送られた(図5に明示されていない)PV更新要求で更新後pv2を受信していることがある。次に、ユーザデバイス402MEは、そのプレゼンス更新グループにおけるユーザデバイス402Aに関するエントリの更新にEXのタイムアウト値を適用すると仮定する。したがって、時間T0+EXにおいて、ユーザデバイス402MEがユーザデバイス402Aから別のPV更新を受信していない場合、ユーザデバイス402MEは、ユーザデバイス402AにPV更新要求を自動的に送る。
一態様では、次いでユーザデバイス402MEは、ユーザデバイス402Aからの返信を待つことができる。たとえば、ユーザデバイス402MEは、ユーザデバイス402AにPV更新要求を送るとともに、「返信待ち」タイムアウトを使用して別のタイマーをセットすることができる。代替的に、ユーザデバイス402MEは単に、いつユーザデバイス402AにこのPV更新要求を最初に送るかを決定する際に使用したのと同じタイマーおよび同じタイムアウトを使用してよい。言い換えれば、時間T0+EXにおいて、ユーザデバイス402MEは、上記のPV更新要求を送った場合、(増分カウンタが使用されるか、減分カウンタが使用されるかに応じて、ゼロまたはEXのいずれかに)タイマーをリセットする。
ユーザデバイス402MEがユーザデバイス402Aに関して記憶していたpv2を更新する上記の例示的なシナリオを続けると、一態様では、すべてのユーザデバイス402が、それらのプレゼンス更新グループを更新して他の加入者のユーザデバイス402の更新後PVを反映するためのそれらの方式に関しては少なくとも、同様に構成され得ることが理解されよう。したがって、T0におけるユーザデバイス402MEはユーザデバイス402Aと通信していたので、ユーザデバイス402Aの視点から、ユーザデバイス402Aはユーザデバイス402MEと通信していたことになる。このようにして、時間T0においてユーザデバイス402Aは、ユーザデバイス402MEのPV値pv1のそのローカル記憶されたコピーを維持しており、また、ユーザデバイス402MEのそのローカル記憶されたpv1の更新に対し、1つの方式(ユーザデバイス402MEによって適用される方式と同じであっても、同じでなくてもよい)を適用していた。したがって、ユーザデバイス402MEおよび402Aのうちで、他方に関して記憶しているPVに関するそれ自体のタイムアウト値に最初に達するのは(またはこれらのユーザデバイス402ME、402Aのうちで、他方によるタイムアウトの前に、それ自体のPVを他方に送るための別のタイプのトリガイベントを最初に経験するのは)、PV更新要求を最初に送るユーザデバイス402である。
本実施形態による企図される例示的なシナリオは、図5の例400を説明のために参照すると、所与の時間に(たとえば、404のようなサーバまたはサーバリソースを通じて)相互接続される402のような数千個のユーザデバイスを提示し得ることが理解されよう。加入者間におけるそれらのそれぞれのユーザデバイス402を通じた数千の通信が所与の瞬間に存在することがあり、それらの多くはマルチメンバーまたはマルチ参加者またはマルチ参加者グループであり得ることがさらに企図される。したがって、各ユーザデバイス402がそれらのそれぞれのPV更新要求をいつ送るかを決定する際に適用するタイムアウトおよび他の要素の設定に関する仕様およびルールを定めるとき、そのようなシナリオが考慮され得ることが諒解されよう。本開示から関連技術分野の当業者によって容易に理解されるように、そのような仕様およびルールを定める際の1つの一般的な指針は、次の通りである。ユーザデバイスがあまりにも多くの他の加入者PVを維持しており、かつ/またはユーザデバイスがPV更新要求をあまりにも頻繁に送る場合、ユーザデバイスまたはネットワークの一方または両方に対し、不必要に過負荷をかけていることがある。そのような過負荷のさらなる一例として、タイムアウトがあまりにも短いと、その可能性が高まることがあり、とりわけ、複数の参加者のユーザデバイスが他の参加デバイスにPV更新要求を不必要に送るグループ通信ではなおさらであることが容易に諒解されよう。また、図6および図7に関する詳細な説明からさらに理解されるように、あまりにも多くの加入者PVがユーザデバイスによって維持されている場合、当該ユーザデバイスにこれらのPVを表示することが実行不可能になるという結果が生じ得る。他方では、ユーザデバイスがあまりにも少ない他の加入者PVを維持しており、かつ/またはこれらのPVを十分な頻度で更新しない場合、あまりにも多くの通信が、対応不可能な加入者、またはもはや参加していない加入者に送られ得る。
上記の考慮事項およびシナリオに加えて、1つまたは複数の例示的な実施形態は、図4Bに示すようにユーザデバイスによって維持されているプレゼンス更新グループで維持される加入者の数、および図4Aに示すようにユーザデバイスがPV更新要求を送る頻度のスロットリングおよび他の適応性を提示する。
そのような例示的な実施形態のうちの少なくとも1つによる一態様では、ユーザデバイスは、(図4Aの505A、520A、および525Aに示すように)ユーザデバイスが維持しているPVの数との関係でタイムアウト値を増やす(すなわち、PV更新間の最大許容時間を増やす)ように構成され得る。別の言い方をすれば、1つのそのような態様によれば、プレゼンス更新グループが拡張されるにつれて、送られるPV更新要求間の時間が長くなる。この一態様に加えて、ユーザデバイスは、大きいグループにおける他の加入者のPVのタイムアウトを(増分的に、またはしきい値に従って徐々に(threshold step-wise))増やすように構成され得る。タイムアウトを増やすためのそれぞれのグループサイズしきい値は、通信のタイプとは無関係に固定されていることがあり、または通信のタイプ(たとえば、グループが双方向ゲームをしているか否か)に基づくようにさらに適応可能であり得る。
別のスロットリング態様では、他の加入者がユーザデバイスのプレゼンス更新グループから削除される際のしきい値である「前回の通信からの時間」または同等物が、プレゼンス更新グループの長さの拡大に対応して減らされ得る。言い換えれば、通信時間ベースのサブグループの基準を修正することができ、これは一例では図4Bの535Bで生じ得る。
上記の適応型「前回の通信からの時間」に加えて一態様では、ユーザデバイスは(たとえば、図4Bのステップ510Bおよび515Bに示すように)各PVの関連する「前回の通信からの時間」に基づいてサブグループにプレゼンス更新グループを分類するように、また(たとえば、図4Bのステップ535B、540Bおよび545Bに示すように)より長い「前回の通信からの時間」を有するサブグループにはより大きいタイムアウト値を適用するように構成され得る。
1つのスロットリング態様では、ユーザデバイスのプレゼンス更新グループにおける他の加入者は、特定の記載された加入者の1つまたは複数の特性に従って分類され得る。たとえば、カテゴリー1(またはサブグループ1)は、重要な会社連絡先であってよく、カテゴリー2(またはサブグループ2)は、ユーザデバイスがそのようなプレゼンス更新グループを維持している加入者との関係で、PVが正確であること(すなわち、最近更新されていること)を要求しないことのある人であってよい。
ネットワーク上の不要なメッセージトラフィックを減らす同様の目的で、ユーザデバイスは、前述のように、当該ユーザデバイスがロックされているときにプレゼンス更新グループの更新の実行を停止するように構成され得る。これにより、ユーザデバイスのバッテリー電力を節約することができる。一態様では、ユーザデバイスは、複数のロックモードを有することがあり、そのようなユーザデバイスは、ユーザデバイスがどのロックモードにあるかに基づいて、プレゼンス更新グループの更新の実行を停止するか否かを決定するように構成され得る。たとえば、前述のように、ユーザデバイスは、権限のない人がデバイスを使用するのを防ぐための1つのロックモード、およびユーザのポケットに入っているときに生じ得る意図しないキー押しを防ぐための意図しないキー無効化ロックモードを有し得る。本態様によるユーザデバイスは、ユーザデバイスが意図しないキー無効化ロックモードにあるときにプレゼンス更新グループの更新を続けるオプションを加入者に提供するように構成され得る。図4Bの文脈では、ユーザデバイスがロックされているとき、535Bの判断の結果として、構成要素である連絡先および/またはサブグループの優先度が変わったと判断された場合でも、540Bおよび545Bに進む代わりに515Bに戻る。
別の態様では、同じく前述のように、ユーザデバイスは、(例:一例では図4Aの520Aで決定される)加入者が拡張された時間にわたって続ける可能性が高いアプリケーション、たとえばメディアプレーヤまたはゲームに関与しているときの、PV更新要求を送る頻度を減らすように、またはPV更新要求を送ることを停止するように構成され得る。
一態様では、加入者が実施形態に従ってネットワーキングアプリケーションを開始するようなトリガイベントでは、加入者のユーザデバイスは(たとえば、図4Bのステップ505Bに示すように)プレゼンス更新グループの内容(ある場合)を反映している初期表示を提示し得る。一態様では、これらは、この加入者が最近通信した他の加入者であり得る。関係する態様では、これらはこの加入者が依然として通信中である他の加入者であってよいが、1つの例示として、この加入者は、ネットワーキングアプリケーションから一時的に出て、別のことに参加するように迫られている。
プレゼンス情報は、一般に、非常に短い時間のみ重要である。したがって、本発明の別の態様では、プレゼンス情報は、配信され得ないか、配信可能ではないプレゼンス更新メッセージから取り除かれる。さらに、プレゼンス更新メッセージはネットワーク履歴から除外される。すなわち、通常はネットワーク履歴で待ち行列に入れられるプレゼンス更新メッセージは除外されること、または非プレゼンス更新メッセージと比較して短い時間だけ記憶されることのいずれかであり得る。
図6は、複数の記録506を有する1つの例示的なプレゼンス更新グループ500を示しており、各記録は加入者名前フィールド502および対応する加入者PVフィールド504を有する。図6のプレゼンス更新グループ500は時間スナップショットを表していることが理解されよう。より詳細に述べると、一態様では、図6の例500のようなプレゼンス更新グループは、加入者が現在においてメンバーまたは参加者であるグループ、および加入者がもはやアクティブなメンバーではないが、現在の(または以前の)メンバーと今後通信する可能性を有するグループを含め、現在および最近の通信を反映するために動的に更新する。図6の例に現れている記録506の数は必ずしも、プレゼンス更新グループ500のような他の加入者の所与のユーザデバイスのリストに現れる、実際の数、またはグループと個々の他の加入者との間の実際の相対数を表すとは限らないことが理解されよう。本開示から当業者によって容易に理解され得るように、実際の数は異なる加入者間で大幅に変わること、および、時刻もしくは気象のような要素に基づいて、またはかかる要素との相関関係で変わることがある。
図6の例示的なプレゼンス更新グループ500は、図示の状態において、このリストを記憶しているユーザデバイスに関連する加入者に関する記録506を有し、5人の他の加入者(これらは加入者名前フィールド値「A」、「B」、「D」、「E」および「F」を有する)の各々に関する記録506を有する。例示的なプレゼンス更新グループ500はまた、「C」という名の1つのサブグループ要素を有する。「A」...「F」が実際の名前であっても、あだ名であってもよいことが理解されよう。プレゼンス更新グループ500における各個々の加入者に関する記録506は、そのフィールド504に関連PV値を有する。サブグループ要素Cに関する記録は、PV値を有さない。その理由は、関連技術分野の当業者によって容易に理解されるように、ユーザデバイスによる到達可能性に関しては少なくとも、サブグループ要素Cが一元的通信ステータスを有さないことである。ただし、図6の例示的なプレゼンス更新グループ500を記憶しているユーザデバイスに関連する加入者は、サブグループCの各メンバーのPVを把握している。より詳細に述べると、プレゼンス更新グループ500は、加入者名前フィールド502-Cに、メンバー加入者A、D、およびEの名前を示しており、これらおよびそれらのそれぞれのPVもすべてリストに現れている。したがって、サブグループ要素Cは一例であり、よって、特定のサブグループ内の構成要素である連絡先は、連絡先の抜粋またはグループ化に実際に対応し得るものであり、特定の単一の連絡先である必要はない。
図6の例示的なプレゼンス更新グループ500は、サブグループ1、サブグループ2、およびサブグループ3へのプレゼンスステータス記録506の例示的なグループ化を示す。一態様による一例について、これらの例示的なサブグループを使用して、図7を参照しながら説明する。前に説明したように、サブグループ1、2および3が維持され得る基準であるパラメータは、通信の新しさ、他の加入者の様々な特徴付け(たとえば、重要な会社連絡先、またはさほど重要でないエンティティ)、およびアルファベット順である。
図7は、図6の例示的なプレゼンス更新グループ500に関連して、ユーザデバイスを有する加入者にそのようなプレゼンス更新グループからの情報を提示するためのローカル表示方式の1つの例示的な表示方式604を示す。
図7の例示的な表示方式604は、プレゼンス更新グループ500のサブグループ1の加入者のみをアクティブスクリーンエリア606に表示するように(当初、または加入者によって)構成されたユーザデバイスを想定する。したがって、アクティブスクリーンエリア606は、加入者AおよびBならびにサブグループ要素Cを示す。一態様では、アクティブスクリーンエリア606のうちの1つまたは複数は、色、明るさによって、または図7の例に示すように、前景と背景との対比構成によって強調され得る。デフォルト強調もしくは他の指定方式を使用することができ、またはアクティブエリアのうちの1つもしくは複数をユーザがオンザフライで選択することができ、その場合にはたとえば単一のタップを使用して指定することができる。図7の例では、サブグループ要素Cは前景608として設定され、残りのサブグループ1の加入者は背景エリア610にある。一態様では、例示的なサブグループ要素Cのようなグループを指定するユーザが、後のセクションで説明する612のような詳細表示エリアに表示され得る、サブグループ要素Cを特徴付けるプレゼンス更新グループ500からのステータス情報の選択602に影響を与えるように、ユーザデバイスは構成され得る。
図7の例示的な表示方式604およびその背景/前景特徴は、ユーザデバイスがプレゼンス更新グループ500の他の加入者に関する情報を加入者に通知するための、または当該情報を加入者の便利な検索のために維持するためのこれらの実施形態による唯一の方法ではないことが理解されよう。たとえば、これらの実施形態によるユーザデバイスは、プレゼンス更新グループ500からの他の加入者のうちの1人のみを提示するように構成されてよく、また一態様では、加入者に対し、プレゼンス更新グループ500からの追加の他の加入者またはグループが「待機中(on-deck)」であることを通知することができる。1つのさらなる態様では、加入者はユーザデバイスに、「待機中」加入者および/またはグループを表示させることができる。1つのさらなる態様では、これらの実施形態によるユーザデバイスは、通信のタイプ(音声、画像、双方向活動)、通信の新しさ、加入者履歴などの要素に基づいて、加入者が通信を望んでいる推定確率が高いプレゼンス更新グループ500からの他の加入者またはグループを「待機中」として選択することができる。
再び図7を参照すると、一態様では、ユーザデバイスは、サブグループに関する、かつ/または個々の加入者に関する情報を表示するように構成され得る。これは、デフォルト設定によるもの、またはユーザからのオンザフライ入力によるものであり得る。前述のように、一態様では、上記の強調または他の指定方式はまた、ユーザデバイスに、そのような情報の選択602および表示を行わせることができる。図7は、サブグループ要素Cのメンバーを表示する詳細表示領域612によってこの態様の一例を示す。一態様では、ユーザデバイスは、サブグループ要素は別として、サブグループ1にないメンバーを表示するように構成され得る。これは図7の例に示されており、グループCのメンバーDおよびFは、これらの加入者DおよびFがそれぞれサブグループ2およびサブグループ3にあることに関係なく、詳細表示領域612に現れている。
図7は、カバレージの喪失やユーザデバイスのクラッシュといった割込みイベントが生じていない可能性がある加入者からのプレゼンス更新グループの部分の1つの例示的な表示を示す。一態様では、ユーザデバイスは、そのような割込み後のプレゼンスステータス情報の初期表示に関する方式を有するように構成され得る。
1つのそのような初期表示態様では、初期表示は、電源投入または再起動のようなトリガイベント時に、ユーザデバイスが最後の有効な表示、たとえば、バッテリーレベルによりデバイスのシャットダウンが生じたときに加入者が見ていた表示を最初に提示する「楽観的プレゼンス」として構成され得る。次いでユーザデバイスは、新しい有効な状態に達成するまで、PV更新要求を送り出し、他の加入者からPV更新要求を受信し、そのようなPV更新要求に応答する。
別の初期表示態様では、ユーザデバイスの初期表示は、電源投入または再起動のようなトリガイベント時に、ユーザデバイスが加入者に、新しいPVを受信していなければ「対応不可能」であるアドレス帳内のすべての連絡先を最初に提示する「悲観的プレゼンス」として構成され得る。
再び図5の例示的な機能ブロックフロー400を参照すると、この図はユーザデバイス402MEからユーザデバイス402A、402Dおよび402Fへの例示的なPV更新要求のみを示しており、これらのユーザデバイス402間の他の通信を明示していない。そのような通信はデータを含むことができ、データは音声、画像、テキスト、および一態様ではユーザデバイス調整データを含むことができる。そのようなデータを通信するための媒体、リンクおよびプロトコルは必ずしも、これらの実施形態による分散型のクライアント側のプレゼンス管理を実施することに固有のものであるとは限らない。図8を参照すると、そのようなデータ共有は、例示的なユーザデバイス/サーバデータ共有リンク702、704、706、および708によって示されているように、サーバ404により仲介され得る。
図8は、「オフザレコード」態様と呼ばれる、1つまたは複数の実施形態による別の態様を示す。オフザレコード態様のコンセプトに対しより詳細に焦点を当てると、図示の例700は、図5の例示的な機能ブロックフロー400を組み込んでいる。したがって、標示されていない図8のブロック、リンク、およびメッセージフローは、図5に示す対応するブロック、リンク、およびメッセージと同一であってよいことが理解されよう。
図5に関して説明したように、一態様では、例示的なPV更新要求408MEのようなPV更新要求は、送信者のIPアドレスを含むことができる。例示的なPV更新要求(たとえば、図4Aの505Aおよび/または525A、図4Bの515Bおよび/または545Bなど)は、MyIPとしてユーザデバイス402MEのIPアドレスを含む。同様に、すべてのターゲットユーザデバイスは、他のユーザデバイスのPV更新要求に対するそれらのそれぞれの応答(たとえば、図4Aの510Aおよび/または515A、図4Bの図520Bおよび/または525B)にIPアドレスを含める。たとえば、図5において、ユーザデバイス402Dからユーザデバイス402MEに送られる応答420MEは、「D-IP」として、ユーザデバイス402DのIPアドレスを含む。
図5によって表されるような加入者ユーザデバイスシナリオでは、各加入者のユーザデバイスは、(たとえば、パケットの喪失がないこと、および各ユーザデバイスにおけるプライバシー設定がプレゼンス情報の共有を許容していることなどを仮定した場合に)当該ユーザデバイスが通信した他の各加入者のユーザデバイスのIPアドレスを理論的に取得できることが理解されよう。
一態様では、1人または複数の加入者は、1つの別のIPアドレスを利用して、サーバ404の外部にある、すなわち、当該サーバとの関係で「オフザレコード」データ共有リンクを確立することができる。図8は、そのような「オフザレコード」リンクの一例710を示す。1つの追加の態様によれば、ユーザデバイスは、加入者がそのような「オフザレコード」リンクを確立するのを指示するように構成され得る。たとえば、図8のディスプレイ712に示すように、ユーザは、別の加入者を表す画像フィールド、たとえば、加入者Fを表す716のような画像フィールドを強調するか、前景に持ってくることができ、応答して、ユーザデバイスは、例示的な要求714によって示されるように、要求により指示することができる。
ターゲットユーザデバイス402A、402Dおよび402FにPV更新要求408ME(たとえば、図4Aの505Aおよび/または525A、図4Bの515Bおよび/または545Bなど)を送るユーザデバイス402MEを示す図5の例の前記参照では、408ME通信が時間T0に、リンク406MEを介してサーバ404に最初に送られる。最初にユーザデバイス402Aを参照すると、サーバ404は当該PV更新要求408MEを、リンク406Aを介してユーザデバイス402AにPV更新要求メッセージ410MEとして転送し、PV更新要求メッセージ410MEに対して、ユーザデバイス402Aは同じリンク406Aを介してPV更新要求応答メッセージ416ME(たとえば、図4Aの510Aおよび/または515A、図4Bの520Bおよび/または525Bなど)により応答し、そしてサーバ404はこれを、説明したリンク406MEを介して、PV更新要求応答メッセージ418MEとして転送する。
ここで図8を参照しながら、上記の例では、データ共有リンクがユーザデバイス402MEとユーザデバイス402Aとの間で、時間T0においてすでに確立していると仮定する。確立されたデータ共有リンクが、たとえば、ユーザデバイス402ME/サーバ404データ共有リンク702およびユーザデバイス402A/サーバ404データ共有リンク704によって形成されると仮定する。次に、データ共有のセッションが、たとえばアクティブメディア共有であると仮定し、さらに、時間T0において、ユーザデバイス402MEがユーザデバイス402Aに対するデータプッシュを(例示的なデータ共有リンク702、704を通じて)実行していると仮定する。これらの態様による実施は、アクティブメディアセッション以外のデータ共有セッションで行ってよいこと、およびアクティブメディアセッションはコンセプトを説明するためにすぎないことが理解されよう。
一態様によれば、データ共有セッションにおいて1つの連絡先で、PV更新要求を別の連絡先に送るトリガイベント(たとえば、PV更新要求が送信される関連頻度に合致する形で、PV更新要求を送る送信時間が生じていることをタイマーが示す場合など)が生じると、データ共有リンクは当該更新要求を伝えることができる。ユーザデバイス402MEおよびユーザデバイス402Aの上記の例では、PV更新要求408MEは、リンク406MEを介して時間T0に送られる代わりに、ユーザデバイス402MEがデータ共有リンク702および704を通じてユーザデバイス402Aにプッシュしている(たとえば、図4Aの505Aおよび/または525A、図4Bの515Bおよび/または545Bなど)マルチメディアセッションデータに埋め込まれてもよい。そしてユーザデバイス402Aは、その応答(たとえば、図4Aの510Aおよび/または515A、図4Bの520Bおよび/または525Bなど)を、ユーザデバイス402MEに返信する確認応答(たとえば、ACK)メッセージに埋め込むことができる。
本態様によれば、データ共有セッションにおける連絡先の両方のタイマーは、他方に関するそれらのそれぞれの更新タイマーがリセットしなければならないことを理解されよう。言い換えれば、受信ユーザデバイスは、埋込みPV更新要求を第2のユーザデバイスから受信すると、そのタイマーを当該デバイスに関してリセットすることができる。同様に、送信(今や実際には受信)ユーザデバイスは、たとえば受信(今や実際には送信)ユーザデバイスからのACKメッセージに埋め込まれた要求された更新後プレゼンスPVを受信すると、その更新タイマーを当該受信ユーザデバイスに関してリセットすることができる。
一態様では、ユーザデバイスは、互いのデータ共有セッション中に、どのチャネル、リンクまたは通信モード(すなわち、702、704、706、および/もしくは708のようなデータ共有リンク、または制御リンクもしくは他のリンク、たとえば406ME、406A、406Dおよび/もしくは406F)を使用するか、PV更新要求を送信するために使用するかを決定するように構成され得る。そのような決定を下す際のルールおよびしきい値は、アプリケーション固有であってよく、かつ/または環境固有であってよい。本開示を読んだ関連技術分野の当業者には明らかなように、これらの実施形態に従ってチャネルまたはリンクがより実際的にプレゼンス更新情報を伝えることができる決定的要素は、以下を含み得る。i)プレゼンス更新通信のサイズ、およびii)データセッションが高パフォーマンスのシグナリングであるか、ベストエフォート型シグナリングであるか。
より詳細には、共通チャネルで伝えられる高パフォーマンスのシグナリングセッションでは、データ通信は最大またはしきい値サイズバジェットに関連し得る。そのようなセッションでは、プレゼンス情報の包含により、そのような情報のサイズに応じて、シグナリングがサイズバジェットを上回ることがある。一方、通信サイズは一般に、ベストエフォート型シグナリングではさほど問題にならない。したがって、加入者ユーザデバイス間のベストエフォート型シグナリングデータ共有セッションでは、共有データへのプレゼンス情報の埋込みは、そのようなプレゼンス情報のサイズに関してさほど問題なく実行され得る。
図9は、上記のように1つのチャネルまたはリンクオプション態様による1つの例示的なプレゼンス通信を示す機能ブロックフロー図800である。図9の機能フローは、たとえば、1つまたは複数の実施形態による加入者ユーザデバイス(たとえば、UE1)におけるプログラマブルプロセッサリソースによって実行され得ると仮定される。まず、判断ブロック802において、フローは、送る通信が生じるまで待機する。通信は、たとえば、メディア共有セッションにプッシュされるメディアデータであり得る。代替として、通信は、プッシュへの応答であるACK/NAKであり得る。答えがはいである場合、フローは804に進み、限定された能力を有すると想定される共通チャネルが通信に使用されるか否かを判断する。ブロック804の答えがいいえの場合、フローはブロック806に進み、プレゼンス情報、たとえばPV更新要求(たとえば、図4Aの505Aおよび/または525A、図4Bの515Bおよび/または545Bなど)、またはPV更新要求に対する応答(たとえば、図4Aの510Aおよび/または515A、図4Bの520Bおよび/または525Bなど)を通信に添付するか埋め込み、それをデータ共有セッションの他端のユーザデバイスに送り、ブロック802に戻って、送る別の通信を待つ。ブロック804の答えがはいである場合、限定された能力を有する共通チャネルが使用されていることを意味し、フローはブロック808に進み、プレゼンス情報を添付するか埋め込むのに十分な能力を有するか否かを判断する。ブロック808の答えがはいである場合、フローはブロック806に進み、プレゼンス情報(たとえば、PV更新要求またはPV更新要求に対する応答)を通信に添付するか埋め込み、ブロック802に戻って、別の共有データセッション通信を待つ。ブロック808の答えがいいえの場合、プレゼンス情報を伝えるのに十分な能力がないことを意味し、フローはブロック802に戻る。一態様では、ユーザデバイスのプロセッサは、ブロック808でいいえとなったときに一定の統計値またはしきい値を検出した後、非共有チャネルによってプレゼンス更新情報を送ることに切り替えることができる。一例では、図9のプロセスは、プレゼンス更新グループの特定のサブグループが特定のUEからプレゼンス更新メッセージを受信するターゲット頻度とともに実行され得る。たとえば、図4Aおよび/または図4Bとの関係で図9を見ると、これは、図9のプロセスが図4Aの505A、510A、515Aおよび/もしくは525Aならびに/または図4Bの515B、520B、525Bおよび/または545Bの送信に先行するものとして実行され得ることを意味している。
図10は、機能を実行するように構成された論理を含む通信デバイス1000を示す。通信デバイス1000は、限定はしないが、UE102、108、110、112または200、ノードBまたは基地局120、RNCまたは基地局制御装置122、パケットデータネットワークエンドポイント(たとえば、SGSN160、GGSN165、Long Term Evolution (LTE)のモビリティ管理エンティティ(MME)など)、サーバ170〜186のいずれかなどを含む上記の通信デバイスのいずれかに対応し得る。したがって、通信デバイス1000は、ネットワークを介して1つまたは複数の他のエンティティとの通信を行う(または通信を促進する)ように構成される任意の電子デバイスに対応し得る。
図10を参照すると、通信デバイス1000は、情報を受信および/または送信するように構成された論理1005を含む。一例では、通信デバイス1000がワイヤレス通信デバイス(たとえば、UE200、ノードB124など)に対応する場合、情報を受信および/または送信するように構成された論理1005は、ワイヤレストランシーバおよび関連ハードウェア(たとえば、RFアンテナ、モデム、変調器および/または復調器など)のようなワイヤレス通信インターフェース(たとえば、Bluetooth(登録商標)、WiFi、2G、3Gなど)を含むことができる。別の例では、情報を受信および/または送信するように構成された論理1005は、有線通信インターフェース(たとえば、インターネット175にアクセスする手段となり得る直列接続、USBまたはFirewire接続、イーサネット(登録商標)接続など)に対応し得る。したがって、通信デバイス1000が何らかのタイプのネットワークベースのサーバ(たとえば、SGSN160、GGSN165、アプリケーションサーバ170など)に対応する場合、情報を受信および/または送信するように構成された論理1005は、一例では、ネットワークベースのサーバをイーサネット(登録商標)プロトコルを介して他の通信エンティティに接続するイーサネット(登録商標)カードに対応し得る。さらなる一例では、情報を受信および/または送信するように構成された論理1005は、通信デバイス1000がそのローカル環境を監視する手段となり得る知覚または測定ハードウェア(たとえば、加速度計、温度センサ、光センサ、ローカルRF信号を監視するためのアンテナなど)を含むことができる。情報を受信および/または送信するように構成された論理1005はまた、実行されるときに、情報を受信および/または送信するように構成された論理1005の関連ハードウェアがその受信および/または送信機能を実行できるようにするソフトウェアを含むことができる。しかしながら、情報を受信および/または送信するように構成された論理1005は、ソフトウェアのみに対応するものではなく、情報を受信および/または送信するように構成された論理1005は、その機能を実現するためにハードウェアに少なくとも部分的に依存する。
図10を参照すると、通信デバイス1000は、情報を処理するように構成された論理1010をさらに含む。一例では、情報を処理するように構成された論理1010は、少なくともプロセッサを含むことができる。情報を処理するように構成された論理1010によって実行され得るタイプの処理の例示的な実装形態は、限定はしないが、決定を行うこと、接続を確立すること、異なる情報オプション間で選択を行うこと、データに関係する評価を行うこと、測定演算を実行するために通信デバイス1000に結合されたセンサと対話すること、情報を(たとえば、.wmvから.aviへのように異なるプロトコル間で)あるフォーマットから別のフォーマットに変換することなどを含む。たとえば、情報を処理するように構成された論理1010に含まれるプロセッサは、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)または他のプログラマブル論理デバイス、個別ゲートまたはトランジスタ論理、個別ハードウェア構成要素、あるいは本明細書で説明する機能を実行するように設計されたそれらの任意の組合せに対応し得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成として実装され得る。情報を処理するように構成された論理1010はまた、実行されるときに、情報を処理するように構成された論理1010の関連ハードウェアがその処理機能を実行できるようにするソフトウェアを含むことができる。しかしながら、情報を処理するように構成された論理1010は、ソフトウェアのみに対応するものではなく、情報を処理するように構成された論理1010は、その機能を実現するためにハードウェアに少なくとも部分的に依存する。
図10を参照すると、通信デバイス1000は、情報を記憶するように構成された論理1015をさらに含む。一例では、情報を記憶するように構成された論理1015は、少なくとも非一時的メモリおよび関連ハードウェア(たとえば、メモリコントローラなど)を含むことができる。たとえば、情報を記憶するように構成された論理1015に含まれる非一時的メモリは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野で知られている任意の他の形態の記憶媒体に対応し得る。情報を記憶するように構成された論理1015はまた、実行されるときに、情報を記憶するように構成された論理1015の関連ハードウェアがその記憶機能を実行できるようにするソフトウェアを含むことができる。しかしながら、情報を記憶するように構成された論理1015は、ソフトウェアのみに対応するものではなく、情報を記憶するように構成された論理1015は、その機能を実現するためにハードウェアに少なくとも部分的に依存する。
図10を参照すると、通信デバイス1000は、情報を提示するように構成された論理1020をさらに随意に含む。一例では、情報を提示するように構成された論理1020は、少なくとも出力デバイスおよび関連ハードウェアを含むことができる。たとえば、出力デバイスは、ビデオ出力デバイス(たとえば、ディスプレイスクリーン、USB、HDMI(登録商標)のようなビデオ情報を伝えることができるポートなど)、オーディオ出力デバイス(たとえば、スピーカー、マイクロフォンジャック、USB、HDMI(登録商標)のようなオーディオ情報を伝えることができるポートなど)、振動デバイスおよび/または情報が出力のためにフォーマットされるか、通信デバイス1000のユーザもしくはオペレータによって実際に出力される手段となり得る任意の他のデバイスを含むことができる。たとえば、通信デバイス1000が図3に示すようにUE200に対応する場合、情報を提示するように構成された論理1020は、ディスプレイ224を含むことができる。さらなる一例では、情報を提示するように構成された論理1020は、(たとえば、ネットワークスイッチ、またはルータ、リモートサーバなど)ローカルユーザを有さないネットワーク通信デバイスのようないくつかの通信デバイスでは省略されることがある。情報を提示するように構成された論理1020はまた、実行されるときに、情報を提示するように構成された論理1020の関連ハードウェアがその提示機能を実行できるようにするソフトウェアを含むことができる。しかしながら、情報を提示するように構成された論理1020は、ソフトウェアのみに対応するものではなく、情報を提示するように構成された論理1020は、その機能を実現するためにハードウェアに少なくとも部分的に依存する。
図10を参照すると、通信デバイス1000は、ローカルユーザ入力を受信するように構成された論理1025をさらに随意に含む。一例では、ローカルユーザ入力を受信するように構成された論理1025は、少なくともユーザ入力デバイスおよび関連ハードウェアを含むことができる。たとえば、ユーザ入力デバイスは、ボタン、タッチスクリーンディスプレイ、キーボード、カメラ、オーディオ入力デバイス(たとえば、マイクロフォン、またはマイクロフォンジャックのようなオーディオ情報を伝えることができるポートなど)、および/または情報が通信デバイス1000のユーザもしくはオペレータから受信される手段となり得る任意の他のデバイスを含むことができる。たとえば、通信デバイス1000が図3に示すようにUE200に対応する場合、ローカルユーザ入力を受信するように構成された論理1025は、ディスプレイ224(タッチスクリーンを実装する場合)、キーパッド226などを含むことができる。さらなる一例では、ローカルユーザ入力を受信するように構成された論理1025は、(たとえば、ネットワークスイッチ、またはルータ、リモートサーバなど)ローカルユーザを有さないネットワーク通信デバイスのようないくつかの通信デバイスでは省略されることがある。ローカルユーザ入力を受信するように構成された論理1025はまた、実行されるときに、ローカルユーザ入力を受信するように構成された論理1025の関連ハードウェアがその入力受信機能を実行できるようにするソフトウェアを含むことができる。しかしながら、ローカルユーザ入力を受信するように構成された論理1025は、ソフトウェアのみに対応するものではなく、ローカルユーザ入力を受信するように構成された論理1025は、その機能を実現するためにハードウェアに少なくとも部分的に依存する。
図10を参照すると、構成された論理1005〜1025は、図10では別個のまたは異なるブロックとして示されているが、それぞれの構成された論理がその機能を実行する手段であるハードウェアおよび/またはソフトウェアは部分的に重複し得ることが諒解されよう。たとえば、構成された論理1005〜1025の機能を容易にするために使用される任意のソフトウェアは、情報を記憶するように構成された論理1015に関連する非一時的メモリに記憶することができ、それにより、構成された論理1005〜1025は各々、情報を記憶するように構成された論理1015によって記憶されているソフトウェアの動作に部分的に基づいてそれらの機能(すなわち、この場合にはソフトウェア実行)を実行する。同様に、構成された論理のうちの1つに直接関連するハードウェアを時々、他の構成された論理が借りること、または使用することができる。たとえば、情報を処理するように構成された論理1010のプロセッサはデータを、情報を受信および/または送信するように構成された論理1005によって送信される前に、適切なフォーマットにフォーマットすることができ、それにより、情報を受信および/または送信するように構成された論理1005は、情報を処理するように構成された論理1010に関連するハードウェア(すなわち、プロセッサ)の動作に部分的に基づいて機能(すなわち、この場合はデータの送信)を実行する。さらに、構成された論理または「ように構成された論理」1005〜1025は、特定の論理ゲートまたは要素に限定されず、一般的に、(ハードウェアまたはハードウェアとソフトウェアとの組合せのいずれかを介して)本明細書で説明する機能を実行する能力を指す。したがって、構成された論理または「ように構成された論理」1005〜1025は、「論理」という語を共有するにもかかわらず、必ずしも論理ゲートまたは論理要素として実装されるとは限らない。
情報および信号は、多種多様な技術および技法のいずれかを使用して表すことができることを当業者は諒解されよう。たとえば、上記の説明全体にわたって言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁界または磁性粒子、光場または光学粒子、あるいはそれらの任意の組合せによって表され得る。
さらに、本明細書で開示した実施形態に関連して説明した様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装できることを、当業者は諒解されよう。ハードウェアとソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップを、上記では概してそれらの機能に関して説明した。そのような機能をハードウェアとして実装するか、ソフトウェアとして実装するかは、特定の適用例および全体的なシステムに課される設計制約に依存する。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装することができるが、そのような実装の決定は、本発明の範囲からの逸脱を生じるものと解釈すべきではない。
本明細書で開示した実施形態に関連して説明した方法、シーケンス、および/またはアルゴリズムは、ハードウェアで直接実施され得るか、プロセッサによって実行されるソフトウェアモジュールで実施され得るか、またはその2つの組合せで実施され得る。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野で知られている任意の他の形態の記憶媒体中に常駐し得る。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替として、記憶媒体はプロセッサと一体であり得る。
したがって、本発明の一実施形態は、開示する実施形態うちの1つまたは複数によるクライアント側分散型プレゼンス管理のための方法を具現するコンピュータ可読媒体を含むことができる。したがって、本実施は図示の例に限定されず、本明細書で説明した機能を実行するためのいかなる機構も、本発明の実施形態中に含まれる。
上記の開示は本発明の例示的な実施形態を示すが、添付の特許請求の範囲によって規定される本発明の範囲から逸脱することなく、本明細書において様々な変更および修正を行えることに留意されたい。本明細書で説明した本発明の実施形態による方法クレームの機能、ステップおよび/またはアクションは、特定の順序で実行されなくてもよい。さらに、本発明の要素は、単数形で説明または特許請求されていることがあるが、単数形に限定することが明示的に述べられていないかぎり、複数形が企図される。