(57)【特許請求の範囲】
【請求項１】
要素の状態を表すプレゼンスを管理する複数の異なるプレゼンスソースに個別に接続し、プレゼンスソースごとのフォーマットで管理された複数のプレゼンスを収集する収集手段と、
前記収集手段によって収集された各プレゼンスをプレゼンスソースに依存しない共通フォーマットの一次プレゼンスに変換する変換手段と、
前記変換手段によって変換されて得られた複数の一次プレゼンスを記憶する記憶手段と、
前記記憶手段によって記憶された複数の一次プレゼンスのうち、前記要素の予定を示す一次プレゼンスと、前記要素の現在の状態を示す一次プレゼンスとを含む複数の一次プレゼンスを合成し、前記要素の行動を示す二次プレゼンスを生成する生成手段と
を有することを特徴とするプレゼンス合成装置。
【請求項２】
前記収集手段は、
要素の識別情報および要素の状態がプレゼンスソースごとの独自のフォーマットで格納されたプレゼンスを収集し、
前記変換手段は、
要素の識別情報をプレゼンスソースに依存しない共通識別情報に変換するとともに、要素の状態を状態種別情報と実際の状態情報とに分離して一次プレゼンスへの変換を行うことを特徴とする請求項１記載のプレゼンス合成装置。
【請求項３】
前記変換手段は、
異なるプレゼンスソースから取得された同一の要素または組となる要素の識別情報を同一の共通識別情報に変換することを特徴とする請求項２記載のプレゼンス合成装置。
【請求項４】
外部のアプリケーションから指定される条件に一致する一次プレゼンスまたは二次プレゼンスを当該アプリケーションへ提供する提供手段をさらに有することを特徴とする請求項１記載のプレゼンス合成装置。
【請求項５】
前記提供手段は、
外部のアプリケーションから指定される条件と当該条件が有効な有効期限とを対応付けて保持する条件テーブルを含み、
前記条件テーブルに保持された条件の有効期限前において、この条件に一致する一次プレゼンスまたは二次プレゼンスがある場合に、当該一次プレゼンスまたは二次プレゼンスをアプリケーションへ提供することを特徴とする請求項４記載のプレゼンス合成装置。
【請求項６】
前記提供手段は、
外部のアプリケーションから指定される条件と必要とされる過去のプレゼンス数を示す履歴数とを受信し、受信された条件に一致する一次プレゼンスまたは二次プレゼンスがある場合に、最新のものから履歴数分の当該一次プレゼンスまたは二次プレゼンスをアプリケーションへ提供することを特徴とする請求項４記載のプレゼンス合成装置。
【請求項７】
前記生成手段は、
前記記憶手段によって記憶された一次プレゼンスが更新されたか否かを監視する監視手段と、
前記監視手段によって一次プレゼンスの更新が検知された場合に、更新後の一次プレゼンスとこの一次プレゼンスに合成される関連プレゼンスとを前記記憶手段から取得する取得手段とを含み、
前記取得手段によって取得された更新後の一次プレゼンスおよび関連プレゼンスから二次プレゼンスを生成することを特徴とする請求項１記載のプレゼンス合成装置。
【請求項８】
前記取得手段は、
前記生成手段によって更新前の一次プレゼンスに合成された一次プレゼンスを関連プレゼンスとして取得することを特徴とする請求項７記載のプレゼンス合成装置。
【請求項９】
コンピュータによって実行されるプレゼンス合成プログラムであって、前記コンピュータに、
要素の状態を表すプレゼンスを管理する複数の異なるプレゼンスソースに個別に接続し、プレゼンスソースごとのフォーマットで管理された複数のプレゼンスを収集する収集ステップと、
前記収集ステップにて収集された各プレゼンスをプレゼンスソースに依存しない共通フォーマットの一次プレゼンスに変換する変換ステップと、
前記変換ステップにて変換されて得られた複数の一次プレゼンスのうち、前記要素の予定を示す一次プレゼンスと、前記要素の現在の状態を示す一次プレゼンスとを含む複数の一次プレゼンスを合成し、前記要素の行動を示す二次プレゼンスを生成する生成ステップと
を実行させることを特徴とするプレゼンス合成プログラム。
【請求項１０】
要素の状態を表すプレゼンスを管理する複数の異なるプレゼンスソースに個別に接続するプレゼンス合成装置が、
前記プレゼンスソースごとのフォーマットで管理された複数のプレゼンスを前記プレゼンスソースから収集する収集ステップと、
前記収集ステップにて収集された各プレゼンスを前記プレゼンスソースに依存しない共通フォーマットの一次プレゼンスに変換する変換ステップと、
前記変換ステップにて変換されて得られた複数の一次プレゼンスのうち、前記要素の予定を示す一次プレゼンスと、前記要素の現在の状態を示す一次プレゼンスとを含む複数の一次プレゼンスを合成し、前記要素の行動を示す二次プレゼンスを生成する生成ステップと
を実行することを特徴とするプレゼンス合成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プレゼンス合成装置、プレゼンス合成プログラム、およびプレゼンス合成方法に関し、特に、複数の異なるプレゼンスソースから効率的にプレゼンスを収集し、アプリケーションが容易に利用可能な形式で合成することができるプレゼンス合成装置、プレゼンス合成プログラム、およびプレゼンス合成方法に関する。
【背景技術】
【０００２】
近年、人、モノ、または機器などのネットワーク内の要素にそれぞれの状態を示すプレゼンスと呼ばれる情報を関連付け、各要素のプレゼンスを管理したり、ネットワーク内で共有可能にしたりするサービスがある。具体的には、例えばＩＰ（Internet Protocol）メッセンジャーでは、企業内ＬＡＮ（Local Area Network）などの特定のネットワークに属するユーザそれぞれに「電話中」、「会議中」、または「出張中」などのプレゼンスが関連付けられ、ネットワーク内の各ユーザは、他のユーザの状態を把握することが可能となっている。また、例えば携帯電話網などの無線通信システムでは、各携帯電話の通信圏内にある基地局の位置の情報やＧＰＳ（Global Positioning System）によって得られる情報から、それぞれの携帯電話に位置情報というプレゼンスが関連付けられている。
【０００３】
このようなプレゼンスは、それぞれのシステムやネットワークなどのプレゼンスソース内において、独自のプロトコルやデータ形式で通信・保持されており、各プレゼンスソース内では一元的に管理されている。具体的には、例えばＩＥＴＦ（Internet Engineering Task Force）のＲＦＣ（Request For Comment）３８５６によって規定されているＳＩＭＰＬＥ（SIP for Instant Messaging and Presence Leveraging Extensions）などのプロトコルや、同じくＩＥＴＦのＲＦＣ３８６２によって規定されているＣＰＩＭ（Common Profile for Instant Messaging）などのデータ形式によってプレゼンスを管理するプレゼンスソースがある。
【０００４】
したがって、例えばアプリケーションなどによってプレゼンスが利用される場合には、それぞれのプレゼンスソースに独自のプロトコルやデータ形式でプレゼンスが収集され、アプリケーションは、収集されたプレゼンスに対して所定の処理を施すことになる。例えば特許文献１には、ユーザが設定する通知ポリシによって他のユーザへ通知するプレゼンスが選択され、選択されたプレゼンスがサーバによって収集されて他のユーザへ通知される技術が開示されている。
【０００５】
【特許文献１】特開２００６−２７７２４３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述したように、各プレゼンスソースでは独自のプロトコルおよびデータ形式でプレゼンスが管理されているため、複数の異なるプレゼンスソースからプレゼンスを取得してサービスを提供するのは困難であるという問題がある。すなわち、例えば複数の異なるプレゼンスソースから取得されるプレゼンスを横断的に利用するアプリケーションは、それぞれのプレゼンスソースに独自のプロトコルに対応した装置やプログラムによってプレゼンスソースに接続する必要がある。同様に、アプリケーションは、それぞれのプレゼンスソースに独自のデータ形式で管理されているプレゼンスを解釈し、データ形式の違いを吸収して処理を実行する必要が生じる。したがって、複数の異なるプレゼンスソースから収集されるプレゼンスを利用するためには、アプリケーションの開発量が増大してしまう。
【０００７】
また、プレゼンスソース側のプログラムを改造して、アプリケーションが利用可能な形式でプレゼンスをやり取りすることも考えられるが、特にプレゼンスソースが既存のものである場合には、プレゼンスのアプリケーションでの利用のためだけに、稼働中のプレゼンスソースを変更することになってしまい、効率が悪い。
【０００８】
一方、複数の異なるプレゼンスソースは、互いに関連するプレゼンスを管理していることも多く、これらのプレゼンスを横断的に利用することにより、幅広いサービスの実現が可能となるため、プレゼンスを合成して用いることが強く望まれている。
【０００９】
本発明はかかる点に鑑みてなされたものであり、複数の異なるプレゼンスソースから効率的にプレゼンスを収集し、アプリケーションが容易に利用可能な形式で合成することができるプレゼンス合成装置、プレゼンス合成プログラム、およびプレゼンス合成方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明に係るプレゼンス合成装置は、要素の状態を表すプレゼンスを管理する複数の異なるプレゼンスソースに個別に接続し、プレゼンスソースごとのフォーマットで管理されたプレゼンスを収集する収集手段と、前記収集手段によって収集されたプレゼンスをプレゼンスソースに依存しない共通フォーマットの一次プレゼンスに変換する変換手段と、前記変換手段によって変換されて得られた一次プレゼンスを記憶する記憶手段と、前記記憶手段によって記憶された一次プレゼンスを所定のルールに従って合成して二次プレゼンスを生成する生成手段とを有する構成を採る。
【００１１】
この構成によれば、各プレゼンスソースのプロトコルやデータ形式が異なっても、個別にプレゼンスソースに接続することによりプレゼンスが収集されるとともに、収集されたプレゼンスが横断的に利用可能な共通のフォーマットに変換される。このため、プレゼンスソース側のプログラムを改造することなく、複数の異なるプレゼンスソースから効率的にプレゼンスを収集し、アプリケーションが容易に利用可能な形式で合成することができる。
【００１２】
また、本発明に係るプレゼンス合成装置は、上記構成において、前記収集手段は、要素の識別情報および要素の状態がプレゼンスソースごとの独自のフォーマットで格納されたプレゼンスを収集し、前記変換手段は、要素の識別情報をプレゼンスソースに依存しない共通識別情報に変換するとともに、要素の状態を状態種別情報と実際の状態情報とに分離して一次プレゼンスへの変換を行う構成を採る。
【００１３】
この構成によれば、各プレゼンスソースの独自のフォーマットでプレゼンスに格納された情報を損なうことなく容易に共通のフォーマットに変換することができる。
【００１４】
また、本発明に係るプレゼンス合成装置は、上記構成において、前記変換手段は、異なるプレゼンスソースから取得された同一の要素または組となる要素の識別情報を同一の共通識別情報に変換する構成を採る。
【００１５】
この構成によれば、同一または組となる要素を共通識別情報によって関連付けることができ、効果的な一次プレゼンスの合成を実行することができる。
【００１６】
また、本発明に係るプレゼンス合成装置は、上記構成において、外部のアプリケーションから指定される条件に一致する一次プレゼンスまたは二次プレゼンスを当該アプリケーションへ提供する提供手段をさらに有する構成を採る。
【００１７】
この構成によれば、外部のアプリケーションが利用するプレゼンスをアプリケーションが利用しやすい形式で提供することができる。
【００１８】
また、本発明に係るプレゼンス合成装置は、上記構成において、前記提供手段は、外部のアプリケーションから指定される条件と当該条件が有効な有効期限とを対応付けて保持する条件テーブルを含み、前記条件テーブルに保持された条件の有効期限前において、この条件に一致する一次プレゼンスまたは二次プレゼンスがある場合に、当該一次プレゼンスまたは二次プレゼンスをアプリケーションへ提供する構成を採る。
【００１９】
この構成によれば、アプリケーションが指定するプレゼンスを確実にアプリケーションへ提供することができる。
【００２０】
また、本発明に係るプレゼンス合成装置は、上記構成において、前記提供手段は、外部のアプリケーションから指定される条件と必要とされる過去のプレゼンス数を示す履歴数とを受信し、受信された条件に一致する一次プレゼンスまたは二次プレゼンスがある場合に、最新のものから履歴数分の当該一次プレゼンスまたは二次プレゼンスをアプリケーションへ提供する構成を採る。
【００２１】
この構成によれば、アプリケーションが指定するプレゼンスをアプリケーションからの要求と同時にアプリケーションへ提供することができる。
【００２２】
また、本発明に係るプレゼンス合成装置は、上記構成において、前記生成手段は、前記記憶手段によって記憶された一次プレゼンスが更新されたか否かを監視する監視手段と、前記監視手段によって一次プレゼンスの更新が検知された場合に、更新後の一次プレゼンスとこの一次プレゼンスに合成される関連プレゼンスとを前記記憶手段から取得する取得手段とを含み、前記取得手段によって取得された更新後の一次プレゼンスおよび関連プレゼンスから二次プレゼンスを生成する構成を採る。
【００２３】
この構成によれば、一次プレゼンスが更新された場合に、この一次プレゼンスに関連する一次プレゼンスのみを取得し、取得された一次プレゼンスから二次プレゼンスを生成する。このため、一次プレゼンスを記憶するメモリへのアクセス頻度を低減することができ、負荷を最低限に抑制することができる。
【００２４】
また、本発明に係るプレゼンス合成装置は、上記構成において、前記取得手段は、前記生成手段によって更新前の一次プレゼンスに合成された一次プレゼンスを関連プレゼンスとして取得する構成を採る。
【００２５】
この構成によれば、一次プレゼンスの更新によって変更される可能性があるすべての二次プレゼンスを更新することができる。
【００２６】
また、本発明に係るプレゼンス合成プログラムは、コンピュータによって実行されるプレゼンス合成プログラムであって、前記コンピュータに、要素の状態を表すプレゼンスを管理する複数の異なるプレゼンスソースに個別に接続し、プレゼンスソースごとのフォーマットで管理されたプレゼンスを収集する収集ステップと、前記収集ステップにて収集されたプレゼンスをプレゼンスソースに依存しない共通フォーマットの一次プレゼンスに変換する変換ステップと、前記変換ステップにて変換されて得られた一次プレゼンスを所定のルールに従って合成して二次プレゼンスを生成する生成ステップとを実行させる。
【００２７】
また、本発明に係るプレゼンス合成方法は、要素の状態を表すプレゼンスを管理する複数の異なるプレゼンスソースに個別に接続し、プレゼンスソースごとのフォーマットで管理されたプレゼンスを収集する収集ステップと、前記収集ステップにて収集されたプレゼンスをプレゼンスソースに依存しない共通フォーマットの一次プレゼンスに変換する変換ステップと、前記変換ステップにて変換されて得られた一次プレゼンスを所定のルールに従って合成して二次プレゼンスを生成する生成ステップとを有するようにした。
【００２８】
これらによれば、各プレゼンスソースのプロトコルやデータ形式が異なっても、個別にプレゼンスソースに接続してプレゼンスを収集するとともに、収集されたプレゼンスが横断的に利用可能な共通のフォーマットに変換される。このため、プレゼンスソース側のプログラムを改造することなく、複数の異なるプレゼンスソースから効率的にプレゼンスを収集し、アプリケーションが容易に利用可能な形式で合成することができる。
【発明の効果】
【００２９】
本明細書に開示されたプレゼンス合成装置、プレゼンス合成プログラム、およびプレゼンス合成方法によれば、複数の異なるプレゼンスソースから効率的にプレゼンスを収集し、アプリケーションが容易に利用可能な形式で合成することができる。
【発明を実施するための最良の形態】
【００３０】
本発明の骨子は、状態を示すプレゼンスがそれぞれ人およびモノなどの要素に関連付けられるプレゼンスソースが複数ある場合に、各プレゼンスソース内で独自に要素に付与される識別情報およびプレゼンスをそれぞれのプレゼンスソースに対応するプロトコルで収集し、プレゼンスソースごとに異なる識別情報およびプレゼンスをプレゼンスソースに依存しない共通の識別情報およびプレゼンスに変換することである。以下、本発明の実施の形態について、図面を参照して詳細に説明する。
【００３１】
（実施の形態１）
図１は、本発明の実施の形態１に係るプレゼンス合成装置１００の要部構成を示すブロック図である。同図に示すプレゼンス合成装置１００は、ｎ個（ｎは２以上の整数）の異なるプレゼンスソース＃１〜＃ｎからプレゼンスを収集して合成し、合成して得られたプレゼンスをアプリケーションへ提供する。具体的には、プレゼンス合成装置１００は、プレゼンス取得部１０１−１〜１０１−ｎ、変換部１０２−１〜１０２−ｎ、一次プレゼンス記憶部１０３−１〜１０３−ｎ、二次プレゼンス生成部１０４−１、１０４−２、二次プレゼンス記憶部１０５−１、１０５−２、およびプレゼンス提供部１０６を有している。
【００３２】
プレゼンス取得部１０１−１〜１０１−ｎは、それぞれ対応するプレゼンスソース＃１〜＃ｎによって用いられるプロトコルでプレゼンスソース＃１〜＃ｎに接続し、各プレゼンスソース＃１〜＃ｎの要素のＩＤと状態を含むプレゼンスを取得する。このとき、プレゼンス取得部１０１−１〜１０１−ｎは、それぞれのプレゼンスソースにおいて独自に定められたフォーマットのプレゼンス（以下「オリジナルプレゼンス」という）を取得する。具体的には、例えばプレゼンス取得部１０１−１は、図２の上段に示すように、要素のＩＤと状態がＸＭＬ形式で格納されたオリジナルプレゼンスをプレゼンスソース＃１から取得する。一方、例えばプレゼンス取得部１０１−２は、図２の下段に示すように、要素のＩＤと状態がテキスト形式で格納されたオリジナルプレゼンスをプレゼンスソース＃２から取得する。プレゼンス取得部１０１−１〜１０１−ｎは、取得したオリジナルプレゼンスを変換部１０２−１〜１０２−ｎへ出力する。
【００３３】
変換部１０２−１〜１０２−ｎは、プレゼンス取得部１０１−１〜１０１−ｎから出力されるオリジナルプレゼンスをプレゼンスソースに依存しない共通のフォーマットの一次プレゼンスに変換する。このとき、変換部１０２−１〜１０２−ｎは、オリジナルプレゼンスに含まれるプレゼンスソースごとの個別ＩＤを共通のＩＤに変換する。具体的には、変換部１０２−１〜１０２−ｎは、例えば図３に示すようなＩＤ変換テーブルを有しており、ＩＤ変換テーブルを参照することにより、プレゼンスソースのソース番号とプレゼンスソース内で個別に用いられる個別ＩＤとから各要素の共通ＩＤを決定する。
【００３４】
図３に示す例では、例えばプレゼンスソース＃１における個別ＩＤが「０１２３−４５６７−８９０１」の要素については、共通ＩＤとして「Ａ」が付与される。また、例えばプレゼンスソース＃２における個別ＩＤが「aaa@sample.com」の要素についても、共通ＩＤとして「Ａ」が付与される。これは、プレゼンスソース＃１における個別ＩＤが「０１２３−４５６７−８９０１」の要素と、プレゼンスソース＃２における個別ＩＤが「aaa@sample.com」の要素とが完全に同一、または携帯電話とそのユーザのように一組として扱われることを意味している。
【００３５】
また、変換部１０２−１〜１０２−ｎは、オリジナルプレゼンスに含まれる要素の状態を共通のデータ形式に変換する。具体的には、変換部１０２−１〜１０２−ｎは、オリジナルプレゼンスに含まれる要素の状態をプレゼンス種別とその値に分離する。したがって、例えば図２の上段に示した「＜ＩＤ＞東京＜／ＩＤ＞」というＸＭＬ形式の状態は、プレゼンス種別が「location」、状態（以下、単に「プレゼンス」ともいう）が「東京」というデータ形式に変換される。同様に、例えば図２の下段に示した「予定＝出張」というテキスト形式の状態は、プレゼンス種別が「schedule」、プレゼンスが「出張」というデータ形式に変換される。変換部１０２−１〜１０２−ｎは、ＩＤおよびデータ形式変換後の一次プレゼンスをそれぞれ一次プレゼンス記憶部１０３−１〜１０３−ｎに記憶させる。
【００３６】
一次プレゼンス記憶部１０３−１〜１０３−ｎは、各要素の共通ＩＤに対応付けてプレゼンス種別、プレゼンス、および登録時刻を記憶している。すなわち、一次プレゼンス記憶部１０３−１〜１０３−ｎは、例えば図４に示すように、オリジナルプレゼンスの変換により得られた一次プレゼンスを記憶するプレゼンステーブルを備えている。図４に示す例では、上段が例えばプレゼンスソース＃１由来の一次プレゼンスを記憶するプレゼンステーブルであり、一次プレゼンス記憶部１０３−１に備えられている。このプレゼンステーブルは、プレゼンス種別「location」の一次プレゼンスを記憶している。また、図４の下段は、例えばプレゼンスソース＃２由来の一次プレゼンスを記憶するプレゼンステーブルであり、一次プレゼンス記憶部１０３−２に備えられている。このプレゼンステーブルは、プレゼンス種別「schedule」の一次プレゼンスを記憶している。
【００３７】
さらに、図４の上段に示すプレゼンステーブルにおいて、例えば共通ＩＤ「Ａ」の要素に関しては、登録時刻「２００７／７／１９  １０：２０：３０」にプレゼンス「東京」が登録され、登録時刻「２００７／７／１９  ２１：２０：３０」にプレゼンス「大阪」が登録されたことがわかる。なお、図４においては、１つのプレゼンスソースから同一のプレゼンス種別の一次プレゼンスが得られるものとしたため、各プレゼンステーブルには同一のプレゼンス種別の一次プレゼンスが記憶されているが、一次プレゼンス記憶部１０３−１〜１０３−ｎは、複数の異なるプレゼンス種別の一次プレゼンスを同一のプレゼンステーブルに記憶していても良い。
【００３８】
二次プレゼンス生成部１０４−１、１０４−２は、一次プレゼンス記憶部１０３−１〜１０３−ｎに記憶された一次プレゼンスを合成して二次プレゼンスを生成する。具体的には、二次プレゼンス生成部１０４−１、１０４−２は、それぞれ例えば図５に示すような二次プレゼンス生成ルールを保持しており、二次プレゼンス生成ルールに従って一次プレゼンスを合成し、プレゼンス種別とプレゼンスからなる共通ＩＤごとの二次プレゼンスを生成する。二次プレゼンス生成部１０４−１、１０４−２が保持する二次プレゼンス生成ルールは、複数のプレゼンスソースに由来する一次プレゼンスを横断的に用いることによって新たな観点からのプレゼンスが得られる場合に、一次プレゼンスの組み合わせ方を規定するものである。
【００３９】
すなわち、例えばプレゼンスソース＃１由来の一次プレゼンスが要素の位置に関するものであり、プレゼンスソース＃２由来の一次プレゼンスが要素の予定に関するものであるような場合、これらの一次プレゼンスを合成することにより、要素の現在の行動に関する二次プレゼンスが得られると考えられる。具体的には、同一の共通ＩＤの要素に関して、プレゼンスソース＃１からプレゼンス種別「location」およびプレゼンス「会議室」の一次プレゼンスが得られ、プレゼンスソース＃２からプレゼンス種別「schedule」およびプレゼンス「打合せ」の一次プレゼンスが得られた場合、これらの一次プレゼンスを二次プレゼンス生成ルールに従って合成することにより、例えばプレゼンス種別「action」およびプレゼンス「会議中」などの現在の行動を示す二次プレゼンスが得られる。
【００４０】
このような二次プレゼンス生成ルールは、プレゼンス合成装置１００が接続されるプレゼンスソースの種類やアプリケーションからの要求に応じてあらかじめ二次プレゼンス生成部１０４−１、１０４−２に保持されている。具体的な二次プレゼンス生成ルールの例としては、図５に挙げたようにＸＭＬ形式で記述されたものがある。図５に示した１番目の二次プレゼンス生成ルールは、一次プレゼンスと定数を比較するルールであり、「rqm」タグのパラメータには、定義の番号を示す「no」、参照するプレゼンステーブルの番号を示す「sourceid」、プレゼンス種別を示す「en」、および比較の種類を示す「opr」の４つの要素がある。このうち「opr」によって示される比較の種類には、比較対象が等しいことを示す「eq」や等号、不等号、および部分一致などがある。
【００４１】
したがって、図５の１番目の二次プレゼンス生成ルールの「<rqm no=”$1” sourceid=”1” en=”state” opr=”eq”>電話中</rqm>」という部分は、「sourceid」が「1」のプレゼンステーブル（例えば、一次プレゼンス記憶部１０３−１に記憶されたプレゼンステーブル）について、プレゼンス種別「state」に対応するプレゼンスが「電話中」に等しいという演算式を「$1」に代入することを意味している。そして、「exp」は、「exec」が示す演算式が成立する場合には二次プレゼンスを「value」によって示される値とすることを規定している。つまり、図５の１番目の二次プレゼンス生成ルールは、「($1 and $2) or $3」が成立する場合に、「sourceid」が「3」のプレゼンステーブル中のプレゼンス種別が「action」の要素に「会議中」というプレゼンスを書き込むことを規定している。なお、ここでは、「sourceid」が「3」のプレゼンステーブルは、二次プレゼンス記憶部１０５−１、１０５−２に備えられた、二次プレゼンスを記憶するプレゼンステーブルを指しているものとする。
【００４２】
図５に示した２番目の二次プレゼンス生成ルールは、一次プレゼンス同士を比較するルールであり、「set」タグのパラメータには、定義の番号を示す「no」、参照するプレ是センステーブルの番号を示す「sourceid」、およびプレゼンス種別を示す「en」の３つの要素がある。
【００４３】
したがって、図５の２番目の二次プレゼンス生成ルールの「<set no=”@1” sourceid=”1” en=”temperature”/>」という部分は、「sourceid」が「1」のプレゼンステーブルについて、プレゼンス種別「temperature」に対応するプレゼンスを「@1」に代入することを意味している。そして、「exp」の部分では、「(@1>@2) and (@3>@4)」が成立する場合に、「sourceid」が「3」のプレゼンステーブル中のプレゼンス種別が「feeling」の要素に「高温多湿」というプレゼンスを書き込むことを規定している。
【００４４】
図５に示した３番目の二次プレゼンス生成ルールは、１番目および２番目のルールを組み合わせたルールであり、「sourceid」が「1」のプレゼンステーブルについて、プレゼンス種別「ipaddr」の値が「192.168.%」（％は部分一致を表す）に等しいか、または「sourceid」が「2」のプレゼンステーブルについて、プレゼンス種別「ipaddr」の値が「172.%」に等しく、かつ、両者の「state」の値が等しくないという条件を満たす場合に、「sourceid」が「3」のプレゼンステーブル中のプレゼンス種別が「condition」の要素に「条件クリア」というプレゼンスを書き込むことを規定している。
【００４５】
図５に示した４番目の二次プレゼンス生成ルールは、二次プレゼンスを可変にするルールであり、「sourceid」が「1」のプレゼンステーブルについて、プレゼンス種別「state」の値が「電話中」に等しく、かつプレゼンス種別「schedule」の値が「会議中」と等しければ、「sourceid」が「2」のプレゼンステーブル中のプレゼンス種別が「value」の要素に、「sourceid」が「1」のプレゼンステーブル中のプレゼンス種別「action」のプレゼンスを書き込むことを規定している。なお、「<refer data="@1">」は「@1」のプレゼンスを書き込む指示を示している。また、ここでは、「sourceid」が「2」のプレゼンステーブルが二次プレゼンスを記憶するプレゼンステーブルとなっている。
【００４６】
図１に戻り、二次プレゼンス記憶部１０５−１、１０５−２は、二次プレゼンス生成部１０４−１、１０４−２によって生成された二次プレゼンスを記憶する。具体的には、二次プレゼンス記憶部１０５−１、１０５−２は、一次プレゼンス記憶部１０３−１〜１０３−３と同様のプレゼンステーブルを備えており、共通ＩＤに対応付けてプレゼンス種別、プレゼンス、および登録時刻を記憶している。
【００４７】
なお、図１においては、二次プレゼンス生成部１０４−１および二次プレゼンス記憶部１０５−１が一次プレゼンス記憶部１０３−１、１０３−２に記憶された一次プレゼンスから二次プレゼンスを生成して記憶するものとし、同様に、二次プレゼンス生成部１０４−２および二次プレゼンス記憶部１０５−２が一次プレゼンス記憶部１０３−２、１０３−ｎに記憶された一次プレゼンスから二次プレゼンスを生成して記憶するものとした。しかし、二次プレゼンスの生成元となる一次プレゼンスの組み合わせは、図１に示した通りでなくても良く、１つの二次プレゼンス生成部が３つ以上の一次プレゼンス記憶部に記憶された一次プレゼンスを組み合わせて二次プレゼンスを生成しても良いし、２つの二次プレゼンス生成部が同一の一次プレゼンス記憶部に記憶された一次プレゼンスを重複して利用しても良い。また、図１においては、複数の一次プレゼンスの合成により二次プレゼンスまでを生成するものとしたが、例えばさらに複数の二次プレゼンスから三次プレゼンスを生成するなど、より高次のプレゼンスを生成することも可能である。
【００４８】
プレゼンス提供部１０６は、アプリケーションによって利用されるプレゼンスの条件を含むフィルタ情報をアプリケーションから受信し、フィルタ情報によって指定される条件に適合するプレゼンスを一次プレゼンス記憶部１０３−１〜１０３−３および二次プレゼンス記憶部１０５−１、１０５−２から取得して、アプリケーションへ通知する。具体的には、プレゼンス提供部１０６は、例えば図６に示すように、アプリケーションから受信されたフィルタ情報の複数のエントリからなるフィルタ情報テーブルを備えており、一次プレゼンス記憶部１０３−１〜１０３−３および二次プレゼンス記憶部１０５−１、１０５−２を監視しながら、フィルタ情報テーブルの各エントリにおけるフィルタ条件に適合するプレゼンスがあれば、該当するプレゼンスをアプリケーションへ通知する。
【００４９】
なお、図１においては、プレゼンス提供部１０６が一次プレゼンス記憶部１０３−ｎおよび二次プレゼンス記憶部１０５−１、１０５−２のみを監視して条件に適合するプレゼンスを取得するものとしたが、プレゼンス提供部１０６は、各エントリにおけるフィルタ条件次第で、必要ならば他の一次プレゼンス記憶部１０３−１、１０３−２なども監視している。
【００５０】
図６に示したフィルタ情報テーブルについて、エントリ番号１のエントリを例にとって説明すると、このフィルタ情報をエントリしたアプリケーションのＩＰアドレスは、「10.20.30.1」となっている。また、このアプリケーションは、プレゼンスの通知時のプロトコルとして「SOAP」の利用を指定しており、一次プレゼンス記憶部１０３−１〜１０３−３および二次プレゼンス記憶部１０５−１、１０５−２に対する監視の周期として「10秒」を指定している。このため、プレゼンス提供部１０６は、１０秒ごとに各プレゼンス記憶部に記憶されたプレゼンスに対してフィルタ条件による判定を実行し、判定結果をＳＯＡＰ（Simple Object Access Protocol）によってＩＰアドレス「10.20.30.1」のアプリケーションへ通知する。
【００５１】
また、フィルタ情報の各エントリにはアプリケーションから指定された有効期限が付与されており、プレゼンス提供部１０６は、それぞれのエントリの有効期限までは、各プレゼンス記憶部に記憶されたプレゼンスの監視を継続する。そして、プレゼンス提供部１０６は、有効期限に達したエントリをフィルタ情報テーブルから削除する。
【００５２】
アプリケーションが利用するプレゼンスの条件を示すフィルタ条件は、例えば図６の下段に示すようにＸＭＬ形式で記述されている。この図に示すフィルタ条件は、「id」が付与されているタグ「<id>0123-4567-8901<id>」、「<id>0123-4567-8902<id>」、「<id>ccc@sample.com<id>」、および「<id>ddd@sample.com<id>」に関する通知を指定するものである。なお、これらのタグによって示されるＩＤは、各プレゼンスソース内で独自に使用される個別ＩＤとなっているが、当然ながら、共通ＩＤを用いてフィルタ条件を記述することも可能である。そして、「<presencekind sourceid="1" en="location"/>」は、参照されるプレゼンステーブル（すなわち「sourceid」が「1」のプレゼンステーブル）において、プレゼンス種別「location」のプレゼンスが変化したという条件を示し、「<presencekind sourceid=”2” en=”schedule”>出張</tag>」は、参照されるプレゼンステーブル（すなわち「sourceid」が「2」のプレゼンステーブル）において、プレゼンス種別「schedule」のプレゼンスが「出張」に変化したという条件を示す。したがって、プレゼンス提供部１０６は、上述した条件を満たすプレゼンスが検知された場合に、検知されたプレゼンスをアプリケーションへ通知する。
【００５３】
次いで、上記のように構成されたプレゼンス合成装置１００によるプレゼンス合成処理について、図７に示すフロー図を参照しながら説明する。
【００５４】
まず、プレゼンス取得部１０１−１〜１０１−ｎによって、各プレゼンスソース＃１〜＃ｎからオリジナルプレゼンスが収集される（ステップＳ１０１）。これらのプレゼンス取得部１０１−１〜１０１−ｎは、いずれも接続先のプレゼンスソース＃１〜＃ｎに独自のプロトコルで接続されており、プレゼンスソース＃１〜＃ｎのそれぞれにおける個別ＩＤや独自のデータ形式のまま、要素のオリジナルプレゼンスを取得する。したがって、各プレゼンスソース＃１〜＃ｎのプログラムをプレゼンス合成装置１００との接続のためだけに改造する必要がない。
【００５５】
そして、プレゼンス取得部１０１−１〜１０１−ｎによって取得されたオリジナルプレゼンスは、変換部１０２−１〜１０２−ｎによって、共通して利用可能な共通ＩＤやデータ形式の一次プレゼンスに変換される（ステップＳ１０２）。すなわち、各要素の個別ＩＤが変換部１０２−１〜１０２−ｎが保持するＩＤ変換テーブルによって共通ＩＤに変換され、オリジナルプレゼンスがプレゼンス種別とプレゼンスの２つに分離されることにより、共通の一次プレゼンスに変換される。こうして共通フォーマットに変換された一次プレゼンスは、一次プレゼンス記憶部１０３−１〜１０３−ｎ内のプレゼンステーブルに記憶される。これにより、一次プレゼンス記憶部１０３−１〜１０３−ｎに記憶された一次プレゼンスは、元のプレゼンスソース＃１〜＃ｎに依存しない共通のプレゼンスとなり、すべてのプレゼンスソース＃１〜＃ｎからの一次プレゼンスを同等に扱うことが可能となる。
【００５６】
なお、プレゼンスソースには、各要素のオリジナルプレゼンスに変化があったことを自律的に外部に通知する自律通知型プレゼンスソースと、自律的に外部に通知せずに外部から参照されるのみの参照型プレゼンスソースとの２種類がある。したがって、各プレゼンス取得部１０１−１〜１０１−ｎに接続されるプレゼンスソースが自律参照型であるか参照型であるかによって、若干異なった手順でオリジナルプレゼンスの取得および変換が行われるが、この点については、後述する。
【００５７】
一次プレゼンス記憶部１０３−１〜１０３−ｎに共通のデータ形式に変換された一次プレゼンスが随時記憶されていく一方、二次プレゼンス生成部１０４−１、１０４−２によって、二次プレゼンス生成ルールが適用され、一次プレゼンスを合成した二次プレゼンスが生成される（ステップＳ１０３）。すなわち、二次プレゼンス生成部１０４−１、１０４−２は、それぞれ元の一次プレゼンスと合成方法とが定められた二次プレゼンス生成ルールをあらかじめ保持しており、異なるプレゼンスソース由来の一次プレゼンスを合成して、個々の一次プレゼンスとは異なる観点の二次プレゼンスを生成する。こうして生成された二次プレゼンスは、二次プレゼンス記憶部１０５−１、１０５−２内のプレゼンステーブルに記憶される。なお、二次プレゼンス生成時の詳細なシーケンスについては、後述する。
【００５８】
そして、オリジナルプレゼンスの変換や二次プレゼンスの生成が実行される中、アプリケーションが利用する一次プレゼンスや二次プレゼンスの条件を含むフィルタ情報がプレゼンス提供部１０６によってアプリケーションから受信される。受信されたフィルタ情報は、プレゼンス提供部１０６が保持するフィルタ情報テーブルのエントリに登録される（ステップＳ１０４）。フィルタ情報テーブルの各エントリには、抽出すべきプレゼンスを指定するフィルタ条件および有効期限が含まれており、有効期限に達するまでは、プレゼンス提供部１０６によって、一次プレゼンス記憶部１０３−１〜１０３−ｎおよび二次プレゼンス記憶部１０５−１、１０５−２に記憶されたプレゼンスが参照され、フィルタ条件に一致するものがないか監視される（ステップＳ１０５）。
【００５９】
なお、フィルタ条件に一致するプレゼンスを参照する方法としては、フィルタ情報をフィルタ情報テーブルに登録しておく非同期型の参照方法と、アプリケーションからフィルタ情報を受信するのと同時にプレゼンスを参照する同期型の参照方法とがあるが、この点については、後述する。
【００６０】
プレゼンスの参照の結果、フィルタ条件に一致するプレゼンスが存在しない間は（ステップＳ１０５Ｎｏ）、エントリごとに指定された周期で監視が継続され、フィルタ条件に一致するプレゼンスが検知されると（ステップＳ１０５Ｙｅｓ）、プレゼンス提供部１０６によって、該当するプレゼンスが取得される。そして、プレゼンス提供部１０６によって、フィルタ条件に一致するプレゼンスがアプリケーションへ通知される（ステップＳ１０６）。このとき、フィルタ情報テーブルの各エントリには、アプリケーションのＩＰアドレスとプロトコルが含まれているため、エントリごとのＩＰアドレスに対応するアプリケーションに対して、指定されたプロトコルによりプレゼンスの通知が行われる。
【００６１】
これにより、アプリケーションは、複数の異なるプレゼンスソースにおける独自のオリジナルプレゼンスの情報を統一された共通のフォーマットで取得することができるとともに、２つ以上の一次プレゼンスが合成された高次のプレゼンスを取得することができ、結果として、得られたプレゼンスを容易に利用して様々な処理を実行することができる。具体的なアプリケーションの処理としては、例えば、プレゼンス合成装置１００が要素の予定に関するオリジナルプレゼンスと要素の位置情報に関するオリジナルプレゼンスとから二次プレゼンスを生成した場合に、現在位置が予定と矛盾していることを示す二次プレゼンスの通知をプレゼンス合成装置１００から受け、該当する要素に対して注意を促すメールを送信する処理などがある。
【００６２】
次に、プレゼンスソースが自律通知型プレゼンスソースである場合と参照型プレゼンスソースである場合とのオリジナルプレゼンス収集動作の違いについて、図８を参照しながら説明する。図８においては、紙面向かって左図が自律通知型のプレゼンスソース＃１に関する動作を示すシーケンス図であり、紙面向かって右図が参照型のプレゼンスソース＃２に関する動作を示すシーケンス図である。これらの図において、同一の動作には同一の符号を付している。
【００６３】
プレゼンスソース＃１が自律通知型プレゼンスソースである場合、プレゼンスソース＃１内の要素に関するオリジナルプレゼンスが変化するなど状態変化が起きると（ステップＳ２０１）、プレゼンスソース＃１が自律的に変化したオリジナルプレゼンスをプレゼンス取得部１０１−１へ通知する（ステップＳ２０２）。したがって、プレゼンス取得部１０１−１は、単にプレゼンスソース＃１に接続するのみでオリジナルプレゼンスを取得することができ、続いて、変換部１０２−１によって個別ＩＤおよび状態のデータ形式が変換される（ステップＳ２０３、Ｓ２０４）。変換により得られた共通ＩＤと一次プレゼンスは、一次プレゼンス記憶部１０３−１に保存され（ステップＳ２０５）、一次プレゼンス取得の処理が正常に完了した旨がプレゼンスソース＃１へ通知される（ステップＳ２０６）。
【００６４】
一方、プレゼンスソース＃２が参照型プレゼンスソースである場合、プレゼンスソース＃２内の要素に関するオリジナルプレゼンスが変化するなどの状態変化が起きても（ステップＳ２０１）、プレゼンスソース＃２が変化したオリジナルプレゼンスをプレゼンス取得部１０１−２へ通知することはない。このため、プレゼンス取得部１０１−２は、定期的に接続先のプレゼンスソース＃２を参照する。すなわち、プレゼンスソース＃２に対して、前回の参照時からの状態変化の有無が問い合わせられ（ステップＳ２５１）、状態変化があれば、変化したオリジナルプレゼンスがプレゼンスソース＃２からプレゼンス取得部１０１−２へ通知される（ステップＳ２５２）。また、状態変化がなければ、その旨がプレゼンス取得部１０１−２へ通知される。以下、上述した自律通知型プレゼンスソースの場合と同様に、データ形式の変換・保存が実行される（ステップＳ２０３〜Ｓ２０５）。
【００６５】
このように、プレゼンスソースの型によってオリジナルプレゼンス収集動作が若干異なるが、本実施の形態に係るプレゼンス合成装置１００は、それぞれのプレゼンスソース＃１〜＃ｎに固有のプレゼンス取得部１０１−１〜１０１−ｎを有するため、プレゼンスソース間の差異を容易に吸収することができる。
【００６６】
次に、二次プレゼンス生成時の詳細な動作例について、図９に示すシーケンス図を参照しながら説明する。ここでは、プレゼンス合成装置１００が一次プレゼンス記憶部１０３−１〜１０３−３を有しており、二次プレゼンス生成部１０４−１が一次プレゼンス記憶部１０３−１、１０３−２に記憶された一次プレゼンスから二次プレゼンスを生成し、二次プレゼンス生成部１０４−２が一次プレゼンス記憶部１０３−２、１０３−３に記憶された一次プレゼンスから二次プレゼンスを生成するものとする。
【００６７】
まず、二次プレゼンス生成部１０４−１が二次プレゼンスを生成する際には、一次プレゼンス記憶部１０３−１からプレゼンステーブルに記憶された一次プレゼンスが読み出される（ステップＳ３０１）。同様に、一次プレゼンス記憶部１０３−２からもプレゼンステーブルに記憶された一次プレゼンスが読み出される（ステップＳ３０２）。読み出された一次プレゼンスは、二次プレゼンス生成部１０４−１によって二次プレゼンス生成ルールが適用されることにより合成され、二次プレゼンスが生成される。そして、生成された二次プレゼンスは、二次プレゼンス記憶部１０５−１へ出力されて記憶される（ステップＳ３０３）。
【００６８】
そして、二次プレゼンス生成部１０４−２が二次プレゼンスを生成する際には、一次プレゼンス記憶部１０３−２から一次プレゼンスが読み出され（ステップＳ３０４）、一次プレゼンス記憶部１０３−３から一次プレゼンスが読み出される（ステップＳ３０５）。読み出された一次プレゼンスは、二次プレゼンス生成部１０４−２によって二次プレゼンス生成ルールが適用されることにより合成され、二次プレゼンスが生成される。そして、生成された二次プレゼンスは、二次プレゼンス記憶部１０５−２へ出力されて記憶される（ステップＳ３０６）。
【００６９】
ここで、一次プレゼンス記憶部１０３−２に記憶された一次プレゼンスは、二次プレゼンス生成部１０４−１、１０４−２の双方から必要とされるため、一次プレゼンス記憶部１０３−２は重複してリードされる。しかし、二次プレゼンス生成部１０４−１、１０４−２が一次プレゼンス記憶部１０３−２をリードする時間がずれているため、双方のリードが衝突することはない。結果として、二次プレゼンス生成部１０４−１、１０４−２は、二次プレゼンス生成に必要な一次プレゼンスを確実に読み出すことができる。
【００７０】
このようにして必要な一次プレゼンスがすべて読み出されると、共通ＩＤが一致する一次プレゼンスが統合され、例えば図１０に示すように、共通ＩＤごとの新たなプレゼンス（二次プレゼンス）が生成される。図１０に示す例では、各要素のネットワークへのログオン状態、位置情報、および予定を示す一次プレゼンスから各要素の現在の行動を示す二次プレゼンスが生成されている。
【００７１】
次に、プレゼンス提供部１０６によるプレゼンス参照が非同期型である場合と同期型である場合との違いについて、図１１および図１２を参照しながら説明する。図１１は、上述したフィルタ情報テーブルを用いる非同期型のプレゼンス参照を示し、図１２は、フィルタ情報テーブルを用いない同期型のプレゼンス参照を示している。
【００７２】
非同期型のプレゼンス参照が行われる場合、アプリケーションから送信されたフィルタ情報がプレゼンス提供部１０６によって受信されると（ステップＳ４０１）、このフィルタ情報は、プレゼンス提供部１０６内のフィルタ情報テーブルのエントリに登録される（ステップＳ４０２）。そして、プレゼンス提供部１０６によって、フィルタ情報テーブルの各エントリが参照され（ステップＳ４０３）、エントリごとの監視周期で各プレゼンス記憶部に記憶されたプレゼンスが参照される（ステップＳ４０４）。参照された各プレゼンスは、エントリごとのフィルタ条件に一致するか否かが判定され（ステップＳ４０５）、フィルタ条件に一致するプレゼンスがアプリケーションへ提供される（ステップＳ４０６）。
【００７３】
このとき、アプリケーションへ提供されるプレゼンスは、例えば図１１の右図に示すように、ＸＭＬ形式で記述されている。この例において、「<entrykey>1</entrykey>」は、フィルタ情報テーブルのエントリ番号を示している。「id」タグは、プレゼンスが変化した要素の識別情報を個別ＩＤで示している。すなわち、例えば「<id sourceid=”1” no=”0123-4567-8901”>」は、「sourceid」が「1」のプレゼンスソースにおける個別ＩＤ「０１２３−４５６７−８９０１」を示すことになる。また、「<value sourceid=1 en=”location”>東京</value>」は、「sourceid」が「1」のプレゼンステーブルにおいて、プレゼンス種別「location」のプレゼンスが「東京」になったことを意味する。したがって、この例では、個別ＩＤ「０１２３−４５６７−８９０１」の要素に関して、「sourceid」が「1」のプレゼンステーブルのプレゼンス種別「location」が「東京」に変化し、「sourceid」が「2」のプレゼンステーブルのプレゼンス種別「schedule」が「出張中」に変化したとともに、個別ＩＤ「０１２３−４５６７−８９０２」の要素に関して、「sourceid」が「1」のプレゼンステーブルのプレゼンス種別「location」が「大阪」に変化したことがアプリケーションへ通知される。
【００７４】
一方、同期型のプレゼンス参照が行われる場合、アプリケーションから送信されたフィルタ情報がプレゼンス提供部１０６によって受信されると（ステップＳ４５１）、すぐに各プレゼンス記憶部に記憶されたプレゼンスが参照される（ステップＳ４０４）。ここで、同期型のプレゼンス参照の場合は、取得が必要なプレゼンスの履歴数がフィルタ情報に含まれている。
【００７５】
参照された各プレゼンスは、フィルタ条件に一致するか否かが判定されるが、ここでは、フィルタ条件に一致するプレゼンスに対応する登録時刻が参照されることにより、最新のプレゼンスから順に履歴数分のプレゼンスが取得され（ステップＳ４５２）、アプリケーションへ提供される（ステップＳ４５３）。つまり、同期型のプレゼンス参照の場合は、フィルタ条件に一致する過去のプレゼンスも同時にアプリケーションへ通知される。
【００７６】
このとき、アプリケーションへ提供されるプレゼンスは、例えば図１２の右図に示すように、ＸＭＬ形式で記述されている。この例において、「result」タグは、プレゼンス参照が正常終了したか否かを示すタグであり、「code」が「0」以外であれば異常があったことを示す。したがって、アプリケーションは、「result」タグにより、プレゼンス合成装置１００から通知されるプレゼンスの信頼性を判断することができる。また、「track」パラメータがプレゼンスの履歴での順序を表しており、この例では、「<value sourceid=1 en=”location” track=”1”>東京</value>」、「<value sourceid=1 en=”location” track=”2”>大阪</value>」となっていることから、この要素のプレゼンス種別「location」のプレゼンスが「大阪」から「東京」に変化したこととなる。
【００７７】
このように、本実施の形態では、非同期型のプレゼンス参照および同期型のプレゼンス参照の双方が可能であるため、プレゼンス提供部１０６は、アプリケーションの処理内容に合わせて、いずれか一方または双方のプレゼンス参照を実行することができる。すなわち、例えばアプリケーションの処理内容がリアルタイム性を要求するものである場合には、同期型のプレゼンス参照を行うなどとすることができる。
【００７８】
以上のように、本実施の形態によれば、複数の異なるプレゼンスソースからそれぞれのプレゼンスソースに応じたプロトコルおよびデータ形式でプレゼンスを取得し、各プレゼンスソースで独自に用いられる個別ＩＤをプレゼンスソースに依存しない共通ＩＤに変換するとともに、データ形式を共通のデータ形式に変換し、変換により得られる共通フォーマットの一次プレゼンスから二次プレゼンスを生成する。また、アプリケーションが指定するフィルタ条件に一致する一次プレゼンスおよび二次プレゼンスを抽出して、アプリケーションへ提供する。このため、プレゼンスソースのプロトコルやデータ形式が異なっていても、すべてのプレゼンスを同等に扱って合成することができる。換言すれば、複数の異なるプレゼンスソースから効率的にプレゼンスを収集し、アプリケーションが容易に利用可能な形式で合成することができる。
【００７９】
（実施の形態２）
本発明の実施の形態２の特徴は、いずれかのプレゼンステーブルの一次プレゼンスの更新が検出された際に、この一次プレゼンスの更新前後の差分と関連するプレゼンステーブルの一次プレゼンスとを用いて二次プレゼンスを生成する点である。
【００８０】
図１３は、本実施の形態に係るプレゼンス合成装置２００の要部構成を示すブロック図である。同図において、図１と同じ部分には同じ符号を付し、その説明を省略する。図１３に示すプレゼンス合成装置２００は、プレゼンス取得部１０１−１〜１０１−ｎ、変換部１０２−１〜１０２−ｎ、一次プレゼンス記憶部１０３−１〜１０３−ｎ、一次プレゼンス監視部２０１−１〜２０１−ｎ、差分取得部２０２、二次プレゼンス生成部２０３、二次プレゼンス記憶部１０５、およびプレゼンス提供部１０６を有している。
【００８１】
一次プレゼンス監視部２０１−１〜２０１−ｎは、一次プレゼンス記憶部１０３−１〜１０３−ｎに記憶された一次プレゼンスを定期的に監視し、更新が検出された場合には、その旨を差分取得部２０２へ通知するとともに、更新前後の差分を差分取得部２０２へ出力する。具体的には、一次プレゼンス監視部２０１−１〜２０１−ｎは、一次プレゼンス記憶部１０３−１〜１０３−ｎに保持されたプレゼンステーブルにおいて、各一次プレゼンスの登録時刻を参照し、登録時刻が前回の監視時以降の時刻である一次プレゼンスが更新されたと判断する。このとき、複数の一次プレゼンスが更新されている可能性もある。
【００８２】
また、一次プレゼンス監視部２０１−１〜２０１−ｎは、差分取得部２０２からの指示に従って、他の一次プレゼンス監視部２０１−１〜２０１−ｎにより更新が検出された時点での一次プレゼンスを差分取得部２０２へ出力する。ここで出力される一次プレゼンスは、更新された一次プレゼンスとともに二次プレゼンスの生成に用いられる一次プレゼンスである。
【００８３】
差分取得部２０２は、一次プレゼンス監視部２０１−１〜２０１−ｎから一次プレゼンスの更新を通知されると、この一次プレゼンスと同時に用いられて二次プレゼンスの生成が行われる関連プレゼンスを特定し、該当する関連プレゼンスに対応する一次プレゼンス監視部２０１−１〜２０１−ｎへ一次プレゼンスの取得を指示する。具体的には、差分取得部２０２は、例えば図１４に示すような関連プレゼンスソーステーブルを備えており、一次プレゼンス記憶部１０３−１〜１０３−ｎに記憶された一次プレゼンスのプレゼンスソースごとに、適用される二次プレゼンス生成ルールと、二次プレゼンス生成時に同時に用いられる関連プレゼンスのプレゼンスソースとを記憶している。
【００８４】
すなわち、図１４に示す例では、例えば一次プレゼンス記憶部１０３−１に記憶された一次プレゼンスは、「Ｘ，Ｙ，Ｚ」という３つの二次プレゼンス生成ルールによって、一次プレゼンス記憶部１０３−２、１０３−３に記憶された一次プレゼンスとともに二次プレゼンスの生成に利用されることがわかる。したがって、一次プレゼンス記憶部１０３−１に記憶された一次プレゼンスが更新されたことを一次プレゼンス監視部２０１−１が検出した場合、差分取得部２０２は、一次プレゼンス監視部２０１−２、２０１−３に対して、一次プレゼンスの取得を指示する。このとき、一次プレゼンス監視部２０１−２、２０１−３においても一次プレゼンスの更新が検出されてしまうことを防ぐために、差分取得部２０２は、更新が検出されていない一次プレゼンス監視部２０１−２、２０１−３に対して、一次プレゼンスの監視を一時的に停止するように指示した上で、一次プレゼンスの取得を指示しても良い。
【００８５】
二次プレゼンス生成部２０３は、更新発生時に差分取得部２０２によって取得された一次プレゼンスを合成して二次プレゼンスを生成する。二次プレゼンス生成部２０３による具体的な二次プレゼンス生成方法は、実施の形態１における二次プレゼンス生成部１０４−１、１０４−２と同様であり、二次プレゼンス生成ルールに従って一次プレゼンスが合成される。
【００８６】
次いで、上記のように構成されたプレゼンス合成装置２００によるプレゼンス合成処理について、図１５に示すフロー図を参照しながら説明する。なお、同図において、図７と同じ部分には同じ符号を付し、その詳しい説明を省略する。
【００８７】
まず、プレゼンス取得部１０１−１〜１０１−ｎによって、各プレゼンスソース＃１〜＃ｎからオリジナルプレゼンスが収集される（ステップＳ１０１）。そして、プレゼンス取得部１０１−１〜１０１−ｎによって取得されたオリジナルプレゼンスは、変換部１０２−１〜１０２−ｎによって、共通して利用可能な共通ＩＤやデータ形式を持つ一次プレゼンスに変換される（ステップＳ１０２）。こうして共通フォーマットに変換された一次プレゼンスは、一次プレゼンス記憶部１０３−１〜１０３−ｎ内のプレゼンステーブルに記憶される。
【００８８】
一方、一次プレゼンス監視部２０１−１〜２０１−ｎは、一次プレゼンス記憶部１０３−１〜１０３−ｎのプレゼンステーブルを監視しており、いずれかのプレゼンステーブルにおいて一次プレゼンスが更新されると、このプレゼンステーブルに対応する一次プレゼンス監視部によって一次プレゼンスの差分が検知される（ステップＳ５０１）。そして、差分を検知した一次プレゼンス監視部によって、その旨が差分取得部２０２へ通知されるとともに、実際の差分となった一次プレゼンスが差分取得部２０２へ出力される。差分取得部２０２には、関連プレゼンスソーステーブルが保持されているため、いずれかの一次プレゼンス監視部から差分を検知した旨が通知されると、差分取得部２０２によって、差分が検知された一次プレゼンスに関連する関連プレゼンスが特定される。
【００８９】
そして、差分取得部２０２によって、関連プレゼンスに対応する一次プレゼンス監視部へ一次プレゼンスの収集が指示される。この結果、指示を受けた一次プレゼンス監視部によって、他の一次プレゼンスが更新された時点での関連プレゼンスが取得され、差分取得部２０２に収集される（ステップＳ５０２）。こうして収集された関連プレゼンスは、更新された一次プレゼンスとともに二次プレゼンスの生成に用いられる一次プレゼンスであり、一次プレゼンスの更新により影響を受けるすべての二次プレゼンスの生成に用いられるものである。本実施の形態においては、いずれかの一次プレゼンスが更新された場合に、関連する一次プレゼンスのみが収集されるため、一次プレゼンス記憶部１０３−１〜１０３−ｎに対するアクセスの頻度を低減することができ、負荷を抑制することができる。この点については、後に詳述する。
【００９０】
差分取得部２０２によって二次プレゼンスの生成に必要なすべての一次プレゼンスが収集されると、二次プレゼンス生成部２０３によって、二次プレゼンス生成ルールが適用され、一次プレゼンスを合成した二次プレゼンスが生成される（ステップＳ１０３）。以降、実施の形態１と同様に、フィルタ情報がプレゼンス提供部１０６によってアプリケーションから受信され、フィルタ情報テーブルのエントリに登録される（ステップＳ１０４）。そして、プレゼンス提供部１０６によって、一次プレゼンス記憶部１０３−１〜１０３−ｎおよび二次プレゼンス記憶部１０５に記憶された一次プレゼンスおよび二次プレゼンスが監視され（ステップＳ１０５）、フィルタ条件に一致するプレゼンスが検知されると（ステップＳ１０５Ｙｅｓ）、該当するプレゼンスが取得される。取得されたプレゼンスは、プレゼンス提供部１０６からアプリケーションへ通知される（ステップＳ１０６）。
【００９１】
これにより、アプリケーションは、複数の異なるプレゼンスソースにおける独自のプレゼンスを統一されたデータ形式で取得することができるとともに、２つ以上の一次プレゼンスが合成された高次のプレゼンスを取得することができ、結果として、得られたプレゼンスを容易に利用して様々な処理を実行することができる。また、一次プレゼンスが更新された場合には、差分取得部２０２によって最新の一次プレゼンスが収集された上で、更新された一次プレゼンスを用いる二次プレゼンスが改めて生成されるため、常に二次プレゼンスを最新の状態に保つことができる。
【００９２】
次に、二次プレゼンス生成時の詳細な動作例について、図１６に示すシーケンス図を参照しながら説明する。ここでは、プレゼンス合成装置２００が一次プレゼンス記憶部１０３−１〜１０３−３および一次プレゼンス監視部２０１−１〜２０１−３を有しているものとする。
【００９３】
本実施の形態においては、一次プレゼンス監視部２０１−１〜２０１−３によって、それぞれ一次プレゼンス記憶部１０３−１〜１０３−３が定期的に監視されており、例えば一次プレゼンス記憶部１０３−１に記憶された一次プレゼンスが前回監視時から更新されていると、一次プレゼンスの更新前後の差分のデータが一次プレゼンス監視部２０１−１へ読み出される（ステップＳ６０１）。そして、一次プレゼンス監視部２０１−１によって、一次プレゼンスの更新があった旨と実際の差分データとが差分取得部２０２へ通知される（ステップＳ６０２）。
【００９４】
差分取得部２０２では、関連プレゼンスソーステーブルが参照され、更新のあった一次プレゼンス記憶部１０３−１に関連する関連プレゼンスが特定される。すなわち、一次プレゼンス記憶部１０３−１において更新されたプレゼンスと一緒に用いられて二次プレゼンスが生成される一次プレゼンスが特定される。ここでは、一次プレゼンス記憶部１０３−２、１０３−３に記憶された一次プレゼンスが関連プレゼンスであるものとする。
【００９５】
そして、差分取得部２０２によって、関連プレゼンスに対応する一次プレゼンス監視部２０１−２へ一次プレゼンスの取得指示が出される（ステップＳ６０３）。ここで、関連プレゼンスにおける重複した更新の検知を避けるため、この取得指示には、一次プレゼンス監視部２０１−２による監視を一時的に停止する指示が含まれている。指示を受けた一次プレゼンス監視部２０１−２は、一次プレゼンス記憶部１０３−２から一次プレゼンスを読み出して差分取得部２０２へ転送する（ステップＳ６０４）。
【００９６】
同様に、差分取得部２０２によって、関連プレゼンスに対応する一次プレゼンス監視部２０１−３へ一次プレゼンスの取得指示が出される（ステップＳ６０５）。この取得指示にも、一次プレゼンス監視部２０１−３による監視を一時的に停止する指示が含まれている。指示を受けた一次プレゼンス監視部２０１−３は、一次プレゼンス記憶部１０３−３から一次プレゼンスを読み出して差分取得部２０２へ転送する（ステップＳ６０６）。
【００９７】
このように、本実施の形態においては、いずれかの一次プレゼンス記憶部において一次プレゼンスが更新されると、二次プレゼンスの更新に必要最低限のプレゼンステーブルのみから関連プレゼンスが収集される。このため、一次プレゼンス記憶部１０３−１〜１０３−３に対するアクセス頻度を低減することができ、負荷を最低限に抑制することができる。すなわち、一次プレゼンス記憶部１０３−１〜１０３−３へのアクセスは、一次プレゼンス監視部２０１−１〜２０１−３による定期的な監視時と、関連する一次プレゼンスの更新時との２種類のみで済む。
【００９８】
また、上述した処理によって、一次プレゼンス記憶部１０３−１〜１０３−３の負荷が抑制されながらも、差分取得部２０２には、更新された一次プレゼンスと、この一次プレゼンスとともに二次プレゼンス生成に用いられるすべての関連プレゼンスとが収集されたことになる。そこで、二次プレゼンス生成部２０３によって、差分取得部２０２に収集された一次プレゼンスが読み出され（ステップＳ６０７）、更新された一次プレゼンスに基づく新たな二次プレゼンスが生成される。生成された二次プレゼンスは、二次プレゼンス記憶部１０５へ出力されて記憶される（ステップＳ６０８）。
【００９９】
一方、一次プレゼンス監視部２０１−１〜２０１−３が一時的に監視を停止しているため、二次プレゼンス生成部２０３によって一次プレゼンスが読み出された後は、差分取得部２０２によって、一次プレゼンス監視部２０１−１〜２０１−３による監視の再開指示が出される（ステップＳ６０９〜Ｓ６１１）。
【０１００】
以上のように、本実施の形態によれば、一次プレゼンスが更新された場合に、この一次プレゼンスと二次プレゼンスの生成に関して関連する一次プレゼンスのみを収集し、二次プレゼンスを更新する。このため、一次プレゼンスを記憶するプレゼンステーブルへのアクセス頻度を低減することができ、負荷を最低限に抑制することができる。
【０１０１】
なお、上記各実施の形態においては、プレゼンス合成装置１００、２００がプレゼンス合成処理を実行するものとしたが、このプレゼンス合成処理をコンピュータが読み取り可能なプログラム言語で記述し、得られたプレゼンス合成プログラムをコンピュータに実行させることにより、上記各実施の形態と同様のプレゼンス合成処理を実現することもできる。この場合、プレゼンス合成プログラムを例えばＣＤ−ＲＯＭなどの記録媒体に記録してコンピュータに導入することも可能である。
【０１０２】
以上の実施の形態に関し、さらに以下の付記を開示する。
【０１０３】
（付記１）要素の状態を表すプレゼンスを管理する複数の異なるプレゼンスソースに個別に接続し、プレゼンスソースごとのフォーマットで管理されたプレゼンスを収集する収集手段と、
前記収集手段によって収集されたプレゼンスをプレゼンスソースに依存しない共通フォーマットの一次プレゼンスに変換する変換手段と、
前記変換手段によって変換されて得られた一次プレゼンスを記憶する記憶手段と、
前記記憶手段によって記憶された一次プレゼンスを所定のルールに従って合成して二次プレゼンスを生成する生成手段と
を有することを特徴とするプレゼンス合成装置。
【０１０４】
（付記２）前記収集手段は、
要素の識別情報および要素の状態がプレゼンスソースごとの独自のフォーマットで格納されたプレゼンスを収集し、
前記変換手段は、
要素の識別情報をプレゼンスソースに依存しない共通識別情報に変換するとともに、要素の状態を状態種別情報と実際の状態情報とに分離して一次プレゼンスへの変換を行うことを特徴とする付記１記載のプレゼンス合成装置。
【０１０５】
（付記３）前記変換手段は、
異なるプレゼンスソースから取得された同一の要素または組となる要素の識別情報を同一の共通識別情報に変換することを特徴とする付記２記載のプレゼンス合成装置。
【０１０６】
（付記４）前記収集手段は、
各プレゼンスソースから自律的に通知されるプレゼンスを収集することを特徴とする付記１記載のプレゼンス合成装置。
【０１０７】
（付記５）前記収集手段は、
定期的に各プレゼンスソースを参照して前回参照時から変化したプレゼンスを収集することを特徴とする付記１記載のプレゼンス合成装置。
【０１０８】
（付記６）外部のアプリケーションから指定される条件に一致する一次プレゼンスまたは二次プレゼンスを当該アプリケーションへ提供する提供手段をさらに有することを特徴とする付記１記載のプレゼンス合成装置。
【０１０９】
（付記７）前記提供手段は、
外部のアプリケーションから指定される条件と当該条件が有効な有効期限とを対応付けて保持する条件テーブルを含み、
前記条件テーブルに保持された条件の有効期限前において、この条件に一致する一次プレゼンスまたは二次プレゼンスがある場合に、当該一次プレゼンスまたは二次プレゼンスをアプリケーションへ提供することを特徴とする付記６記載のプレゼンス合成装置。
【０１１０】
（付記８）前記提供手段は、
外部のアプリケーションから指定される条件と必要とされる過去のプレゼンス数を示す履歴数とを受信し、受信された条件に一致する一次プレゼンスまたは二次プレゼンスがある場合に、最新のものから履歴数分の当該一次プレゼンスまたは二次プレゼンスをアプリケーションへ提供することを特徴とする付記６記載のプレゼンス合成装置。
【０１１１】
（付記９）前記生成手段は、
前記記憶手段によって記憶された一次プレゼンスが更新されたか否かを監視する監視手段と、
前記監視手段によって一次プレゼンスの更新が検知された場合に、更新後の一次プレゼンスとこの一次プレゼンスに合成される関連プレゼンスとを前記記憶手段から取得する取得手段とを含み、
前記取得手段によって取得された更新後の一次プレゼンスおよび関連プレゼンスから二次プレゼンスを生成することを特徴とする付記１記載のプレゼンス合成装置。
【０１１２】
（付記１０）前記取得手段は、
前記生成手段によって更新前の一次プレゼンスに合成された一次プレゼンスを関連プレゼンスとして取得することを特徴とする付記９記載のプレゼンス合成装置。
【０１１３】
（付記１１）前記監視手段は、
前記取得手段によって関連プレゼンスが取得される間、関連プレゼンスに対する監視を一時的に停止することを特徴とする付記９記載のプレゼンス合成装置。
【０１１４】
（付記１２）コンピュータによって実行されるプレゼンス合成プログラムであって、前記コンピュータに、
要素の状態を表すプレゼンスを管理する複数の異なるプレゼンスソースに個別に接続し、プレゼンスソースごとのフォーマットで管理されたプレゼンスを収集する収集ステップと、
前記収集ステップにて収集されたプレゼンスをプレゼンスソースに依存しない共通フォーマットの一次プレゼンスに変換する変換ステップと、
前記変換ステップにて変換されて得られた一次プレゼンスを所定のルールに従って合成して二次プレゼンスを生成する生成ステップと
を実行させることを特徴とするプレゼンス合成プログラム。
【０１１５】
（付記１３）要素の状態を表すプレゼンスを管理する複数の異なるプレゼンスソースに個別に接続し、プレゼンスソースごとのフォーマットで管理されたプレゼンスを収集する収集ステップと、
前記収集ステップにて収集されたプレゼンスをプレゼンスソースに依存しない共通フォーマットの一次プレゼンスに変換する変換ステップと、
前記変換ステップにて変換されて得られた一次プレゼンスを所定のルールに従って合成して二次プレゼンスを生成する生成ステップと
を有することを特徴とするプレゼンス合成方法。
【産業上の利用可能性】
【０１１６】
本発明は、複数の異なるプレゼンスソースから効率的にプレゼンスを収集し、アプリケーションが容易に利用可能な形式で合成する場合に適用することができる。
【図面の簡単な説明】
【０１１７】
【図１】実施の形態１に係るプレゼンス合成装置の要部構成を示すブロック図である。
【図２】実施の形態１に係るプレゼンスの具体例を示す図である。
【図３】実施の形態１に係るＩＤ変換テーブルの具体例を示す図である。
【図４】実施の形態１に係る一次プレゼンステーブルの具体例を示す図である。
【図５】実施の形態１に係る二次プレゼンス生成ルールの具体例を示す図である。
【図６】実施の形態１に係るフィルタ情報の具体例を示す図である。
【図７】実施の形態１に係るプレゼンス合成処理を示すフロー図である。
【図８】実施の形態１に係るプレゼンス収集の具体例を示すシーケンス図である。
【図９】実施の形態１に係る二次プレゼンス生成を示すシーケンス図である。
【図１０】実施の形態１に係る二次プレゼンス生成の具体例を示す図である。
【図１１】実施の形態１に係るプレゼンス提供の具体例を示す図である。
【図１２】実施の形態１に係るプレゼンス提供の他の具体例を示す図である。
【図１３】実施の形態２に係るプレゼンス合成装置の要部構成を示すブロック図である。
【図１４】実施の形態２に係る関連プレゼンスソーステーブルの具体例を示す図である。
【図１５】実施の形態２に係るプレゼンス合成処理を示すフロー図である。
【図１６】実施の形態２に係る二次プレゼンス生成を示すシーケンス図である。
【符号の説明】
【０１１８】
１０１−１〜１０１−ｎ  プレゼンス取得部
１０２−１〜１０２−ｎ  変換部
１０３−１〜１０３−ｎ  一次プレゼンス記憶部
１０４−１、１０４−２、２０３  二次プレゼンス生成部
１０５−１、１０５−２  二次プレゼンス記憶部
１０６  プレゼンス提供部
２０１−１〜２０１−ｎ  一次プレゼンス監視部
２０２  差分取得部
【図１】
0005228475.tif 000002
【図２】
0005228475.tif 000003
【図３】
0005228475.tif 000004
【図４】
0005228475.tif 000005
【図５】
0005228475.tif 000006
【図６】
0005228475.tif 000007
【図７】
0005228475.tif 000008
【図８】
0005228475.tif 000009
【図９】
0005228475.tif 000010
【図１０】
0005228475.tif 000011
【図１１】
0005228475.tif 000012
【図１２】
0005228475.tif 000013
【図１３】
0005228475.tif 000014
【図１４】
0005228475.tif 000015
【図１５】
0005228475.tif 000016
【図１６】
0005228475.tif 000017