説明

イベントシーケンスに基づいてプレゼンスを通知するための方法

クライアントエンティティは、プレゼンスサーバがクライアントエンティティに通知を送る時を管理するトリガを定義するイベントシーケンスを含む、プレゼンティティへのサブスクリプションを生成し、サブスクリプションはイベントシーケンスの時間パラメータをさらに指標する。サブスクリプションを受け取ると(302)、プレゼンスサーバは指標された時間パラメータに基づいてプレゼンス情報を受け取りモニタして(304)イベントシーケンスの発生を検出し、プレゼンス情報がトリガを満たす場合はクライアントエンティティに通知を送る(306)。

【発明の詳細な説明】
【技術分野】
【0001】
本開示は、概してプレゼンスサービスに関し、より具体的には、イベントシーケンスに基づいてプレゼンスを通知するための方法に関する。
【背景技術】
【0002】
技術の進歩に伴い、通信システムはより優れたサービスをユーザに提供することができるようになっている。プレゼンスサービスを利用する一部の応用例では、通信装置が、その通信装置(「プレゼンティティ」)のユーザの状態情報すなわちプレゼンス情報を中央ネットワークエンティティ(「プレゼンスサーバ」)に報告(「発行」)する。プレゼンスサーバは、通信システム内の他のユーザ(「ウォッチャ」)にそのプレゼンス情報を配信(「通知」)する。一般にプレゼンス情報には、通信装置の状態、装置のユーザの連絡可能性、通信装置の位置、装置によって実行されている現在の操作、ユーザの優先通信手段などの情報が含まれる。
【0003】
標準的なプレゼンス機能は、ウォッチャ(ユーザ、装置、またはアプリケーション)がプレゼンスサーバにサブスクライブして、1つまたは複数のプレゼンティティに関係するプレゼンス情報を受け取ることを可能にする。サブスクリプションは、1つまたは複数のプレゼンティティごとにそれぞれ行うことができるか、または複数のプレゼンティティを含むプレゼンスリソースリストを使用して行うことができる。1つまたは複数の指定したプレゼンティティにサブスクライブすると、その指定したプレゼンティティに関するプレゼンス情報がウォッチャに通知される。
【0004】
インターネット技術標準化委員会(IETF:Internet Engineering Task Force)のコメント要求(RFC)4460および4461では、SIP/SIMPLEウォッチャがサブスクリプションの一部として通知フィルタ基準を供給できるようにする拡張マークアップ言語(XML)ベースの方法が論じられている。プレゼンスサーバはその基準を評価して、サブスクライブしているウォッチャに通知するかどうか、および通知するときを決定する。しかしRFC4460および4461は、ウォッチャが、同時に発生する無順序の複数の同期現行プレゼンス値しか(供給される通知基準内で)参照することを認めない。例えば基準は、プレゼンス情報要素Aが「a1」の値を有し、プレゼンス情報要素Bが「b1」の値を同時に有する場合にウォッチャに通知することからなることができる。この単純なサブスクリプション・通知メカニズムは、消費者ユーザにとっては一般に十分である。しかし、このメカニズムは、例えばプレゼンス情報要素の履歴値および将来値、順序付きもしくは無順序のイベントシーケンス、および/またはプレゼンス情報の変化に対応するイベントの時間パラメータに基づいて通知トリガを指定する能力であって、既知のサブスクリプション/通知メカニズムでは利用できない、指定する能力を含むより洗練された技法の恩恵を受ける、公共の安全に関するユーザなどの他の特定のユーザの需要を満たすには不十分である。
【発明の概要】
【発明が解決しようとする課題】
【0005】
したがって、イベントシーケンスに基づいてプレゼンスを通知するための方法が求められている。
以下の詳細な説明とともに、別々の図面を通して同様の参照番号が同一の要素または機能的に同様の要素を指す添付図面は本明細書に組み込まれ、本明細書の一部を形成し、特許請求の範囲に記載の本発明を含む概念の諸実施形態をさらに例示し、それらの実施形態の様々な原理および利点を説明する機能を果たす。
【0006】
図面の中の要素は簡単かつ明瞭にするために示しており、必ずしも縮尺通りに描いているとは限らないことを当業者なら理解されよう。例えば、本発明の諸実施形態を理解する一助となるように、図中の一部の要素の寸法を他の要素に比べて拡大することがある。
【0007】
図面の中で機器および方法のコンポーネントを従来の記号により必要に応じて示し、本明細書の説明の利益を有する当業者にとってすぐに分かる詳細によって本開示を不明瞭にしないために、本発明の諸実施形態の理解に関連がある特定の詳細だけを図示した。
【図面の簡単な説明】
【0008】
【図1】一部の実施形態による、イベントシーケンスに基づいてプレゼンスを通知するための通信システムのブロック図を示す。
【図2】一部の実施形態による、イベントシーケンスに基づいてプレゼンスを通知できるようにするための、クライアントエンティティにおける方法の流れ図を示す。
【図3】一部の実施形態による、イベントシーケンスに基づいてプレゼンスを通知できるようにするための、プレゼンスサーバにおける方法の流れ図を示す。
【図4】一部の実施形態による、モニタするプレゼンス情報が通知を送るためのトリガを満たすことを、プレゼンスサーバが様々な条件下で検出することを示す流れ図を示す。
【図5】一部の実施形態による、プレゼンスサーバがプレゼンス情報をモニタし、イベントシーケンスに基づいて通知を行うことを例示する絵図を示す。
【発明を実施するための形態】
【0009】
概して言えば、様々な実施形態に従いクライアントエンティティは、プレゼンスサーバがクライアントエンティティに通知を送る時を管理するトリガを定義するイベントシーケンスを含む、プレゼンティティへのサブスクリプションを生成し、サブスクリプションはイベントシーケンスの時間パラメータをさらに指標する。サブスクリプションを受け取ると、プレゼンスサーバは、プレゼンス情報を受け取り、指標された時間パラメータに基づいてプレゼンス情報をモニタしてイベントシーケンスが少なくとも1回発生したことを検出し、プレゼンス情報がトリガを満たす場合はクライアントエンティティに通知を送る。
【0010】
トリガ基準の一部としてイベントシーケンスをサブスクリプション内に含めることで、ウォッチャははるかに複雑な「シナリオベースの」通知トリガを設定することができる。さらに、トリガ基準の一部として時間パラメータをサブスクリプション内で指標しまたは特定することにより、ウォッチャは、今度は過去のおよび将来のプレゼンス情報を参照することができる。さらに、ウォッチャは特定のプレゼンス状態がトリガを満たすために遷移しなければならない順序を明確に示すことができ、高度なブール論理を使用していつ通知を行うべきかを設定し、多くの実装形態、とりわけ公共の安全との関連で有用なトリガメカニズムのさらなる柔軟性をもたらすことができる。上記に認められる利点および本明細書に記載する他の利点は例示に過ぎず、様々な実施形態の利点の全てを完全に表すつもりではないことを当業者なら理解されよう。
【0011】
次に図面、とりわけ図1を参照して、通信システムを例示するブロック図を図示し100で示し、このシステムは、本開示の実施形態に従いクライアントエンティティに通知を提供する。この詳細な説明の中の例の詳細は一部の実施形態の例示に過ぎず、本明細書に記載の教示は様々な代替的設定において適用できることを当業者なら認識し、理解されよう。例えば記載する実施形態では、通信システム100内に実装するプレゼンス機能は、独自のプロトコル(図2から図5を参照することにより説明する本開示の諸実施形態を実施するプロトコルなど)、およびSIP(RFC3261内に記載のセッション開始プロトコル)を利用するSIP/SIMPLEベースのプレゼンスサービス用のアプリケーションレベルの仕様を定める、オープンモバイルアライアンス(OMA)によって発行されたPresence SIMPLE Specification(2009年2月3日付け最新ドラフト)や、SIPを用いたインスタントメッセージングおよびプレゼンスについて記載する、インターネット技術標準化委員会(IETF)によって発行されたSIMPLE made simple(2009年3月9日付け最新ドラフト)などの標準プロトコルを使用して実行し、本明細書では標準プレゼンスプロトコルを一括してSIP/SIMPLEと呼ぶ。ただし、記載する教示はこのシステム実装形態に限定されることは決してない。さらに本システムは、図1に示すよりも多くのウォッチャ、プレゼンティティ、プレゼンスサーバ、通信装置、および他のエンティティを含むことができる。
【0012】
通信システム100は、プレゼンスサーバ120、通信装置112を使用するユーザ110、および通信装置132を使用するユーザ130を含み、通信装置112および132ならびにプレゼンスサーバ120は、本明細書の教示に従いプレゼンス情報をサブスクライブし、対応するプレゼンス情報を通知するためにネットワーク(図示せず)を介して全て通信可能に結合される。ネットワークは有線ネットワーク、無線ネットワーク、または有線通信および無線通信の両方を可能にするネットワークとすることができ、通常、ブリッジ、スイッチ、ゾーンコントローラ、基地局コントローラ、中継器、無線基地局、基地局、ベーストランシーバ基地局、アクセスポイント、ルータ、または無線環境もしくは有線環境内の任意のエンティティとインターフェイスする他の任意の種類のインフラ機器を含むがこれだけに限定されない、いくつかのネットワークインフラ装置を含む。
【0013】
通信装置112および132(本明細書では「クライアントエンティティ」と呼ぶ)は、当技術分野ではアクセス装置、アクセス端末、ユーザ機器、移動局、移動加入者ユニット、モバイル機器等とも呼ばれ、無線機、携帯電話、携帯情報端末(PDA)、ラップトップ、送受信兼用無線機、セルフォン、および有線環境または無線環境内で動作することができる他の任意の装置など、任意の標準的な通信装置とすることができる。各通信装置は、(図示せずだが)動作可能に結合されるメモリ、1つまたは複数のネットワークインターフェイス、および処理装置を含む。
【0014】
ネットワークインターフェイスは、プレゼンティティのプレゼンス情報をプレゼンスサーバ120に発行すること、プレゼンティティのプレゼンス情報をサブスクライブし、サブスクライブすることの結果として、本明細書の教示に従いプレゼンスサーバ120から通知を受け取ること、および本教示による方法を実施できるようにするためのプレゼンスサーバ120との他の通信のうちの1つまたは複数のために使用することができる。ネットワークインターフェイスの実装形態は、通信装置が接続するネットワークの特定の種類、すなわち有線および/または無線によって決まる。例えばネットワークが有線通信をサポートする場合、インターフェイスには(例えばRS−232標準に準拠する)シリアルポートインターフェイス、パラレルポートインターフェイス、イーサネット(登録商標)インターフェイス、USBインターフェイス、および/またはファイヤワイヤインターフェイス等が含まれ得る。ネットワークが無線通信をサポートする場合、インターフェイスには、1つまたは複数の任意の標準無線インターフェイスまたは独自の無線インターフェイスに従って動作可能な処理要素、変調要素、およびトランシーバ要素を含む要素が含まれ、その処理要素、変調要素、およびトランシーバ要素の機能の一部は、通信装置のメモリ装置上に記憶されるソフトウェアアプリケーションやファームウェアなどのプログラムドロジックにより、通信装置の処理装置内で実行されてもよい。
【0015】
プログラムドロジックまたはコードによって実施される上述の機能に加えて、各通信装置の処理装置は、図2を参照することにより以下に記載する方法300などの方法を実施するためのロジックまたはコードでさらにプログラムされ、かつ/または処理装置は状態機械もしくはASICとして実装することができる。通信装置内のメモリは、通信装置が機能するために必要な様々なデータ、例えばプレゼンス情報、構成情報等の短期記憶域および/または長期記憶域を含むことができる。メモリは、処理装置の機能を実行するために必要なロジックまたはコードで処理装置をプログラムするためのソフトウェアまたはファームウェアをさらに記憶することができる。
【0016】
次にプレゼンスサーバ120を参照して、プレゼンスサーバ120は、メモリ122、1つまたは複数のネットワークインターフェイス124、およびプレゼンスサーバ120の機能を実行するために動作可能に結合される処理装置126を含む。ネットワークインターフェイス124は、プレゼンスサーバ120が接続する特定のネットワークに応じて有線、無線、またはその両方の組合せ(例は上述した)とすることができる。処理装置126は、自らの機能を実行するためのロジックまたはコードでプログラムすることができ、ロジックはソフトウェアおよび/またはファームウェアとしてメモリ122内に記憶され(例は上述した)、かつ/または処理装置126は状態機械もしくはASICとして実装することができる。
【0017】
動作面では、プレゼンスサーバ120は、クライアントエンティティからのいくつかの発行メッセージ(例えばSIP/SIMPLE PUBLISHメッセージとすることができる装置132からのメッセージ135など)のそれぞれの中で、プレゼンティティに関連するプレゼンス情報要素の値を受け取る。特定のプレゼンティティに関連するプレゼンス情報は1つまたは複数のプレゼンス情報要素を含み、プレゼンティティは概して、異なるまたは同じプレゼンス情報要素についてある期間にわたり多くの発行メッセージを送る。プレゼンスサーバ120は、現在値を(メモリ122内に)保持し、一部の実施形態では、1つまたは複数のプレゼンティティの少なくとも1つのプレゼンス情報要素に関する1組の(1つまたは複数の)以前のまたは過去の値をさらに保持する。
【0018】
プレゼンスサーバ120は、ウォッチャからの1つまたは複数のサブスクライブメッセージ(例えばSIP/SIMPLE SUBSCRIBEメッセージとすることができるサブスクライブメッセージ115など)の中で、1つまたは複数のプレゼンティティのイベントシーケンスに関して通知されるための要求をさらに受け取り、イベントシーケンスはプレゼンスサーバがクライアントエンティティに通知を送る時を管理するトリガを定義し、サブスクライブ要求はイベントシーケンスの時間パラメータをさらに指標する。サブスクライブ要求に応答して、プレゼンスサーバ120は、指標された時間パラメータに基づいてプレゼンス情報を受け取りモニタしてイベントシーケンスの発生を検出し、モニタしたプレゼンス情報がトリガを満たす場合はウォッチャに(例えば1つまたは複数のSIP/SIMPLE NOTIFYメッセージの中で)通知を提供する(125)。
【0019】
本明細書で使用する用語の一部についての定義は、開示する教示を理解するのに役立つ。例えば、プレゼンスサーバは、プレゼンス情報またはプレゼンス情報に関連する他のデータを受け付け、記憶し、配信する機能エンティティとして定義される。プレゼンス情報は、通信するためのプレゼンティティの状態、到達可能性、意思、および/または能力を示す、プレゼンティティに関連する1組の動的情報として定義される。プレゼンス情報には、例えばユーザの連絡可能性、位置、ネットワークの可用性、ユーザの気分、移動方向、速度、目的地、目的地に到達する推定時間、目的地からの距離、インシデント局面、完了した割合、段階、またはインシデント中の指定されたタスクの局面などの状態情報が含まれるがこれだけに限定されない。プレゼンス情報は1つまたは複数のプレゼンス情報要素からなり、プレゼンス情報要素はプレゼンス情報の基本単位として定義される。プレゼンス情報要素は、現在の英数字値(本明細書では単に値とも呼ぶ)および/または1組の(すなわち1つまたは複数の)過去の値に関連することができる。プレゼンス情報要素の値は、所与の時点におけるそのプレゼンス情報要素についてのプレゼンスに関係する状態として定義される。例えばプレゼンス情報要素の値は、「不在」、「職場にいない」などのユーザの状態を定義することができる。さらに、特定の時点におけるプレゼンティティに関するいくつかのプレゼンス情報要素の1組の現在値は、その特定の時点におけるプレゼンティティのプレゼンス状態を表す。
【0020】
ウォッチャは、1つまたは複数のプレゼンティティに関する特定のプレゼンス情報をサブスクライブする、装置内の一意に識別することができる論理エンティティとして定義される。プレゼンティティは、プレゼンス情報によって述べられる論理エンティティとして定義される。プレゼンティティは、装置および/または人に相当することができ、サーバ、ビル、車両、アプリケーション、または他の論理エンティティおよび物理エンティティが含まれる他の種類のエンティティに相当することもできるがこれだけに限定されない。さらに、複数のプレゼンティティをプレゼンスリソースリスト(PRL)によって識別することができ、プレゼンスリソースリストは、ウォッチャによる単一の操作(single operation)において従来よりサブスクライブされている、プレゼンティティの定義済みリスト(例えば「バディリスト」)として定義される。
【0021】
サブスクリプション(本明細書ではサブスクライブ要求とも呼ぶ)は、サブスクリプション内で定義される1つまたは複数のトリガが満たされているときに後続の通知を得るための、クライアントエンティティからプレゼンスサーバへの要求として定義される。したがって通知は、関連する通知内で定義されるトリガの1つまたは複数が、プレゼンスサーバにおいて受け取られるプレゼンス情報によって満たされているときにプレゼンスサーバがクライアントエンティティに送る応答として定義される。イベントシーケンスは1組の複数のイベントとして定義され、シーケンスの中のイベントの少なくとも2つはある期間にわたり連続して、または異なる時間に(すなわち非同期的に)発生しなければならない。イベントは、1つまたは複数のプレゼンス情報要素に関するある値から別の値への状態遷移として定義され、複数のプレゼンス情報要素によって定義されるイベントでは、全ての要素についての状態遷移は同期的でも非同期的でもよい。したがって、イベントはそれ自体が、自らの順序付きまたは無順序のイベントのシーケンスによって定義される「サブシーケンス」を含むことができる。
【0022】
次に図2から図4を参照する。図2では、イベントシーケンスに基づいてプレゼンス通知を受け取るためにサブスクライブするための方法を例示する流れ図を図示し、200で示す。この方法200のステップの少なくとも一部を、図1に示すクライアントエンティティ112などのクライアントエンティティが実行する。図3は、イベントシーケンスに基づいてプレゼンスを通知するための対をなす方法300の流れ図を例示し、図4は、モニタするプレゼンス情報が通知を送るためのトリガを満たす様々な条件を示す流れ図400を例示する。一実施形態では、図3および図4に示す機能をプレゼンスサーバ120などのプレゼンスサーバによって実施するが、記載する機能の一部をプレゼンスサーバ120の外部にある1つまたは複数の補助ハードウェアユニットにおいて実行してもよい。さらに、本明細書の記載に関して、図2から図5の流れ図を参照することにより例示し説明する機能は、例えば自らの機能を実行するようにロジックまたはコードでプログラムされる処理装置(例は以下に示す)であって、そのロジックはソフトウェアおよび/またはファームウェアとして適切なメモリ装置の中に記憶される、処理装置を用いてかつ/または状態機械もしくはASICとして実装される処理装置を用いて実行することができる。
【0023】
まず図2に示す方法200を参照して、202で、クライアントエンティティ112がプレゼンティティへのサブスクリプションを生成する。サブスクリプションは、プレゼンスサーバがクライアントエンティティ112に通知を送る時を管理するトリガを定義する(順序付きまたは無順序の)イベントシーケンスを含み、そのイベントシーケンスの時間パラメータをさらに特定しまたは他の方法で指標する。トリガメカニズムをイベントシーケンスおよび時間パラメータに基づかせることは、トリガを定義する際のさらなる柔軟性をもたらす。
【0024】
イベントシーケンスに基づいて多くのトリガを定義することができる。そうしたトリガ定義の例には、イベントシーケンスの中の全てのイベントが発生したことを検出するとき、またはイベントシーケンスの中の全てのイベントが発生したが、1つもしくは複数の介在イベントの発生と共に発生したことを検出するとき、またはイベントシーケンスの中のイベントの1つもしくは複数が発生しないことを検出するとき、またはイベントシーケンスの中に含まれていないさらなるイベントの発生を検出するとき、またはイベントシーケンスの中の全てのイベントが発生したが、時間パラメータを満たさないことを検出するとき、(イベントシーケンスが順序付けされているか、それとも無順序か、すなわち指定された順序を有さないかに関係なく)トリガが満たされているものとして定義することが含まれるが、これだけに限定されない。さらに、イベントシーケンスが順序付けられている場合、実例として、イベントシーケンスの中の全てのイベントが発生したが、指定された順序で発生していないことを検出するとき、トリガが満たされているものとして定義することができ、「順序」とは、イベント自体の間の順序や、(イベントがサブシーケンスを含む場合)イベント自体の間の順序ではなくサブシーケンス内の順序など、これだけに限定されないが、シーケンスの中の1つまたは複数のイベントについて指定される任意の順序である。そのようなトリガが満たされていることを検出するプレゼンスサーバについてのさらなる説明および特定の例を、例えば図4に付随する説明を参照することにより以下に示す。
【0025】
イベントシーケンスの時間パラメータに関して、「時間パラメータ」は、シーケンスの中の1つまたは複数のイベントについて設けられる任意の時間的制約または時間制限を含めるために定義し、本開示のサブスクリプションおよび通知メカニズムにおいて大幅な柔軟性ももたらす。さらに、既知の通知メカニズムとの相違点として、本教示は(以下に示す例を用いてさらに説明するように)サブスクリプション内で提供される時間パラメータに基づいて、またはそうした時間パラメータの指針の下で、イベントシーケンス内の状態遷移のタイミングを考慮する。ところが既知の技術では、全ての遷移が同期的に生じるので状態遷移のタイミングは考慮されない。一例では時間パラメータが明確に指定されず、サブスクリプション内に時間パラメータを明確に含めないことは、トリガが1回または複数回満たされることをプレゼンスサーバが検出するまで(無限の時間にわたって)継続する暗黙のデフォルト時間パラメータを暗に示す。
【0026】
あるいはイベントシーケンスの時間パラメータは、いくつもの方法を用いてサブスクリプション内で明確に指定し、または指標することができる。以下の時間パラメータの例では、本開示の諸実施形態の理解を助けるためにイベントシーケンスを、イベントA、B、およびCを含むものとして定義し、各イベントは1つまたは複数のプレゼンス情報要素に関する状態遷移を含み、これらのイベントのうちの少なくとも2つは非同期的に(すなわち異なる時間に)発生する。例えば、イベントAは「a」の値が割り当てられるプレゼンス情報要素Aであり、イベントBは「b」の値が割り当てられるプレゼンス情報要素Bであり、イベントCは「c」の値が割り当てられるプレゼンス情報要素Cである。
【0027】
一例示的実装形態では、時間パラメータが、開始時間およびそれに続く終了時間を有する有界時間である。例えばその時間パラメータは、イベントA、B、およびCが発生しないかどうか、午後1時から午後3時までに受け取るプレゼンス情報をモニタし、その時間枠内でイベントシーケンスが発生する場合は通知を送るようにプレゼンスサーバに指標する。これは絶対的時間制限、この場合はイベントの全段階の発生についての総時間制限の一例でもある。さらに、シーケンスの中のイベントの1つまたは複数が、その独自の個々の絶対的時間制限に関連することができる。例えば、イベントAは午後1:30までに発生しなければならず、イベントBは午後2時までに発生しなければならない。
【0028】
あるいは時間パラメータは、両方ではないが開始時間または終了時間だけの制限がある場合がある。さらに、開始時間を含めることにより、サブスクリプションは、過去のイベントの発生をモニタするようにプレゼンスサーバに明確に指図することができる。より具体的には、一実装形態ではサブスクリプション内で指定される開始時間は、そのサブスクリプションをクライアントエンティティが送り、プレゼンスサーバが受け取る前に発生したプレゼンス情報のモニタ開始時間を指定する。したがってプレゼンスサーバは、プレゼンスサーバがアクセス可能な位置に記憶された過去のプレゼンス情報をモニタすることになる。
【0029】
さらに別の例示的実装形態では、時間パラメータが、イベントの発生に関する2つ以上のイベント間の相対的時間制限を含む。例えば、イベントシーケンスの中のイベント間のそれぞれの「遷移」は、その遷移に関連する時間制限または時間枠を有することができ、例えばイベントAの発生後、イベントBは15分以内に発生しなければならず、イベントBの発生後、イベントCは30分以内に発生しなければならない。
【0030】
この相対的時間制限の実装形態ではさらに、サブスクリプションは、通知を送ることができる時間枠を制限するサブスクリプションの時間パラメータをさらに含むことができる。したがって、これらの2つの時間枠の間で何らかの相互関係があり得る。例えばsequenceTimeFrameが、シーケンスが発生するための時間制限であり、subscriptionExpirationが、そのシーケンスが発生するときに通知がなされる時間制限である場合(例えばsubscriptionTimeFrameの値は、SIP SUBSCRIBEメッセージのヘッダ内で提供される)、sequenceTimeFrame(例えばこのイベントシーケンスは互いに30分以内に起こらなければならない)が、subscriptionExpiration(イベントシーケンスが今後1週間の間に完了するときはいつも通知してください)未満の場合、イベントの完了を追跡する状態機械は自己リセットしなければならない。
【0031】
言い換えれば、トリガが全て互いに30分の範囲(sequenceTimeFrame)内でA→B→Cとして定義されると仮定する。A→B→Cが30分以内に発生する場合クライアントエンティティは通知され、状態機械は再びリセットされてA→B→Cを待ち、必要に応じて再度(最長1週間、subscriptionExpirationまで)通知を行う。同様にA→Bだが、Cが30分以内にない場合、Aの30分後に状態機械はクリアされ、プレゼンスサーバは再度A→B→Cがないかどうかモニタする。sequenceTimeFrameは、無順序のイベントについて「循環」させることもでき、したがって互いに30分以内にA=真、B=真、およびC=真であることを要求し、かつT=0分においてA=真、T=15分においてB=真、T=35分においてC=真である場合、A、B、Cのシーケンスは30分以内に完了しないが、ここでA=真がT=45分において再び発生する場合、(無順序イベントの基準を満たす)B、C、Aは、T=15分において開始してT=45分において完了し、30分以内に発生する。そのため30分のクロックは、T=15分におけるB=真で「リセット」された。
【0032】
さらに別の例示的実装形態では、過去のイベント発生および将来のイベント発生を参照するためのトリガの設定ならびに時間パラメータの指標を、一例示的実装形態では高度なブール論理によって達成する。当然ながら上記の実装形態は全て実装形態の例に過ぎず、本明細書の教示の範囲を限定することを意図するものでは決してない。
【0033】
上記に述べたように、サブスクリプションは、SIP SUBSCRIBEメッセージ形式とすることができる。拡張SIP SUBSCRIBEメッセージの2つの例を以下に示す。最初の例では、プレゼンスウォッチャ(CommanderX@agency.gov)は、1日にわたってIncident1234にあらかじめ割り当てられたグループofficers@agency.gov内の任意のユーザが連絡可能になるたびに(それまでにこれらの職員に他のどんなインシデントが割り当てられている可能性があるかに関係なく)通知されることを望む。
【0034】
【数1】

