(57)【特許請求の範囲】
【請求項１】
グループ・プレゼンスを決定する方法に於いて、
（Ａ）プロセッサがプレゼンス・イベントを受領するステップと、
（Ｂ）前記プレゼンス・イベントの受領に応答して、前記プロセッサが、前記プレゼンス・イベントに関連する階層を決定するステップと、
前記階層は、複数のノードを有するグループに関連し、
（Ｃ）前記プロセッサが、前記グループに関連する階層を越えて所定のノードまで、調査するステップと、
（Ｄ）前記プロセッサが、前記所定のノードのプレゼンスを決定するステップと、
（Ｅ）前記プロセッサが、前記階層内で他のノードが前記グループに存在するか否かを決定するステップと、
（Ｆ）他のノードが前記グループに存在する場合には、前記他のノードのプレゼンスを決定するステップと、
（Ｇ）他のノードが前記グループの階層内に存在しない場合には、前記グループのプレゼンスを、前記階層内の所定のノードのプレゼンスに基づいて、決定するステップと、
（Ｈ）前記ステップ（Ｇ）の決定に基づいて、前記プロセッサが、グループ・プレゼンスを発行するステップと、
を有する
ことを特徴とするグループのプレゼンスを決定する方法。
【請求項２】
前記ノードは、個人のプレゼンスに関連する
ことを特徴とする請求項１記載の方法。
【請求項３】
前記ノードは、サブグループのプレゼンスに関連し、
前記サブグループは、複数の個人を含む
ことを特徴とする請求項１記載の方法。
【請求項４】
前記ノードのプレゼンスは、前記ノードの構成員としきい値に基づいて決定される
ことを特徴とする請求項１記載の方法。
【請求項５】
前記構成員は、複数の個人を含み、
前記しきい値は、前記ノードの構成員が存在する時を規定するルールにより決定される
ことを特徴とする請求項４記載の方法。
【請求項６】
前記ノードの構成員は、企業のディレクトリーに記憶された個人の属性に基づく
ことを特徴とする請求項４記載の方法。
【請求項７】
前記プレゼンス・イベントは、以下の内の１つを含む
個人のプレゼンス状態の変更、
グループルールを規定するビジネス目的の変更、
ノードの構成員の変更、
グループの階層の変更、
グループ内のノードの変更
ことを特徴とする請求項１記載の方法。
【請求項８】
（Ａ）プレゼンスサーバと、
前記プレゼンスサーバは、グループに関連する複数の個人のプレゼンス状態を決定し、前記プレゼンス状態を個人のプレゼンス情報として、提供し、
（Ｂ）ルール・エンジンと、
前記ルール・エンジンは、前記プレゼンスサーバと通信し、複数の個人のそれぞれに対し個別のプレゼンス情報を受領し、前記受領した個別のプレゼンス情報に基づいて、グループ・プレゼンスを決定し、前記グループ・プレゼンスを発行し、グループ・プレゼンスを、ビジネス論理から形成されたルールに基づいて決定し、
（Ｃ）ルールデータベースと、
前記ルールデータベースは、前記ルール・エンジンと通信し、前記ルールを記憶し、
（Ｄ）企業ディレクトリーと、
前記企業ディレクトリーは、ビジネス論理を提供し、
（Ｅ）グループ定義コンポーネントと、
前記グループ定義コンポーネントは、前記ルールデータベースと通信し、グループを前記ビジネス論理に基づいて、規定し、
（Ｆ）ルール決定コンポーネントと、
を有し、
前記ルール決定コンポーネントは、前記ルールデータベースとグループ決定コンポーネントと通信し、前記ルールを、前記グループとビジネス論理に基づいて、決定する
ことを特徴とするグループのプレゼンスを決定するシステム。
【請求項９】
前記グループ定義コンポーネントは、グループ定義データ構造を形成し、
前記グループ定義データ構造は、
グループ識別子、
前記グループの複数のノードを含む階層定義、
前記複数のノードに対する複数の識別子、
前記グループの構成員、
前記グループの構成員が存在する時を決定するグループのしきい値
の内の少なくとも１つを含む
ことを特徴とする請求項８記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プレゼンス用グループ合成アルゴリズムに関する。
【背景技術】
【０００２】
企業或いは組織は、人々のグループで、決定をしたり行動したりする。グループは、複数の人から構成される。例えば取締役会は、ＣＥＯを決定するために集まる。組織とグループのメンバー（構成員）は、組織のルールで決めることが出来る。しかし、直接人間が関与しないで、グループが存在し適正に構成されているかを決定することは、困難である。プレゼンス・システムは、人が存在するか否か、或いは人が何処に存在するかの決定を自動的に行うのを助ける。しかしプレゼンス・システムは、グループが存在するか否かを直接決定するための機能を有しない。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
上記の問題或いは他の問題は本発明により解決される。本発明のシステムと方法はグループを構成し、このグループ用のプレゼンスを決定する。グループは、ビジネス論理に基づいて構成される。構成要素の組が、ビジネス論理からグループをモデル化し、グループの構成員を決定し、構成員のプレゼンス決定を支配するルールを決定し、グループモデルと構成員情報とルール・エンジンに対するルールを提供する。ルール・エンジンは、グループのプレゼンスを、そのメンバーとルールに基づいて評価する。このグループ・プレゼンスは、その後エンティティ、アプリケーション、ワークフローに送られる。これ等はグループ・プレゼンス用のルール・エンジンに帰属する。
【課題を解決するための手段】
【０００４】
本発明は様々な利点がある。プレゼンスサービス内のグループ構成は、実社会のビジネス論理をモデル化すべきである。本発明の実施例は、合成アルゴリズムの組を提供し、これにより、グループの構成或いはステータスを、構築可能なルールの原則の組み合わせに基づいて行うようにする。基本ルールの一例は次のとうりである。
１人のメンバーが、合成グループの或グループ或いはサブグループを代表する（即ちプレゼンス状態を決定する或いはその為の通信を受領する）必要があるルール、
グループの全ての構成員が、合成グループの或グループ或いはサブグループを代表することが要求されるルール、
定足数（全て所定構成員の全数或いは所定構成員の割合として定義される）が、合成グループの或グループ或いはサブグループを代表するために、必要とされるルール、
グループ或いはサブグループの集合体は、上記のルールの１つを用いて形成され、そしてそのグループ或いはサブグループに対応する要件（例、１つのサブグループ或いは全てのサブグループ或いは定足数等）を満たすルール、
グループ或いはサブグループのプレゼンスを、所定の勤務時間に制限する日にちのルール、
地理的ロケーションによるグループのプレゼンスを制限する（例えばスイスにいなければならない）地理的ロケーションルール、
通信の媒体／チャネルによる（例：電話を介して利用できる）グループのプレゼンスを制限する通信媒体のルール、
所定の国によりグループのプレゼンスを制限する国限定ルール。
【０００５】
更にグループの構成員は、自動的に構成されるか或いは更新される。例えばグループは次のように構成される。
異なるタイプのグループから構成されるグループを構築する反復を介して、
企業のディレクトリーから得られた（通常Lightweight Directory Access Ｐｒotocol(LDAP)を介してアクセスされる）属性を介して、
どこからか出た状態或いは属性を組み込むために別の利用可能なメカニズムを介して、である。ある状態に対する合成ルールと状態ルールは、各グループにより、別々に構成される。
【０００６】
現在の技術では、初歩的なグループ構成機能しか提供できず、これでは自由度に欠け、ビジネス論理に容易にマッピングできない。本発明の実施例により、より自然な実世界のビジネス論理にマッピングすることが、より恒久且つフレキシブルな合成ルールを適用することにより、行われる。
【図面の簡単な説明】
【０００７】
【図１】グループの構成員、階層、構造を表すグループモデルのブロック図。
【図２Ａ】グループ・プレゼンスを決定するシステムのブロック図。
【図２Ｂ】グループ・プレゼンスを決定するシステムのブロック図。
【図２Ｃ】グループ・プレゼンスを決定するシステムのブロック図。
【図３】グループ・プレゼンスを決定するのに用いられるグループモデルとグループルールで形成するシステムのブロック図。
【図４Ａ】コンピュータシステムにより記憶され送受信され、グループ定義とノード定義を提示するデータ構造のブロック図。
【図４Ｂ】コンピュータシステムにより記憶され送受信され、グループ定義とノード定義を提示するデータ構造のブロック図。
【図５】グループ・プレゼンスを決定するグループモデル又はグループルールのプロセスのフローチャート図。
【図６】グループ・プレゼンスを決定するプロセスのフローチャート図。
【図７】本発明のシステムと方法が実行されるコンピュータシステムの環境の実施例のブロック図。
【図８】本発明のシステムと方法が実行されるコンピュータシステムのブロック図。
【発明を実施するための形態】
【０００８】
本発明の実施例は、グループ・プレゼンスを決定する。グループは、複数のエンティティの集合体である。エンティティは、個人（自然人）或いは小グループである。グループは、ビジネス論理に基づいて形成される。ビジネス論理とは、特定のタスク又はイベントの為にメンバーを決定するルールである。例えば、会社が特許侵害訴訟を起こそうとしている場合には、その会社は、特定の方法で次のようなルールに基づいて、訴訟に対応する必要がある。そのルールとは、例えば州法或いは連邦法、会社の商品の組み込み状態、社内規則、会社のポリシー、他のガイドラインである。例えば、会社が、訴訟に対応する為に、あるグループを必要とする。そのグループのメンバーは、ＣＥＯ或いは取締役会の６人のメンバーの内の３人のメンバー、社内弁護士、ＣＦＯ又はＣＴＯの何れかを含む。グループの会合が行われるか否かを決定する為に、グループのプレゼンスは、グループのメンバーから会社の論理の基づいて、決定する必要がある。かくして本発明の実勢例は、グループ構成とグループ・プレゼンスをビジネス論理に基づいて、決定する。
【０００９】
グループ・モデル１００の実施例を、図１に示す。グループモデルは、グループ構成或いは単にグループとも称する。グループ・モデル１００は、様々なグループ構成、メンバーシップ（構成員）、階層の一例である。グループ・モデル１００は、あるコンセプト或いは条件等を説明するためのものである。グループ・モデル１００は、複数のノード１０２−１１８を有する。各ノード１０２−１１８は、個人、グループ、サブグループ等を表す。グループ・モデル１００は、階層化される。トップのティアノード１０２は、グループ・モデル１００全体のプレゼンスを決定する。ティアノード１０２は、ペアレント（親）ノード、グランドペアレント（祖父）ノード、グレートグランドペアレント（曾祖父）ノード等とも称し、これは、下のいティアノードとの関係に基づいて決まる。
【００１０】
複数のノード１０４−１１８は、サブ分岐或いは更に下部の分岐を階層内に有する。例えば、ノード１０４−１１８は、ノード１０２から次に低い分岐上にある。ノード１０４−１０８は、ペアレントノード１０２のチャイルドノードである。ノード１１０−１１８は、ノード１０４−１０８の次の下部分岐ノードである。ノード１１０−１１８は、グランドペアレント（祖父）ノード１０２のグランドチャイルド（曾孫）ノードであり、ペアレント（親）ノード１０４又はペアレント（親）ノード１０８のチャイルド（子）ノードでもある。図１は、３個の分岐ノードを含むグループ階層を示すが、このグループ階層は、グループを形成するビジネス論理に基づいて、あらゆる数の分岐ノードを含んでもよい。
【００１１】
トップ分岐ノード１０２は、プレゼンス状態を、チャイルドノード１０４，１０６，１０８から受領する。トップ分岐ノード１０２は、ルール或いはしきい値を有し、これでグループ１００が存在するか否かを、チャイルドノード１０４，１０６，１０８のプレゼンス状態に基づいて、決定する。例えば、しきい値は、チャイルドノード１０４，１０６，１０８が存在することが必要である。他の実施例に於いては、しきい値は割合である。その一例は、チャイルドノード１０４，１０６，１０８の５０％以上がプレゼンスしていなければならないというものである。他の実施例に於いては、しきい値は設定数である。設定数の一例は、例えばチャイルドノード１０４，１０６，１０８の少なくとも２つがプレゼンスしていなければならないというものである。ノード１０２のプレゼンス状態それ故グループのプレゼンス状態は、チャイルドノード１０４，１０６，１０８のプレゼンス状態に基づいて、決定され、これ等のノードは、プレゼンス状態をトップ分岐ノード１０２に送る。
【００１２】
下位の分岐ノード１０４−１１８のプレゼンスも同様に決定できる。例えば、ノード１０４のプレゼンス状態は、ノード１１０の人１とノード１１２の人２のプレゼンス状態に基づく。ある分岐ノードにおいては、ノードのプレゼンスは、個人のプレゼンスに基づく。斯くして、少なくとも２人の個人のプレゼンス状態は、グループ１００の状態を決定するのに必要である。このグループ１００を参照して、本発明のシステムと方法を説明する。
【００１３】
システム２００，２１２，２１８の３個の実施例は、図２Ａ、２Ｂ、２Ｃにそれぞれ示されたグループの生成とグループ・プレゼンスの決定を行う。システム２００，２１２，２１８は、共通の要素或いは共通のモジュールを有する。システム２００，２１２，２１８の構成要素は、ハードウエア、ソフトウエア或いはそれ等の組み合わせである。一実施例においては、図２Ａ、２Ｂ、２Ｃに記載したサーバ或いはコンピュータシステムは図７，８にも使用される。図２Ａ、２Ｂ、２Ｃに記載したサーバと機能は、図７，８で説明するサーバ或いはコンピュータシステム上で実行されるソフトウエア・アプリケーションである。更にここに開示した構成要素は互いに通信可能である。この構成要素は、公知のシステム、プロトコルを介して通信し、その一部を図７，８で説明する。
【００１４】
一実施例においては、システム２００，２１２，２１８は、プレゼンス・サーバ２０２を有する。プレゼンス・サーバ２０２は、複数の個人のプレゼンス状態を、従来公知の手段で決定する。例えば、プレゼンス・サーバ２０２は、米国特許第７１７１４７３号と米国特許出願公開２００７００６７４４３号に記載されたように、プレゼンスを決定する。プレゼンス情報とプレゼンスの決定方法は、次の文献にも記載されている。
Network Working Ｇｒoup Request for Comments:2778,authored by M.Day, J.Rosenberg, and  H.Sugano, published by the Internet Engineering Task Force on February 2000, and entitled "A Model for Ｐｒesence and Instant Messaging,
プレゼンス・サーバ２０２は、複数の個人のプレゼンス状態をプレゼンス情報２０８として提供する。他の実施例に於いては、プレゼンス・サーバ２０２は、第１グループのグループ・プレゼンス情報２１０を提供して、第２グループのプレゼンスの決定を容易にする。
【００１５】
ルール・データベース２０６は、あらゆるデータベース・サーバ、システム、アプリケーションであり、データ又は情報を記憶し、提供出来る。ルール・データベース２０６は、ルール・エンジン２０４用にグループルール、ビジネス論理、グループモデル１００を記憶する。斯くしてグループ又はイベントに応じて、グループ・プレゼンス情報の必要性がトリガーされ、ルール・エンジン２０４が、ルールデータベース２０６から情報をサーチし、取り出して、グループ・プレゼンスの決定を補助する。
【００１６】
システム２００，２１２，２１８は、ルール・エンジン２０４を有する。ルール・エンジン２０４は、グループのプレゼンスを決定するアプリケーション或いはデバイスである。言い換えると、ルール・エンジン２０４は、プレゼンス情報２０８を受領し、このプレゼンス情報２０８に基づいて、グループ・プレゼンスを決定し、グループ・プレゼンス情報２１０としてグループ・プレゼンスを発行する。ルール・エンジン２０４は、グループ・プレゼンスを、グループ・モデル１００を形成したビジネス論理から形成されたルールに基づいて、決定する。
【００１７】
図２Ａに示す一実施例においては、ルール・エンジン２０４は、プレゼンス・サーバ２０２上で動く、
図２Ｂに示す他の実施例に於いては、システム２１２は、アジャンクト２１４を有する。このアジャンクト２１４は、グループ・プレゼンスを決定するプレゼンス・サーバ２０２とは別個のサーバ或いはアプリケーションである。斯くして、プレゼンス・サーバ２０２は、個人用のプレゼンス情報２０８をアジャンクト２１４に送る。そこで、ルール・エンジン２０４は、アジャンクト２１４上で動き、グループ・プレゼンスを決定し、グループ・プレゼンス情報２１０を発行する。このグループ・プレゼンス情報２１０は、他のワークフロー２１６に送られる。この他のワークフロー２１６は、他のアジャンクト、プレゼンス・サーバ２０２，他のプレゼンスサーバ、アプリケーション、エンドユーザである。
【００１８】
図２Ｃに示すシステム２１８ は、アプリケーション２２０を含む。このアプリケーション２２０は、プレゼンス情報を利用するソフトウエアアプリケーションである。一実施例において、アプリケーション２２０は、ルール・エンジン２０４を実行する。斯くして、プレゼンス・サーバ２０２は、個人用或いはサブグループ用のプレゼンス情報２０８をアプリケーション２２０に送り、ルール・エンジン２０４は、アプリケーション２２０上で実行され、グループ・プレゼンスを決定し、グループ・プレゼンス情報２１０を発行する。このグループ・プレゼンス情報２１０は、エンドユーザ２２２に送られる。斯くして、所定のグループ内にあるアプリケーション２２０が、個別にプレゼンスを決定する。言い換えると、グループ・プレゼンスは、複数のアプリケーション２２０の間で分散して決定される。
【００１９】
図３において、システム３００は、グループ・プレゼンスモデル１００とルールを生成し、ルール・エンジン２０４が、グループ・プレゼンスを決定するのを助ける。システム３００の構成要素は、ハードウエア、ソフトウエア或いはそれ等の組み合わせである。一実施例においては、図３に記載した構成要素は、図７，８に記載したサーバ或いはコンピュータシステムである。図３に記載したサーバと機能は、図７，８で説明するサーバ或いはコンピュータシステム上で実行されるソフトウエア・アプリケーションである。更にここに開示した構成要素は互いに通信可能である。この構成要素は、公知のシステム、プロトコルを介して通信し、その一部を図７，８で説明する。
【００２０】
システム３００は、ルールデータベース２０６と、企業ディレクトリ３０２と、グループ定義コンポーネント３０４と、ルール定義コンポーネント３１０とを有する。ルールデータベース２０６は、グループ用のルールを記憶する。企業ディレクトリ３０２は、ルールを規定するビジネス論理３０６を与える。グループ定義コンポーネント３０４は、ビジネス論理３０６又はルールに基づいて、グループ・モデル１００を規定する。ルール定義コンポーネント３１０は、グループ・モデル１００又はビジネス論理３０６に基づいて、ルールを規定する。企業ディレクトリ３０２とグループ定義コンポーネント３０４とルール定義コンポーネント３１０は、ルール・エンジン２０４に必要とされる情報を規定し、グループ・プレゼンスを規定する。この情報は、ルールデータベース２０６内に記憶される。
【００２１】
企業ディレクトリ３０２は、ＬＤＡＰデータベースである。このデータベースは、複数の個人に関する情報を記憶する。この記憶された情報は、メタデータ或いは組織内の人々に関する属性を含む。属性の一例は、個人の識別子と、肩書きの識別子と、その人に対するコンタクト情報を含む。個人の識別子は、名前、従業員番号、社会保障番号、更に給与等である。肩書きの識別子は、肩書きの名称と肩書きの番号であり、その人がいる事務所の名前、ネットワークアドレス、郵便アドレス等であり、さらにその人の勤続年数、給与等を含む。コンタクト情報は、電話番号、ｅメールアドレス、メールアドレス等である。これ等の属性は、グループを形成するために用いられる。例えばグループは、５人の取締役の内の３人を含む。取締役の名前或いは個人の識別子でリストアップせずに、グループは、所定の肩書き識別子でリストアップし、これにより複数の人を取締役として指定する。他の属性のグループを形成するために同様に用いられる。ルール・エンジン２０４が、グループ・プレゼンスを、属性に規定された番号で決定すると、ルール・エンジン２０４は、ＬＤＡＰリクエスト３１２を企業ディレクトリ３０２に送り、そのグループのメンバーを規定する属性に関連する複数の個人用識別子を取り出す。例えば、ルール・エンジン２０４は、グループを形成する取締役会のメンバー用の名前或いは識別子を要求する。斯くして、ルール・エンジン２０４は、どのプレゼンス情報２０８がグループ・プレゼンスの決定に関与しているかを決定する。
【００２２】
企業ディレクトリ３０２は、ビジネス論理３０６を有する。そのビジネス論理３０６を用いてグループを形成する。ビジネス論理３０６は、以下のものを含む。誰がグループを構成するか、これ等のグループがどのように会合するか通信する（例：直接会ってかビデオ・カンファレンスでかｅメールでか）か、これ等のグループは何時会えるか、これ等のグループは何処で会えるか、等である。ビジネス論理３０６は、グループ定義コンポーネント３０４又はルール定義コンポーネント３１０に送られて、グループ・モデル１００と、グループのプレゼンスを決定する際に関連するルールを規定する。
【００２３】
グループ定義コンポーネント３０４は、グループ・モデル１００をビジネス論理３０６から規定する。例えばグループが２人の個人或いは２つのサブグループを含む場合には、グループ定義コンポーネント３０４は、４個のノードでグループ・モデル１００を構成する。４個の内２個のノードは２人の個人用であり、残りの２個のノードは２つのサブグループ用である。更にその後グループ定義コンポーネント３０４は、サブグループのノードの対するチルドレンであるメンバーとノードを規定する。グループ定義コンポーネント３０４は、グループ・モデル１００内にノードを生成し、このノードの間の相互関係となるよう配列する。その後グループ・モデル１００は、ルールデータベース２０６に送られ、ルールデータベース２０６に記憶される。
【００２４】
グループ定義コンポーネント３０４と同様に、ルール定義コンポーネント３１０は、グループ・モデル１００内の各ノードに関連するルールを、ビジネス論理３０６に基づいて、決定する。例えばルール定義コンポーネント３１０が、ノードの構成員に対するしきい値ルールを決める。このしきい値はアルゴリズムにより決定され、プレゼンスが如何に決定されたかを決定する。しきい値ルールは次の場合適合することになる。例えば、
構成員の中の複数の個人の内の少なくとも１人がいる時、
構成員の中の全員がいる時、
構成員の中の全員が所定の割合でいる時、
構成員の中の全員の内所定数の個人がいる時
である。他のしきい値ルールも適用可能である。
【００２５】
ルール定義コンポーネント３１０は、プレゼンスが如何に決定されるかを制限する或いは変更するルールを有する。例えば、ルール定義コンポーネント３１０は、次のようなルールを作ることが出来る。
グループ又はノードのプレゼンス決定を１日の時間に基づく（プレゼンスは仕事中の時間のみ）時間ルール：
グループ又はノードのプレゼンスの決定を場所で制限する（例えばプレゼンスは、メンバーが所定のオフィスの場所にいるときのみ）地理的ロケーション・ルール：
グループ又はノードのプレゼンスの決定を利用可能な通信媒体或いはチャネルに基づいて（例えばプレゼンスは全てのメンバーが電話会議に入るときにのみ）制限する通信媒体ルール：
グループ又はノードのプレゼンス決定を状態に基づいて制限する（例えばプレゼンスはメンバーが働いている（休暇中でない）場合のみ）状態制限ルール
である。これ等のルールは、グループ・モデル１００内に適用されるか或いはグループ・モデル１００内のノードに適用される。
【００２６】
ユーザ・インターフェース３０８は、図８に記載したあらゆる種類のユーザ・インターフェースである。ユーザがグループを生成する或いは管理したいと思う場合がある。この場合、グループとルールを修正或いは創設するために、ユーザは、グループ定義コンポーネント３０４、企業ディレクトリ３０２、ルール定義コンポーネント３１０に、ユーザ・インターフェース３０８を介して、インターフェースする。斯くして、ユーザは、ビジネス論理３０６だけで指示されてはいないカスタム・グループ又はカスタム・ルールを創設することが出来る。
【００２７】
データ構造４００，４０２は、ルールデータベース２０６に記憶され、ルール・エンジン２０４により取り出され、図４Ａ，４Ｂに示すグループ・プレゼンス決定する。データ構造４００，４０２は、データベースシステム、データ記憶システム、プロトコルにセーブされる。更にデータ構造４００，４０２は、グループ定義コンポーネント３０４又はルール定義コンポーネント３１０の何れかで形成される。一実施例において、データ構造４００は、グループ定義である。データ構造４００は、グループ識別子４０４と、階層４０６、ノード１識別子４０８と、構成員４１０と、しきい値４１２のデータ・フィールドを含む。データ構造４００の数は、図４Ａに示すよりも多くても少なくてもよい。これは黒丸４１４で示す。
【００２８】
グループ識別子データ・フィールドであるグループ識別子４０４は、識別子（例：globally unique identifier GUID）を有し、これを用いてグループを特定できる。グループ識別子４０４を用いて、グループの決定されたプレゼンスを発行できる。斯くして、グループ・プレゼンスに関連するアプリケーション或いは他のワークフローが、グループ識別子４０４に関連するプレゼンス情報を受領する為に、加わる。階層データ・フィールド４０６は、グループ用の階層配列を規定する。一実施例において、階層データ・フィールド４０６は、階層のトップノード或いは後続の分岐点のノードを特定する。この特定は、ノード識別子と、ノードが割り当てられた分岐点の数或いはシンボルを用いて、行われる。更に、階層データ・フィールド４０６は、ノード間の相互関係を規定する。言い換えると、階層データ・フィールド４０６は、そのノードに関連するチルドレンノード或いはペアレントノードのノード識別子をリストアップする。
【００２９】
ノード１識別子データ・フィールド４０８は、グループに関連する複数のノードを特定する。ノード１識別子データ・フィールド４０８は、データ構造４０２に向けたあらゆるタイプの識別子又はポインターである。構成員データ・フィールド４１０は、グループに対する構成員情報を有する。構成員情報４１０は個人を含むが、この個人はグループ４００のメンバーであるがサブグループのメンバーではない。更に構成員情報４１０は、メンバーを規定するルールを含む。例えばこのルールは、図３に開示されている。しきい値データ・フィールド４１２は、あるルールを有する。このルールを用いて、グループのプレゼンスが何時あるかを決定する。このルールは図３に示す。
【００３０】
図４Ｂに、ノード定義データ構造４０２を示す。データ構造４０２は、ノード１識別子４１６と、構成員４１８と、しきい値４２０とを含む。データ構造４０２は、図４に示す以上のデータフィールド或いはそれ以下のデータフィールドを有する。これは黒丸４２２で示す。ノード１識別子４１６は、ノードを識別する。ノード１識別子４１６は、あらゆるタイプの識別子（例：ＧＵＩＤ）或いはデータ構造４０２又は４００へのリンクである。構成員４１８は、グループ定義４００の場合と同様に、ノード用の構成員情報を含む。構成員４１８は、ノード識別子或いはノードのメンバーである個人又はサブグループ用の識別子を含む。更に構成員４１８は、メンバーを規定するルールを含む。例えば、これは図３に示すルールである。しきい値４２０は、何時ノードの構成員がプレゼンスしているかを決定するために用いるルールを有する。しきい値４２０は、図３に記載したようなルールを有する。
【００３１】
図５に、グループ／ルールの規定を生成する本発明の方法５００を示す。本発明の方法５００は、開始ステップ５０２で開始し、終了ステップ５１８で終了する。方法５００のステップの順番を図５に示すが、本発明の方法５００を構成するステップの数は、これ以上でも以下でもよく、又異なる順番のステップを有してもよい。方法５００は、コンピュータで読み取り可能な媒体で実行され、符号化され記憶される。以下、本発明の方法５００は、図１−４Ｂに説明するシステム、システムの構成要素、モジュール、ソフトウエア、データ構造を参照して以下に説明する。
【００３２】
グループ定義コンポーネント３０４又はルール定義コンポーネント３１０は、ビジネス論理３０６を企業ディレクトリ３０２から受領する（ステップ５０４）。ビジネス論理３０６は、グループの構成員或いはグループの構成員を支配するルールを規定する。ユーザは、グループの形成を開始するが、これは、信号を、ユーザ・インターフェース３０８を介して、グループ定義コンポーネント３０４，ルール定義コンポーネント３１０，企業ディレクトリ３０２に送ることにより、行う。他の実施例においては、グループは、企業ディレクトリ３０２内のビジネス論理３０６の創設或いは修正に応じて、自動的に生成される。言い換えると、企業ディレクトリ３０２は、自動的に変更情報を、ビジネス論理３０６，グループ定義コンポーネント３０４，ルール定義コンポーネント３１０に入力して、グループの修正或いは創設を行う。
【００３３】
グループ定義コンポーネント３０４は、グループの構造を、ビジネス論理３０６に基づいて、決定する（ステップ５０６）。グループ定義コンポーネント３０４は、グループ・モデル１００をビジネス論理３０６に基づいて、創設する（これは図３で説明した通りである）。グループ構造１００は、複数のノードを有する階層を含む。斯くして、グループ定義コンポーネント３０４は、グループ定義４００又はノード定義４０２を創設して、グループ・モデル１００を創設する。ビジネス論理３０６は、グループ定義４００又はノード定義４０２の数とコンテンツを規定する。これは図４Ａ、４Ｂで説明した通りである。更にグループ定義コンポーネント３０４は、グループの階層を、ビジネス論理３０６に基づいて、決定する（ステップ５０８）。ビジネス論理３０６は、どの個人或いはサブグループ１０４，１０８がノード（メイングループ）１０２又は他のサブグループを形成するかを規定する。斯くして、グループ・モデル１００のメンバーは、他のグループ、サブグループ、個人の集合体である。その後、グループ定義コンポーネント３０４は、ノード１識別子４０８又は階層４０６を、グループ定義４００又はノード定義４０２内に、組み込む。一実施例においてはあるグループは個人のみを含み、この場合、本発明のプロセスは、ステップ５０４からステップ５１０に、パス５２０を介して、進む。ステップ５０６，５０８をスキップする。
【００３４】
ルール定義コンポーネント３１０は、複数のノード１０２−１１８のそれぞれに対する構成員を決定する（ステップ５１０）。ルール定義コンポーネント３１０は、ビジネス論理から、各ノードのメンバーである個人を特定する属性或いは識別子を決定し、この属性或いは識別子を企業ディレクトリ３０２から抽出する。例えば３人の取締役がグループに必要とされる場合には、ルール定義コンポーネント３１０は、取締役の肩書き識別子或いは現在の取締役に対する従業員識別子の何れかを決定する。この属性或いは識別子は、グループ或いはノード用の構成員データ・フィールド４１０又は４１８内に記憶される。
【００３５】
ルール定義コンポーネント３１０は、グループ内の複数の各ノードに対するしきい値を決定する（ステップ５１２）。このしきい値は、ノードの構成員がいるか否かを決定する。しきい値は、ビジネス論理３０６により決定され、ルールを含む（図３）。グループの構成と構成員を支配するルールは、ステップ５１４で形成され、ステップ５１６で、しきい値データ・フィールド４１２又は４２０内に記憶される。一実施例において、ルール定義コンポーネント３１０も又ルール（プレゼンスが如何に決定されるを制限するルール）を規定することができる。このルールの一例は図３で説明した。これ等のルール或いはアルゴリズムが、グループ・プレゼンスを規定し、これはビジネス論理３０６に基づいて規定される。斯くしてルールは、ビジネス論理３０６が変わると、変わる。
【００３６】
図６に、グループのプレゼンスを生成する本発明の方法６００を示す。本発明の方法６００は、開始ステップ６０２で開始し、終了ステップ６１８で終了する。方法６００のステップの順番を図６に示すが、本発明の方法６００を構成するステップの数は、これ以上でも以下でもよく、又異なる順番のステップを有してもよい。本発明の方法６００は、コンピュータで読み取り可能な媒体で実行され、符号化され記憶される。以下、本発明の方法６００は、図１−４Ｂに説明するシステム、システムの構成要素、モジュール、ソフトウエア、データ構造を参照して以下に説明する。
【００３７】
ルール・エンジン２０４は、プレゼンス・イベントを受領する（ステップ６０４）。このプレゼンス・イベントは、個人に対するプレゼンス状態の変更、グループルールを規定するビジネス対象の変更、ノードの構成員の変更（例：新たな取締役の識別子により規定されるグループ用に採用される）、グループの階層に対する変更、グループのノードに対する変更である。言い換えると、プレゼンス・イベントは、グループのプレゼンスに影響を及ぼすようなあらゆる変更である。例えば、プレゼンス・イベントは、サブグループ、個人或いはグループのメンバーの一部である他のエンティティのプレゼンス状態の変更である。更にプレゼンス・イベントは、ビジネス論理の変更である。これはグループ構成の変更、グループ・ルールの変更、新たなグループ創設である。ルール・エンジン２０４は、プレゼンス・サーバ２０２に入ることにより、プレゼンス事象の警報が与えられ、その結果、複数の個人のプレゼンス状態を得る。プレゼンス状態の変更が起きると、プレゼンス・サーバ２０２は、新たなプレゼンス状態をルール・エンジン２０４に送る。一実施例において、企業サーバ３０２，ルールデータベース２０６，グループ定義コンポーネント３０４，ルール定義コンポーネント３１０は、信号をルール・エンジン２０４に送り、グループ或いはルールの規定に対する変更を、ビジネス論理３０６への変更に基づいて、通知する。
【００３８】
ルール・エンジン２０４は、プレゼンス・イベントにより影響されるグループの適用可能なルールをその後規定する（ステップ６０６）。一実施例において、プレゼンス状態の変更は、グループ識別子４０４により特定される。ルール・エンジン２０４は、データベースサーチをルールデータベース２０６に送り、グループ識別子４０４を得る。ルールデータベース２０６は、グループ定義４００とノード定義４０２を返す。一般的にグループ・モデル１００は、複数のノードを有する。グループ定義４００とノード定義４０２を受領した後、ルール・エンジン２０４は、グループ定義４００で規定されたグループ・モデル１００又はノード定義４０２を用いて、グループ・プレゼンスを決定する。
【００３９】
グループ・プレゼンスを決定するために、ルール・エンジン２０４は、グループ・モデル１００に関連する階層をノード１１０まで調査する（ステップ６０８）。一実施例において、ルール・エンジン２０４は、グループ・モデル１００内の最下位ノード１１０、１１２，１１４，１１８まで階層を横切る（調べる）。階層を横切るために、ルール・エンジン２０４は、階層情報４０６を解釈して、最低ノードのノード定義４０２を決定する。他の実施例において、ルール・エンジン２０４は、ノード１識別子４０８内のポイター或いは識別子に従って、ノード定義４０２に行く。ノード１識別子４１６において、ルール・エンジン２０４は、ノードがチャイルドノードを有するか否かを決定し、このチャイルドノードのポインター或いは識別子に追従する。プロセスは、ルール・エンジン２０４が、他のノードへの識別子或いはポインターを有しないノードに達するまで、継続する。
【００４０】
階層を横切ってノードに達した後、ルール・エンジン２０４は、ノードのプレゼンスを決定する（ステップ６１０）。ルール・エンジン２０４は、しきい値ルール４２０と構成員情報４１８に基づいて、ノードのプレゼンスを決定し、ノードとしきい値４２０を得る。構成員情報４１８は、複数の個人或いはグループを有し、しきい値は、ノードの構成員４１８が存在する時を規定するルールにより決定される。一般に、最低ノード（例えばノード１１０，１１２，１１４，１１８）は、個人を表すである。斯くして最低ノードにおいて、ノードは少なくとも１人の個人のプレゼンスに関連し、ルール・エンジン２０４は、その個人のプレゼンス情報をプレゼンス・サーバ２０２から得て、ノードに対するプレゼンス状態を決定する。
【００４１】
一実施例においては、ノードに関連する個人は、企業ディレクトリ３０２内に記憶される個人の属性に基づいて、表現される。この状況において、ルール・エンジン２０４は、ＬＤＡＰ問い合わせを企業ディレクトリ３０２に送り、その属性を有する個人に対する識別子を、企業ディレクトリ３０２から取り出し、ノードのプレゼンスを決定する。その後、ルール・エンジン２０４は、その個人のプレゼンス情報２０８をプレゼンス・サーバ２０２から取り出す。ノードがペアレントノードの場合、プレゼンスは、チルドレンノードのプレゼンス状態により決定される。言い換えると、ノードは、サブグループのプレゼンスに関連し、このサブグループは複数の個人を有する。各インスタンスにおいて、ルール・エンジン２０４は、そのノードの構成員情報４１８を取り出し、データフィールド４２０内に記憶されているしきい値ルールと他のルールを適用して、ノード定義４０２を得る。
【００４２】
ルール・エンジン２０４は、グループ内のノードに対するプレゼンス状態を決定するプロセスを開始する。ルール・エンジン２０４は、別のノードがグループ・モデル１００内に存在するか否かを決定する（ステップ６１２）。ノードの状態を決定した後、ルール・エンジン２０４は、そのノードが別のノードのチャイルド・ノードか否かを決定する。そのノードがチャイルドノードであるか否かを決定するために、ルール・エンジン２０４は、他のノードは、ノード識別子４０８内に、現在のノードのノード識別子４１６を有するか否かを決定する。他の実施例において、ノード定義４０２は、チャイルドノードに関連するペアレントノードの識別子を含む。グループ・モデル１００内に他のノードがある場合には、本発明の方法６００は「ＹＥＳ」でステップ６０８の戻り、階層を他のノードまで横切り、この他のノードのプレゼンス状態を決定する（ステップ６１０）。グループ・モデル１００を最低のノードから上方向に横切ることにより、ルール・エンジン２０４は、各サブグループそして最終的にグループ・ノード１０２の状態を決定する。グループ・モデル１００内に他のノードが存在しない場合には、本発明の方法６００は、「ＮＯ」でステップ６１４に行く。
【００４３】
サブグループと個人に対する全てのノードが決定された後、ルール・エンジン２０４は、複数の下位のレベルのノードのプレゼンスに基づいて、グループのプレゼンスを決定する（ステップ６１４）。ここで、ルール・エンジン２０４は、グループに対する構成員又はしきい値ルールを決定する。下位レベルのノードの決定された状態を利用して、ルール・エンジン２０４は、しきい値ルールを適用して、グループのプレゼンスを決定する。斯くして、ルール・エンジン２０４は、グループ・プレゼンス情報２１０を他のワークフロー２１６，アプリケーション２２０，エンドユーザ２２，他の関連あるエンティティに発行する（ステップ６１６）。ここで、他のワークフロー２１６，アプリケーション２２０，エンドユーザ２２、他のエンティティは、加入して、グループ・プレゼンス情報２１０を受領する。ルール・エンジン２０４は、グループ・プレゼンス情報２１０を加入者に送る。
【００４４】
図７は、コンピュータ環境７００を示し、これは、システム２００，２１２，２１８，３００或いは他のシステムを有する。ユーザ・コンピュータ７０５，７１０，７１５  は、汎用パソコン（一例としてマイクロソフト社のウインドウズやアップル社のマッキントッシュで動作するラップトップコンピュータ）、ユニックス・オペレーティング・システムで動作するワークステーション・コンピュータである。ユーザ・コンピュータ７０５，７１０，７１５は、様々なアプリケーション、データベースクライアント、サーバアプリケーション、ウエブ・ブラウザ・アプリケーションを有する。別の構成として、ユーザ・コンピュータ７０５、７１０，７１５は、シン・クライアント・コンピュータ、携帯電話或いはモバイルデバイス等の電子デバイスである。インターネットで可能となる携帯電話或いはパーソナル・デジタル・アシスタントは、ネットワークを介して通信し、他のタイプの電子データを表示しナビゲートする。本発明７００は、コンピュータで３個のコンピュータを示したが、あらゆる数のコンピュータも本発明はサポートできる。
【００４５】
コンピュータ環境７００は、ネットワーク７２０を含む。ネットワーク７２０は、あらゆるタイプのネットワークで例えばＴＣＰ／ＩＰ、ＳＮＡ、ＩＰＸ、AppleTalk等である。又ネットワーク７２０は、ＬＡＮ、イーサーネットワーク、トークンリングネットワーク或いはＷＡＮ；仮想ネットワーク例えばＶＰＮインターネット、イントラネット、エクストラネット、ＰＳＴＮ、赤外線ネットワーク、無線ネットワーク或いはそれ等の組み合わせを含む。その例としては、ネットワークは、ＩＥＥＥ  ７０２．１１に適したプロトコルの下で動作するかブルートゥースのプロトコル、或いは他の無線プロトコルの下で動作する。ネットワーク７２０は、様々なシステムと構成要素の間の通信が可能となるネットワークである。
【００４６】
コンピュータ環境７００は、サーバ７２５，７３０を含む。サーバ７２５，７３０は、システム２００，２１２，２１８，３００の何れかを表す。サーバは、ウエブサーバ７２５であり、これを用いて、ユーザ・コンピュータ７０５，７１０、ネットワーク７２０からウエブページ或いは電子ドキュメントのリクエストを処理する。ウエブサーバは、上記したＯＳで動く。ウエブサーバ７２５は、ＨＴＴＰサーバ、ＦＴＰサーバ、ＣＧＩサーバ、データベースサーバ、ＪＡＶＡサーバ等を含む様々なサーバ・アプリケーションを動かす。一実施例において、サーバ７２５は、ウエブ・サービスとしてオペレーションを発行する。
【００４７】
コンピュータ環境７００は、ファイル又はサーバ７３０を有する。このサーバ７３０は、上記のＯＳに加えて、ユーザ・コンピュータ７０５，７１０，７１５  上で走るクライアントによりアクセス可能なアプリケーションを含む。サーバ７３０は、ユーザ・コンピュータ７０５，７１０，７１５に応答して、プログラム又はスクリプトを実行する汎用コンピュータである。一例として、サーバは、ウエブ・アプリケーションを実行する。ウエブ・アプリケーションは、プログラム言語例えばＪａｖａＴＭ、Ｃ、Ｃ＃（登録商標）、又はＣ＋＋のようなプログラム言語で書かれたプログラム或いはスクリプトで実行できる。或いは、スクリプト言語例えばＰｅｒｌ、Ｐｙｔｈｏｎ或いはＴＣＬ等である。サーバ７３０は、データベース・サーバ例えばオラクル、マイクロソフト、サイベースＴＭ、ＩＢＭＴＭから市販されているデータベース・サーバを含む。そしてこれ等はユーザ・コンピュータ７０５上で動くデータベース・クライアントからのリクエストを処理出来る。
【００４８】
サーバ７３０により創設されたウエブページは、ユーザ・コンピュータ７０５にサーバ７２５を介して転送される。同様にサーバ７２５は、ウエブページ・リクエスト、ウエブサービスインボケーション、入力データ等をユーザ・コンピュータ７０５から受領し、このウエブページ・リクエスト又は入力データをサーバ７３０に送る。一実施例において、サーバ７３０は、ファイルサーバとして機能する。図７は別個のサーバ７２５又は７３０を別の形態で示すが、サーバ７２５，７３０で記載した機能は、１個のサーバ或いは複数の特殊サーバで実行することも出来る。
【００４９】
コンピュータ環境７００は、データベース７３５を有する。このデータベース７３５は、ルールデータベース２０６と同一或いは類似である。データベース７３５は、様々な場所に配置可能である。一例として、データベース７３５は、ユーザ・コンピュータ７０５，７１０，７１５、サーバ７２５，７３０これ等に配置された記憶媒体上にあるか、或いはそれ等から離れた場所にあるが、ネットワーク７２０を介して互いに通信可能である。一実施例において、データベース７３５は、ＳＡＮ（storage-area network）にある。同様にユーザ・コンピュータ７０５，７１０，７１５、サーバ７２５，７３０への属性に帰属する機能を実行する必要なファイルはそれぞれのコンピュータ上にあるか或いはそれから離れた場所にある。一実施例において、データベース７３５は、リレーショナル・データベースであり、例えばオラクル、１０ｉ（登録商標）であり、ＳＱＬフォーマットのコマンドに応答して、データを記憶し更新し取り出すことが出来る。データベース７３５は、データ構造４００と４０２を記憶できる。
【００５０】
図８は、コンピュータ・システム８００の一例である。このコンピュータ・システム８００上で、システム２００，２１２，２１８，３００が実行される。コンピュータ・システム８００は、ＣＰＵ８５５を介して接続されたハードウエア要素を含む。このハードウエア要素は、ＣＰＵ８０５と入力装置８１０（マウスとキーボード等）と、出力装置８１５（ディスプレイ或いはプリンター等）とを有する。コンピュータ・システム８００は、記憶装置８２０を有する。
【００５１】
コンピュータ・システム８００は、更に記憶媒体８２５，通信システム８３０（モデム、ネットワークカード（有線又は無線）、無線通信デバイス），作業メモリ８４０を含む。作業メモリ８４０は、ＲＡＭ、ＲＯＭ等を含む。一実施例において、コンピュータ・システム８００は、処理加速器８３５を含む。処理加速器８３５はＤＳＰ、特殊目的プロセッサを含む。
【００５２】
記憶媒体８２５は、他のコンピュータで読み取り可能な記憶媒体に接続可能で、これ等は遠隔地或いは局部的固定型或いは取り外し可能な記憶媒体プラスの記憶媒体でコンピュータで読み取り可能な情報を一時的或いは永続的に記憶する。通信システム８３０はデータが記憶装置８２０或いは８００に関連した他のコンピュータと交換可能となるようにしている。
【００５３】
コンピュータ・システム８００は、作業メモリ８４０内にあるソフトウエア要素を含む。このソフトウエア要素は、オペレーティング・システム８４５又は他のコード（プログラム）８５０を含む。これ等の一例は、ソフトウエア或いはその構成要素を実行するプログラムコードである。
【００５４】
用語「コンピュータで読み取り可能な媒体」とは、コンピュータが実行するプロセスを記憶する媒体或いは伝送媒体を意味する。媒体とは、非揮発性媒体、揮発性媒体、伝送媒体を意味する。非揮発性の媒体とは、ＮＶＲＡＭ、磁気ディスク又は光学ディスクである。揮発性媒体とは、ＤＲＡＭ、メインメモリを意味する。このコンピュータで読み取り可能な媒体の一般的なものとしては、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気ディスク、他の磁気媒体、磁気光学媒体、ＣＤ−ＲＯＭ、パンチカード、ペーパーテープ等、更にＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＦＬＡＳＨ−ＥＰＲＯＭ、メモリカード、メモリチップ、或いはカートリッジ等がある。ｅ−ｍａｉｌ或いは他の自己保存型の情報アーカイブに付属したデジタルファイルは、記憶媒体に等価な分配型の記憶媒体であり、本発明でいう記憶媒体と見なすことができる。コンピュータで読み取り可能な媒体がデータベースとして構築された場合には、このデータベースは、あらゆる種類のデータベース、例えば関連型、階層型、オブジェクト志向型のいずれをも含む。
冗長な説明を回避するために公知の構造については省略した、或いはブラックボックスの形態で示している。この省略は本発明の範囲を制限するものではない。ここに開示した実施例は、発明を理解するためのものであり、本発明は個々に述べた特定の実施例以外の様々な方法で実現できる。
ここで議論したフローチャートは、特定のイベントのシーケンスを例に説明するが、本発明の操作に影響を及ぼすことなく、これ等のシーケンスの変更、追加、一部省略も可能である。本発明のシステムと方法は、特殊コンピュータ、プログラムされたマイクロプロセッサ、マイクロコントローラ、ＡＳＩＣ、他の集積回路ＤＳＰ、ハードワイヤド電子素子、論理素子、例えばディスクリートな要素回路、プログラム可能な論理回路、ゲートアレイ、例えばＰＬＤ、ＰＬＡ、ＦＰＧＡ、ＰＡＬ、特殊目的コンピュータ或いは他の手段で実現できる。
本発明を実施するのに用いられるハードウエアは、コンピュータ、携帯用装置、電話器（携帯電話、インターネット電話、デジタル、アナログそれ等の組合せの電話）や他の公知のハードウエアである。これ等の装置のあるものは、プロセッサ（例；シングル又はマルチプルのマイクロプロセッサ）、メモリ、非揮発性記憶媒体、入力装置、出力装置等を含む。更に別の形態のソフトウエアの実行は、分散型の処理、要素／目的型の分散型処理、並列処理或いは仮想機械処理で実行される。
他の実施例に於いては、ここに開示された方法は、オブジェクト指向のソフトウエア開発環境を用いたソフトウエアと組み合わせて実現できる。このソフトウエア環境は、様々なコンピュータ又はワークステーションで使用されるポータブルなソースコードを提供する。別の構成として、開示されたシステムは、標準の論理回路又はＶＬＳＩデザインを用いて一部又は全部のハードウエアで実現できる。本発明のシステムを実行するのにハードウエア又はソフトウエアを用いるかは、システムに要求される速度と効率に依存する。特に使用される特定のソフトウエア、ハードウエアのシステム、マイクロプロセッサ又はマイクロコンピュータシステムに依存する。
他の実施例に於いては、開示された方法は、コンピュータで読み取り可能な記憶媒体に記憶されたソフトウエアで実行され、コントローラとメモリとを有するプログラムされた汎用コンピュータ、特殊目的コンピュータ、マイクロプロセッサ等で実施される。これ等の実施例に於いては、本発明のシステムと方法は、パソコンに組み込まれたプログラムで実行できる。例えばアプレット、ＪＡＶＡ、ＣＧＩスクプリト、サーバ或いはコンピュータ、ワークステーションに記録された資源或いは専用の測定システムに組み込まれたルーチン等で実施できる。
本発明のシステムは、本発明のシステムと方法をソフトウエア又はハードウエアのシステムに物理的に組み込むことにより実施することもできる。  本発明は、特定の標準及びプロトコルを例に説明したが、本発明はこのような標準とプロトコルに制限されるものではない。他の類似の標準とプロトコルも本発明で用いることができる。これ等の標準とプロトコルは、今後開発されるより効率的な標準とプロトコルで置換されるかも知れないが、このような置換も本発明の一態様（一実施例）と考えられる。
【００５５】
以上の説明は、本発明の一実施例に関するもので、この技術分野の当業者であれば、本発明の種々の変形例を考え得るが、それらはいずれも本発明の技術的範囲に包含される。特許請求の範囲の構成要素の後に記載した括弧内の番号は、図面の部品番号に対応し、発明の容易なる理解の為に付したものであり、発明を限定的に解釈するために用いてはならない。また、同一番号でも明細書と特許請求の範囲の部品名は必ずしも同一ではない。これは上記した理由による。用語「又は」に関して、例えば「Ａ又はＢ」は、「Ａのみ」、「Ｂのみ」ならず、「ＡとＢの両方」を選択することも含む。特に記載のない限り、装置又は手段の数は、単数か複数かを問わない。
【符号の説明】
【００５６】
１０２  メイングループのプレゼンス
１０４  グループ１のプレゼンス
１０６  構成員５のプレゼンス
１０８  グループ２のプレゼンス
１１０  構成員１のプレゼンス
１１２  構成員２のプレゼンス
１１４  構成員３のプレゼンス
１１８  構成員４のプレゼンス
２００
２０２  プレゼンス・サーバ
２０４  ルール・エンジン
２０６  ルールデータベース
２０８  プレゼンス情報
２１０  グループ・プレゼンス情報
２１２  システム
２１４  アジャンクト
２１６  他のワークフロー
２１８  システム
２２０  アプリケーション
２２２  エンドユーザ
３００  
３０２  企業ディレクトリ
３０４  グループ定義コンポーネント
３０６  ビジネス論理
３０８  ユーザ・インターフェース
３１０  ルール定義コンポーネント
３１２  ＬＤＡＰリクエスト／取り出し
４００
４０４  グループ識別子
４０６  階層
４０８  ノード１識別子
４１０  構成員
４１２  しきい値
４１６  ノード１識別子
４１８  構成員
４２０  しきい値
７００
７０５，７１０，７１５  ユーザ・コンピュータ
７２０  ネットワーク
７２５，７３０  サーバ
７３５  データベース
８０５  ＣＰＵ
８１０  入力装置
８１５  出力装置
８２０  記憶装置
８２５  記憶媒体リーダー
８３０  通信システム
８３５  処理加速器
８４０  作業メモリ
８４５  オペレーティング・システム
８５０  他のコード（プログラム）
図５
Ｓ５０２：開始
Ｓ５０４：グループ用のビジネス論理を受領する
Ｓ５０６：グループ構造を決定する
Ｓ５０８：グループ階層を決定する
Ｓ５１０：各ノードの構成員を決定する
Ｓ５１２：各ノードのしきい値を決定する
Ｓ５１４：グループ用のルール／アルゴリズムを創設する
Ｓ５１６：ルール／アルゴリズムを記憶する
Ｓ５１８：終了
図６
Ｓ６０２：開始
Ｓ６０４：プレゼンス・イベントを受領する
Ｓ６０６：適用可能なグループルールを決定する
Ｓ６０８：ノードへの階層を横切る
Ｓ６１０：ノード用のプレゼンスを決定する
Ｓ６１２：他のノードが存在するか否かを決定する
Ｓ６１４：グループ用のプレゼンスを決定する
Ｓ６１６：プレゼンスを発行する
Ｓ６１８：終了
【図１】
0005438644.tif 000002
【図２Ａ】
0005438644.tif 000003
【図２Ｂ】
0005438644.tif 000004
【図２Ｃ】
0005438644.tif 000005
【図３】
0005438644.tif 000006
【図４Ａ】
0005438644.tif 000007
【図４Ｂ】
0005438644.tif 000008
【図５】
0005438644.tif 000009
【図６】
0005438644.tif 000010
【図７】
0005438644.tif 000011
【図８】
0005438644.tif 000012