行(1)はSIP/SIMPLEの拡張であり、本明細書の教示を実施するための新たなXMLネームスペースを含み、行(2)は、イベントシーケンスに基づくトリガを定義する。
【0035】
別の例では、プレゼンスウォッチャ(SupervisorY@airport.gov)は、この12時間のうちにリストemployees@airport.gov内の任意のユーザがドア3、5、6を(この順序で)成功裏に横切るたびに通知されることを望む。
【0036】
【数2】

行(3)はXMLネームスペースであり、行(4)から(6)はイベントシーケンスに基づくトリガを特定する。図2に戻り、クライアントエンティティがサブスクリプションをプレゼンスサーバに送り(204)、モニタされるプレゼンス情報がトリガを満たす場合はプレゼンスサーバから通知を受け取る(206)。一実施形態では、トリガを満たした複数のイベントを通知が明らかにする。
【0037】
次に図3を参照して、302でプレゼンスサーバは、イベントシーケンスによりトリガが定義された状態のサブスクリプションであって、時間パラメータをさらに指標する、サブスクリプションを受け取る。サブスクリプションを受け取ると、プレゼンスサーバは、イベントシーケンスの発生を検出するために、自らが受け取るプレゼンス情報を指標された時間パラメータに基づいてモニタする(304)。上記に述べたように、そのようなモニタリングには、記憶された過去のプレゼンス情報をモニタすることが含まれ得る。モニタされるプレゼンス情報がサブスクリプション内で定義されるトリガを満たすとき、プレゼンスサーバはクライアントエンティティに通知を送る(306)。
【0038】
図4は、プレゼンスサーバがプレゼンス情報をモニタすること、およびモニタするプレゼンス情報がトリガを満たすと検出すること(402)を示す。代替的な検出シナリオ404から414を例示する。404で、モニタされるプレゼンス情報は、シーケンスの中の全てのイベントが、介在イベントなしの「厳密な」シーケンスで、または1つもしくは複数の介在イベントを伴う「無規律な」シーケンス(406)で発生したことをプレゼンスサーバが検出するときにトリガを満たす。例えば厳密な無順序のシーケンスでは、イベントAおよびBおよびCは全て任意の順序で発生するが、他のイベントは発生しない(例えばB→A→Cや、さらにはA→B→A→C)。無規律な無順序のシーケンスでは、全てのイベントが、それらのイベントの間に他の可能な非列挙イベントを伴って任意の順序で発生する(例えばC→B→X→A)。厳密な順序付きのシーケンスでは、Aの後にB、その後にCと、それらの間に何も介在しない。さらに、無規律な順序のシーケンスでは、Aの後にBかつBの後にCだが、それらの間に他の何らかのイベントが発生し得る(例えばA→X→B→Y、Z→C)。
【0039】
408で、シーケンスの中の1つまたは複数のイベントが発生しないことをプレゼンスサーバが検出するとき、モニタされるプレゼンス情報はトリガ、例えばシーケンスの不履行を満たす。このシナリオは、無順序のイベントシーケンスおよび順序付きのイベントシーケンスの両方に適用することができる。
【0040】
410で、シーケンスの中に含まれていなかった追加のイベントが発生したことをプレゼンスサーバが検出するとき、モニタされるプレゼンス情報はトリガ、例えばシーケンスの不履行を満たす。図5を参照することによる第3のSIP SUBSCRIBEの例および付随する説明が、このトリガシナリオを例示する。さらなる例において、厳密な無順序のシーケンスの不履行では、全てのイベントが発生するが、列挙したイベントのいずれかの間に非列挙イベントが発生する(例えばA→B→X→Cや、C→B→X→A)。厳密な順序付きのシーケンスの不履行では、全てのイベントが指定された順序で発生するが、厳密な順序付きのイベントのいずれかの間に非列挙イベントが発生する(例えばA→B→X→C)。
【0041】
412で、シーケンスの中の全てのイベントが発生したが、時間パラメータを満たさなかったことをプレゼンスサーバが検出するとき、モニタされるプレゼンス情報はトリガ、例えばシーケンスの不履行を満たす。この例示的実装形態に対応するものとして上記に例を示した。さらに、検出シナリオ412は、順序付きのイベントシーケンスおよび無順序のイベントシーケンスの両方に適用することができる。
【0042】
414で、シーケンスの中の全てのイベントが発生したが、(順序付きのイベントシーケンスについての)指定された順序で発生していないことをプレゼンスサーバが検出するとき、モニタされるプレゼンス情報はトリガ、例えばシーケンスの不履行を満たす。例えば順序付きのシーケンスの不履行では、全てのイベントが発生するが、指定された順序から外れている(例えばB→A→C)。これらの例示的シナリオのいずれかについてトリガが満たされていると判定すると、プレゼンスサーバは、サブスクリプション内で提供される指図に応じてまたはトリガを満たしたイベントを明らかにするデータを供給することに関するデフォルトに応じて、トリガを満たしたイベントを明らかにした状態で、または明らかにすることなしにクライアントエンティティに通知を送る(416)。
【0043】
図5は、サブスクリプションを受け取ることに応答してプレゼンスサーバがプレゼンス情報をモニタし、順序付きのシーケンスが不履行に終わる場合にクライアントエンティティに通知を行う絵図を示す。この例示的実装形態ではクライアントエンティティが以下のSIP SUBSCRIBEメッセージを送り、プレゼンスウォッチャ(security@bank.com)はウォッチャユーザ(armoredcar@bank.com)が明日、1組の特定の状態遷移に従わない場合かつその場合に限り通知されることを望む。
【0044】
【数3】

行(7)はXMLネームスペースであり、行(8)から(12)はトリガを定義し、そのトリガは、介在イベントなしに装甲車の進路に沿って指定された時間に発生することが予想される順序付きのイベントシーケンスを基本的に定義する。指定されていない介在イベントが発生することおよび/または時間基準を満たさないことが原因でこのシーケンスが不履行に終わることは、クライアントエンティティに通知が送られることを引き起こす。
【0045】
図5は、サブスクリプションに対応するものとして、モニタされる例示的プレゼンス情報を示す。8:10に(プレゼンティティarmoredcar@bankとして特定する)装甲トラック(504)がその現在地(502)を出発して進路を開始し、それにより(SIP SUBSCRIBEメッセージの行(8)に定める)8:00〜8:15の間に出発するというシーケンスの中の第1のイベントを満たす(506)。9:15に装甲トラックは最初の停止のために銀行508に到着し、それにより(SIP SUBSCRIBEメッセージの行(9)に定める)9:00〜9:30の間に銀行に到着するというシーケンスの中の第2のイベントを満たす(510)。12:15に、装甲トラックは昼食のために停止し(512)、それにより(SIP SUBSCRIBEメッセージの行(10)に定める)12:00〜13:00の間の昼食時間というシーケンスの中の第3のイベントを満たす(514)。
【0046】
しかし3:15に強奪(516)が発生し、この強奪は、(SIP SUBSCRIBEメッセージの行(11)に定める)13:30〜14:00の間に装甲トラックがその最終目的地(518)に到着するのを妨げ、それによりシーケンスを不履行に終わらせ、security@bank.comにおけるセキュリティサービスへの通知(520)をトリガする。とりわけこの例は、諸実施形態を将来のイベントに適用できることを強調する。さらにこの例は、高度なブール論理(否定論理積)の使用を示す。最後にこの例は、混在する順序付き/無順序の基準の使用を示す。SIP SUBSCRIBEメッセージ内の最後の要素(行12)は、明日のある時点でarmoredcar@bankが自らの積荷の配送状態を「配送済み」に設定することを単純に要求し、これは銀行1または銀行2に訪れた後に発生することができるが、この場合は強奪により発生しなかった。
【0047】
上記の明細書で特定の実施形態について説明してきた。ただし、添付の特許請求の範囲に記載する本発明の範囲から逸脱することなしに、様々な修正および変更を加えてもよいことを当業者なら理解されよう。したがって、本明細書および図面は限定的な意味ではなく例示的な意味としてみなすべきであり、そのようなあらゆる修正は本教示の範囲に含まれることを目的とする。
【0048】
これらの利益、利点、問題に対する解決策、および何らかの利益、利点、もしくは解決策を発生させることができ、またはより顕著にすることができる任意の要素は、いずれかのまたは全ての請求項の重大な、所要の、または不可欠の特徴もしくは要素として解釈すべきでない。本発明は、本願の係属中に加えられる任意の補正を含む添付の特許請求の範囲、および発行されるそれらの請求項のあらゆる等価物によってのみ定められる。
【0049】
さらにこの文書では、第1のと第2の、上部と下部などの関係語は、あるエンティティまたは行為を別のエンティティまたは行為と単に区別するために、そのようなエンティティまたは行為間のそのようないかなる実際の関係または順序も必ずしも必要とすることなしに、もしくは暗に示すことなしに使用することができる。用語「備える(comprises)」、「備えている(comprising)」、「有する(has)」、「有している(having)」、「含む(includes)」、「含んでいる(including)」、「含有する(contains)」、「含有している(containing)」、またはそれらの他の任意の改変形態は、非排他的な包含をカバーすることを目的とし、それにより、列挙の要素を備え、有し、含み、含有するプロセス、方法、物品、または機器はそれらの要素だけを含むのではなく、明確に列挙していない他の要素またはそのようなプロセス、方法、物品、もしくは機器に固有でない他の要素を含んでもよい。「〜を備える(comprises...a)」、「〜を有する(has...a)」、「〜を含む(includes...a)」、「〜を含有する(contains...a)」が前に来る要素は、より多くの制約を受けることなく、その要素を備え、有し、含み、含有するプロセス、方法、物品、または機器において、同一の要素がさらに存在することを排除するものではない。用語「a」および「an」は、本明細書で明示的に別段の定めをした場合を除き1つまたは複数として定義する。用語「ほぼ(substantially)」、「事実上(essentially)」、「おおよそ(approximately)」、「約(about)」、またはそれらの他の任意のバージョンは、当業者によって理解されるものに近いものとして定義され、非限定的な一実施形態では、この用語は10%以内、別の実施形態では5%以内、別の実施形態では1%以内、別の実施形態では0.5%以内であると定義される。本明細書で使用するとき、用語「結合される(coupled)」は、必ずしも直接的にではなく、かつ必ずしも機械的にではないが接続されているものとして定義する。特定の方法で「構成される(configured)」装置または構造は、少なくともその方法で構成されるが、列挙されていない方法で構成することもできる。
【0050】
一部の実施形態が、マイクロプロセッサ、デジタル信号プロセッサ、特注プロセッサ、書替え可能ゲートアレイ(FPGA)などの、1個または複数の汎用プロセッサもしくは専用プロセッサ(または「処理装置」)、ならびに本明細書に記載の方法および/または機器の機能の一部、大部分、もしくは全てを特定の非プロセッサ回路とともに実施するためにその1個または複数のプロセッサを制御する、記憶された固有のプログラム命令(ソフトウェアおよびファームウェアの両方を含む)からなり得ることが理解されよう。あるいは一部の機能または全ての機能を、記憶されたプログラム命令を有さない状態機械により、または1つもしくは複数の特定用途向け集積回路(ASIC)内に実装することができ、各機能または機能のいくつかの一部の組合せはカスタムロジックとして実装される。当然ながら、この2つの手法の組合せを使用することもできる。
【0051】
さらに、実施形態は、本明細書に記載し権利を主張する方法を実行するように(例えばプロセッサを含む)コンピュータをプログラムするためのコンピュータ可読コードが記憶された、コンピュータ可読記憶媒体として実施することができる。そのようなコンピュータ可読記憶媒体の例には、これだけに限定されないが、ハードディスク、CD−ROM、光学記憶装置、磁気記憶装置、ROM(読取専用メモリ)、PROM(プログラム可能読取専用メモリ)、EPROM(消去可能プログラム可能読取専用メモリ)、EEPROM(電気的消去可能プログラム可能読取専用メモリ)、およびフラッシュメモリが含まれる。さらに、例えば可用時間、最新の技術、および経済的配慮によって動機付けられる、場合によってはかなりの労力および多くの設計上の選択があったとしても、本明細書に開示した概念および原理によって導かれるとき、当業者はそうしたソフトウェア命令およびプログラムならびにICを最小限の実験で容易に作り出せることが予想される。
【0052】
本開示の要約は、技術的開示の性質を読者がすぐに確認できるようにするために提供する。要約は、特許請求の範囲またはその意味を解釈するために使用されることも限定するために使用されることもないという理解の下で提出する。さらに上記の詳細な説明では、本開示を簡素化するために様々な実施形態において様々な機能をまとめていることが見て取れる。この開示方法は、権利を主張する実施形態が、それぞれの請求項の中で明確に列挙するよりも多くの特徴を必要とするという意図を反映するものだと解釈すべきでない。むしろ、添付の特許請求の範囲が反映するように、本発明の主題は開示した単一の実施形態の全ての特徴よりも少ない特徴にある。このため、添付の特許請求の範囲は詳細な説明に組み込まれ、各請求項は別々に権利を主張する主題として独立している。

【特許請求の範囲】
【請求項1】
イベントシーケンスに基づいてプレゼンスを通知するための方法であって、
プレゼンスサーバにおいて、
前記プレゼンスサーバがクライアントエンティティに通知を送る時を管理するトリガを定義するイベントシーケンスを含む、プレゼンティティへのサブスクリプションを前記クライアントエンティティから受け取るステップであって、前記サブスクリプションは、前記イベントシーケンスの中の前記イベントの少なくとも1つの発生に関する時間制限を定める時間パラメータをさらに指標する、受け取るステップと、
プレゼンス情報を受け取り、前記指標された時間パラメータに基づいて前記プレゼンス情報をモニタして、前記イベントシーケンスの発生を検出するステップと、
前記モニタされるプレゼンス情報が前記トリガを満たすとき、前記クライアントエンティティに前記通知を送るステップと
を含む、方法。
【請求項2】
前記イベントシーケンスの中の全ての前記イベントが発生したことを前記プレゼンスサーバが検出するとき、または
前記イベントシーケンスの中の全ての前記イベントが発生したが、少なくとも1つの介在イベントの発生と共に発生したことを前記プレゼンスサーバが検出するとき、または
前記イベントシーケンスの中の前記イベントの少なくとも1つが発生しないことを前記プレゼンスサーバが検出するとき、または
前記イベントシーケンスの中に含まれていないさらなるイベントの発生を前記プレゼンスサーバが検出するとき、または
前記イベントシーケンスの中の全ての前記イベントが発生したが、前記時間パラメータを満たさないことを前記プレゼンスサーバが検出するとき
前記モニタされるプレゼンス情報が前記トリガを満たす、請求項1に記載の方法。
【請求項3】
前記イベントシーケンスが、指定された順序を有するイベントシーケンスを含み、
前記イベントシーケンスの中の全ての前記イベントが発生したが、前記指定された順序で発生していないことを前記プレゼンスサーバが検出するとき、前記モニタされるプレゼンス情報が前記トリガを満たす
請求項1に記載の方法。
【請求項4】
前記プレゼンス情報をモニタするステップが、記憶されたプレゼンス情報をモニタすることを含む、請求項1に記載の方法。
【請求項5】
前記時間パラメータが、開始時間およびそれに続く終了時間を有する有界時間を含む、請求項1に記載の方法。
【請求項6】
前記開始時間は、前記プレゼンスサーバが前記サブスクリプションを受け取る前に生じる、請求項5に記載の方法。
【請求項7】
前記シーケンスの中の少なくとも1つのイベントがサブシーケンスを含む、請求項1に記載の方法。
【請求項8】
イベントシーケンスに基づいてプレゼンスを通知するための方法であって、
クライアントエンティティにおいて、
プレゼンスサーバが前記クライアントエンティティに通知を送る時を管理するトリガを定義するイベントシーケンスを含む、プレゼンティティへのサブスクリプションを生成するステップであって、前記サブスクリプションは、前記イベントシーケンスの中の前記イベントの少なくとも1つの発生に関する時間制限を定める時間パラメータをさらに指標し、前記イベントシーケンスを検出するために、前記プレゼンスサーバにおいて受け取られるプレゼンス情報が前記時間パラメータに基づいてモニタされる、ステップと、
前記サブスクリプションを前記プレゼンスサーバに送るステップと、
前記モニタされるプレゼンス情報が前記トリガを満たすとき、前記プレゼンスサーバから前記通知を受け取るステップと
を含む、方法。
【請求項9】
前記イベントシーケンスの中の全ての前記イベントが発生したことを検出するとき、または
前記イベントシーケンスの中の全ての前記イベントが発生したが、少なくとも1つの介在イベントの発生と共に発生したことを検出するとき、または
前記イベントシーケンスの中の前記イベントの少なくとも1つが発生しないことを検出するとき、または
前記イベントシーケンスの中に含まれていないさらなるイベントの発生を検出するとき、または
前記イベントシーケンスの中の全ての前記イベントが発生したが、前記時間パラメータを満たさないことを検出するとき
前記トリガが満たされているものとして前記サブスクリプション内で定義される、請求項8に記載の方法。
【請求項10】
前記イベントシーケンスが、
指定された順序を有するイベントシーケンス、または
指定された順序を有さないイベントシーケンス
を含む、請求項2または9に記載の方法。
【請求項11】
前記イベントシーケンスが、指定された順序を有するイベントシーケンスを含み、
前記イベントシーケンスの中の全ての前記イベントが発生したが、前記指定された順序で発生していないことを検出するとき、前記トリガが満たされているものとして前記サブスクリプション内で定義される
請求項8に記載の方法。
【請求項12】
前記通知が、前記トリガを満たした複数のイベントを特定する、請求項1または8に記載の方法。
【請求項13】
前記時間パラメータが、開始時間およびそれに続く終了時間を有する有界時間を含む、請求項8に記載の方法。
【請求項14】
前記サブスクリプションが前記開始時間の後に前記プレゼンスサーバに送られる、請求項13に記載の方法。
【請求項15】
前記少なくとも1つの時間制限が、
前記イベントシーケンスの中の前記イベントの1つまたは複数の前記発生に関する絶対的時間制限、
前記イベントシーケンスの中の全てのイベントの前記発生に関する総時間制限、
前記イベントシーケンスの中の2つ以上の前記イベント間の発生の相対的時間制限、
前記イベントシーケンスの中の全ての前記イベントの前記発生に関する循環的時間制限
のうちの少なくとも1つを含み、前記イベントシーケンスは無順序のイベントシーケンスを含む、請求項1または8に記載の方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公表番号】特表2013−516019(P2013−516019A)
【公表日】平成25年5月9日(2013.5.9)
【国際特許分類】
【出願番号】特願2012−547091(P2012−547091)
【出願日】平成22年12月6日(2010.12.6)
【国際出願番号】PCT/US2010/059068
【国際公開番号】WO2011/090564
【国際公開日】平成23年7月28日(2011.7.28)
【出願人】(390009597)モトローラ ソリューションズ インコーポレイテッド (649)
【氏名又は名称原語表記】Motorola Solutions, Inc.