(57)【要約】【課題】パブリッシャのプレゼンス情報へのアクセスを、プレゼンスサーバではなくパブリッシャによってピアツーピアベースで制御し実施できるようにするプレゼンス情報システムを提供すること。【解決手段】サブスクライバはパブリッシャに、パブリッシャのプレゼンス情報をサブスクライブすることを求める要求をピアツーピアベースで送信する。パブリッシャがそのプレゼンス情報をサブスクライブしたいという要求を受信したとき、パブリッシャのプレゼンス情報システムは、そのサブスクライバのアクセス権に基づいてその要求を許可あるいは拒絶することができる。要求が許可された場合は、パブリッシャはその現在のプレゼンス状態をサブスクライバに通知し、プレゼンス状態が変化したときは、パブリッシャの新しいプレゼンス状態をサブスクライバに通知する。プレゼンス状態は、プレゼンスモデルの様々な詳細レベルで定義することができる。【選択図】図３
2006146899.tif 000002
【特許請求の範囲】
【請求項１】
第１のエンティティの第１のコンピュータシステムにおいて、前記第１のエンティティのプレゼンス情報へのアクセスを制御する方法であって、
前記第１のエンティティの前記プレゼンス情報への各エンティティのアクセス権を前記第１のコンピュータシステムで提供するステップと、
前記第１のエンティティのプレゼンス情報をサブスクライブすることを求める要求を第２のエンティティの第２のコンピュータシステムから受信するステップと、
前記第２のエンティティの前記アクセス権に従って、前記第１のエンティティのプレゼンス情報を前記第１のコンピュータシステムから前記第２のコンピュータシステムに送信するステップと
を備えることを特徴とする方法。
【請求項２】
前記第１のコンピュータシステムと前記第２のコンピュータシステムとはピアであることを特徴とする請求項１に記載の方法。
【請求項３】
前記第１のコンピュータシステムおよび前記第２のコンピュータシステムは各エンティティのコンピュータシステムからなるネットワーク内に存在し、コンピュータシステムはそれが属するエンティティの前記プレゼンス情報への各エンティティのアクセス権を提供することを特徴とする請求項１に記載の方法。
【請求項４】
前記第１のエンティティのプレゼンス状態を指定するプレゼンスモデルを前記第１のコンピュータシステムで提供するステップを含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記第１のエンティティに複数のプレゼンスモデルが提供され、各エンティティの前記アクセス権によって１つのプレゼンスモデルがさらに識別されることを特徴とする請求項４に記載の方法。
【請求項６】
前記第１のエンティティに複数のプレゼンスモデルが提供され、他の異なるエンティティに対して異なるプレゼンスモデルが適用されることを特徴とする請求項４に記載の方法。
【請求項７】
前記プレゼンス状態は階層的に構成されることを特徴とする請求項４に記載の方法。
【請求項８】
前記アクセス権は、前記第２のエンティティがアクセスできる前記プレゼンス状態を指定することを特徴とする請求項４に記載の方法。
【請求項９】
エンティティは人であることを特徴とする請求項１に記載の方法。
【請求項１０】
エンティティは装置であることを特徴とする請求項１に記載の方法。
【請求項１１】
前記第１のエンティティのプレゼンス情報をサブスクライブすることを求める要求を前記第２のエンティティの前記第２のコンピュータシステムから受信した後で、前記第１のエンティティの前記プレゼンス情報をサブスクライブすることが前記第２のエンティティに許可されているかどうかを判定することを特徴とする請求項１に記載の方法。
【請求項１２】
ユーザのコンピュータシステムを制御して、前記ユーザのプレゼンス情報へのピアツーピアアクセスを下記方法によって提供するための命令を含むコンピュータ可読媒体であって、前記方法は、
前記ユーザのプレゼンス状態の階層構造を指定するプレゼンスモデルを前記コンピュータシステムで提供するステップと、
前記ユーザの前記プレゼンス情報への各エンティティのアクセス権を前記コンピュータシステムで受信するステップであって、エンティティの前記アクセス権は、前記エンティティが前記ユーザのあるプレゼンス状態にアクセスできるときは前記エンティティがそのすべての上位プレゼンス状態にもアクセスできるように、前記エンティティがアクセスできる前記ユーザの前記プレゼンス状態を指示するステップと、
前記ユーザのプレゼンス情報を前記各エンティティがサブスクライブすることを求める要求を前記各エンティティのコンピュータシステムから受信するステップとを備え、
前記ユーザの前記プレゼンス情報をエンティティがサブスクライブすることを求める要求を前記コンピュータシステムで受信したときは、
前記ユーザのプレゼンス情報へのアクセスが前記エンティティに許可されているかどうかを判定し、
前記エンティティが前記ユーザのプレゼンス情報へアクセスすることが許可されていると判定されたときは、前記エンティティを前記ユーザの前記プレゼンス情報にサブスクライブするステップと、
前記ユーザの前記プレゼンス状態が新しいプレゼンス状態に変化したときは、
前記ユーザの前記プレゼンス情報へサブスクライブされている各エンティティに対して、
前記エンティティがアクセス権を有する、前記新しいプレゼンス状態に最も近い上位プレゼンス状態を識別し、
前記識別されたプレゼンス状態の指示を前記ユーザの前記新しいプレゼンス状態として前記エンティティの前記コンピュータシステムに送信するステップと
を備えたことを特徴とするコンピュータ可読媒体。
【請求項１３】
複数のプレゼンスモデルが前記ユーザに提供され、各エンティティの前記アクセス権により１つのプレゼンスモデルが指定されることを特徴とする請求項１２に記載のコンピュータ可読媒体。
【請求項１４】
各プレゼンスモデルごとに現在のプレゼンス状態が維持されることを特徴とする請求項１３に記載のコンピュータ可読媒体。
【請求項１５】
エンティティは人であることを特徴とする請求項１２に記載のコンピュータ可読媒体。
【請求項１６】
エンティティは装置であることを特徴とする請求項１２に記載のコンピュータ可読媒体。
【請求項１７】
前記プレゼンスモデルを修正するステップを含むことを特徴とする請求項１２に記載のコンピュータ可読媒体。
【請求項１８】
前記ユーザは前記プレゼンスモデルを修正することを特徴とする請求項１７に記載のコンピュータ可読媒体。
【請求項１９】
前記ユーザは前記エンティティの前記アクセス権を指定することを特徴とする請求項１２に記載のコンピュータ可読媒体。
【請求項２０】
コンピュータシステムにおいて、第１のエンティティのプレゼンス情報へのアクセスを制御する方法であって、
複数のプレゼンスモデルを前記第１のエンティティに提供するステップであって、あるプレゼンスモデルは前記第１のエンティティのプレゼンス状態を指定し、あるプレゼンスモデルは現在のプレゼンス状態を有するステップと、
プレゼンスモデルをエンティティに関連づけるステップと、
プレゼンスモデルのプレゼンス状態が変化したときは、前記関連づけられたエンティティのコンピュータシステムに前記プレゼンスモデルの新しいプレゼンス状態を通知するステップと
を含むことを特徴とする方法。
【請求項２１】
前記関連づけられたプレゼンスモデルに基づいてエンティティの前記アクセス権が指定されることを特徴とする請求項２０に記載の方法。
【請求項２２】
前記通知のステップは、前記関連づけられたプレゼンスモデルのプレゼンス情報への前記エンティティの前記アクセス権に従うことを特徴とする請求項２１に記載の方法。
【請求項２３】
プレゼンスモデルはプレゼンス状態の階層構造であることを特徴とする請求項２０に記載の方法。
【請求項２４】
各エンティティがアクセス権を有する、前記新しいプレゼンス状態に最も近い上位プレゼンス状態が前記エンティティに通知されることを特徴とする請求項２３に記載の方法。
【請求項２５】
第１のエンティティの第１のコンピュータシステムを制御して、前記第１のエンティティのプレゼンス情報へのアクセスを提供する命令を含むコンピュータ可読媒体であって、
前記第１のエンティティの前記プレゼンス情報への第２のエンティティのアクセス権を前記第１のコンピュータシステムで提供するステップ、および
前記第１のエンティティのプレゼンス情報が変化したときは、前記第１のエンティティのプレゼンス情報の前記変化の指示を、前記第２のエンティティの前記アクセス権に従って前記第１のコンピュータシステムから前記第２のエンティティの第２のコンピュータシステムに送信するステップを備えることを特徴とするコンピュータ可読媒体。
【請求項２６】
前記第１のコンピュータシステムと前記第２のコンピュータシステムとはピアであることを特徴とする請求項２５に記載のコンピュータ可読媒体。
【請求項２７】
前記第１のコンピュータシステムおよび前記第２のコンピュータシステムは各エンティティのコンピュータシステムからなるネットワーク内に存在し、あるコンピュータシステムはそれが属するエンティティの前記プレゼンス情報への各エンティティのアクセス権を提供することを特徴とする請求項２５に記載のコンピュータ可読媒体。
【請求項２８】
前記第１のエンティティのプレゼンス状態を指定するプレゼンスモデルを前記第１のコンピュータシステムで提供するステップを含むことを特徴とする請求項２５に記載のコンピュータ可読媒体。
【請求項２９】
前記第１のエンティティに複数のプレゼンスモデルが提供され、各エンティティは前記プレゼンスモデルの１つに関連づけられることを特徴とする請求項２８に記載のコンピュータ可読媒体。
【請求項３０】
前記プレゼンス状態は階層的に構成されることを特徴とする請求項２８に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
記載の技術は一般に、プレゼンス情報へのアクセスを制御することに関する。
【背景技術】
【０００２】
コンピュータシステムを介した会話参加者間の実時間会話は、ますます一般的なものになってきている。実時間会話では、参加者がコンピュータシステム（例えば、携帯情報端末）の前にいて通信を受信したときに応答できることが必要になる。実時間会話の最も一般的な形は、インスタントメッセージサービスによって提供される。インスタントメッセージサービスを用いると、各参加者がメッセージを送信し、そのメッセージを会話の他の参加者が数秒以内に受信することが可能になる。次いで、受信した参加者は、同様に他の参加者に応答メッセージを送信することができる。有効に機能させるためには、実時間会話においては、参加者が受信メッセージに直ちに気づき、確認し、応答することが必要になる。この即時応答性こそが、従来の電子メールシステムと大きく異なる部分であり、従来のシステムでは、電子メールメッセージの受信者は、都合の良いときにメッセージに応答する。
【０００３】
開始側の参加者が実時間会話を開始しようとするとき、その参加者は、意図した参加者が実時間でメッセージに応答できるかどうかを知る必要がある。実時間で応答できない場合は、従来の電子メール、ボイスメール、その他の機構による通信の方が、おそらくより適切であろう。例えば、意図した参加者のコンピュータが現在電源オフの場合は、実時間会話は不可能になる。さらに、意図した参加者のコンピュータが現在電源オンの場合でも、その参加者がコンピュータの前を離れている場合はやはり、実時間会話は不可能であろう。開始側の参加者は、通信の形態を適切に決定できるように、意図した参加者の応答可能性を知りたいと思うはずである。
【０００４】
エンティティ、例えばコンピュータシステムやそのコンピュータシステムに関連するユーザなどの使用可能状況を「プレゼンス情報」と呼ぶ。各ユーザは、他のユーザがどのようにすればそのユーザと最もうまく通信できるかを決定できるように、そのユーザのプレゼンス情報を使用可能にする。例えば、プレゼンス情報は、あるユーザがインスタントメッセージサーバにログオンしている（「オンライン」）か、またはログオフしている（「オフライン」）かについて指示することができる。プレゼンス情報は、ユーザの使用可能性に関するより詳細な情報を提供することもできる。例えば、ユーザがオンラインの場合でも、そのユーザが会議中でコンピュータの前から離れていることもある。その様な場合には、プレゼンス情報は「オンライン」でかつ「会議中」であると指示することができる。
【０００５】
インスタントメッセージ環境では、パブリッシュユーザ（「パブリッシャ」）は、プレゼンス情報をプレゼンスサーバに提供することができ、次いでプレゼンスサーバは、そのプレゼンス情報をサブスクライブユーザ（「サブスクライバ」）に提供する。したがって、プレゼンスサーバはサブスクライバ／パブリッシャモデルを使用して、プレゼンスサービスのユーザにプレゼンス情報を提供することができる。ユーザのプレゼンス情報が変化したときはいつでも、その変化がユーザのコンピュータシステムによってプレゼンスサーバに通知され、次いで、プレゼンスサーバは各サブスクライブユーザに変化を通知する。次に、サブスクライブユーザは、意図した参加者のプレゼンス情報に基づいて、インスタントメッセージ会話を開始するかどうかを決定することができる。
【０００６】
ユーザのプライバシーを保護するために、プレゼンスサーバでは、ユーザがユーザのプレゼンス情報にアクセス制御権を指定することが可能である。例えばユーザは、そのユーザのプレゼンス情報へのアクセスを許可されている他のユーザのリストをプレゼンスサーバに提供することができる。リストに載っていない他のユーザがそのユーザのプレゼンス情報をサブスクライブするよう要求したときは、プレゼンスサーバは要求を拒絶する。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
プレゼンス情報へのアクセス制御権をプレゼンスサーバによって実施する上での難点の１つは、サーバの記憶域および計算要件がボトルネックになることである。このボトルネックは、サーバがプレゼンスサーバの各ユーザに対するアクセス制御情報を格納しなければならないこと、ならびにサブスクライブ要求を受信したとき、およびユーザのプレゼンス情報が変化した場合に常にアクセス制御情報をチェックしなければならないことから生ずる。実時間会話による通信がさらに一般的になったときには、数千万ユーザのアクセス制御情報を格納することが必要になるはずである。したがってサーバは、ますます多くのユーザおよびサブスクリプション要求に対応できるようになる必要がある。
【０００８】
アクセス制御権の格納および実施に関するもう１つの問題点は、プレゼンスサーバが一般に、エンティティの使用可能性を記述した所定のプレゼンス状態の組を備えていることである。しかし、これら所定のプレゼンス状態の組は、多くの状況において、ユーザのプレゼンス状態を実際に記述していないことがある。例えば、ビジネスマンにとって適切なプレゼンス状態は、大学生にとっては適切でない可能性がある。また、一人の人が、その時々の状況に応じて様々なプレゼンス状態を有することもある。例えば、勤務中の人は余暇時間とは大きく異なるプレゼンス状態を有することがある。
【０００９】
プレゼンスサーバのこのようなボトルネックを回避し、プレゼンス状態の柔軟な指定を可能にする実時間通信アーキテクチャがあれば望ましいであろう。
【課題を解決するための手段】
【００１０】
プレゼンス情報システムを用いることにより、パブリッシュエンティティのプレゼンス情報へのアクセスを、プレゼンスサーバではなく、パブリッシュエンティティによって制御し、パブリッシュエンティティのコンピュータシステムによってピアツーピアベースで実施することが可能になる。サブスクライブエンティティは、パブリッシュエンティティのプレゼンス情報をサブスクライブすることを求める要求をそのパブリッシュエンティティにピアツーピアベースで送信することができる。パブリッシュエンティティが、そのプレゼンス情報をサブスクライブしたいという要求を受信したとき、パブリッシュコンピュータシステムのプレゼンス情報システムは、サブスクライブエンティティのアクセス権に基づいてその要求を許可または拒絶することができる。要求が許可された場合、パブリッシュエンティティは、現在のプレゼンス状態ならびに新しいプレゼンス状態をサブスクライブエンティティに通知する。このプレゼンス情報システムにより、パブリッシュエンティティが、そのパブリッシュエンティティのプレゼンス状態を指示するそれ自体のプレゼンスモデルを定義することも可能になる。
【発明を実施するための最良の形態】
【００１１】
ピアツーピアベースでプレゼンス情報へのアクセスを制御する方法およびシステムが提供される。一実施形態では、このプレゼンス情報システムを用いることで、パブリッシュエンティティのプレゼンス情報へのアクセスを、プレゼンスサーバではなく、パブリッシュエンティティによって制御し、パブリッシュエンティティのコンピュータシステムによってピアツーピアベースで実施することが可能になる。サブスクライブエンティティが、例えば、プレゼンスサーバを使用してパブリッシュエンティティのコンピュータシステムのアドレスを検出した後で、サブスクライブエンティティは、検出したアドレスを使用して、ピアツーピアベースでパブリッシュエンティティのプレゼンス情報をサブスクライブすることを求める要求をそのパブリッシュエンティティに送信することができる。パブリッシュエンティティがそのプレゼンス情報をサブスクライブしたいという要求を受信したとき、パブリッシュコンピュータシステムのプレゼンス情報システムは、サブスクライブエンティティのアクセス権に基づいてその要求を許可または拒絶することができる。要求が許可された場合は、パブリッシュエンティティは、現在のプレゼンス状態ならびにその状態が変化したときには新しいプレゼンス状態をサブスクライブエンティティに通知する。プレゼンスサーバではなくパブリッシュコンピュータシステムがそのサブスクライブエンティティのアクセス権を維持し実施するので、プレゼンスサーバはそれを実施するオーバヘッドから開放されることになり、プレゼンスサーバに重い負荷を負わせることなくプレゼンス情報にアクセスするエンティティの数を増やすことが可能になる。
【００１２】
パブリッシュエンティティのプライバシー管理を支援するために、プレゼンス情報システムは、パブリッシュエンティティがプレゼンス情報の様々な詳細レベルでサブスクライブエンティティのアクセス権を定義できるようにすることができる。例えば、パブリッシュエンティティは、あるサブスクライブエンティティに対して、パブリッシュエンティティがオンラインかオフラインかを知る権限は有するが、パブリッシュエンティティがオンラインのときに、それ以上の詳細を知る権限を有さないように指定することができる。しかし、パブリッシュエンティティは、他のサブスクライブエンティティに対して、パブリッシュエンティティがオンラインのときに、そのパブリッシュエンティティが会議中である、あるいは昼食で外出中であるなど、より詳細な内容を知る権限を有するように指定することもできる。さらに、このプレゼンス情報システムによれば、エンティティが所定のプレゼンス状態の組を利用する代わりに、そのプレゼンス情報に対するプレゼンスモデルを定義できるようにすることも可能になる。プレゼンスモデルでは、プレゼンス状態の階層構造を定義することも可能である。例えば、あるパブリッシュエンティティでは、「オンライン」状態の中に「在宅中」または「勤務中」というプレゼンス状態を指定するプレゼンスモデルを定義することができる。一方、他のパブリッシュエンティティでは、「オンライン」状態の中に「東海岸」または「西海岸」というプレゼンス状態を指定することもできる。プレゼンス情報システムを用いると、パブリッシュエンティティが、それ自体のプレゼンスモデルに基づいてサブスクライブエンティティのアクセス権を定義することが可能になる。また、プレゼンス情報システムを用いると、パブリッシュエンティティが複数のプレゼンスモデルを定義して、個々のサブスクライブエンティティに異なるプレゼンスモデルを提示することも可能になる。例えば、パブリッシュエンティティは、同僚に提供するプレゼンスモデルとは異なるプレゼンスモデルを配偶者に提供することができる。この様に、このプレゼンス情報システムを用いることで、パブリッシュエンティティが、そのパブリッシュエンティティの状況に基づいてカスタマイズされたプレゼンスモデルを定義することが可能になり、またパブリッシュエンティティが、個々のサブスクライブエンティティに異なるプレゼンスモデルを提供することも可能になる。
【００１３】
図１は、一実施形態におけるプレゼンスモデルを示す図である。プレゼンスモデル１００は、パブリッシュエンティティのプレゼンス状態の階層構造を定義する。第１レベルのプレゼンス状態１１０は、「オフライン」１１１、「オンライン」１１２、および「選択不可」１１３である。「オフライン」はパブリッシュエンティティが現在使用できないことを示し、「オンライン」はパブリッシュエンティティが現在プレゼンスサーバにログオンしていることを示し、「選択不可」は現在選択可能なプレゼンス情報が存在しないことを示している。「オンライン」プレゼンス状態についての第２レベルのプレゼンス状態１２０は、「在宅中」１２１、「勤務中」１２２、および「その他」１２３である。「在宅中」はパブリッシュエンティティが在宅でオンラインであることを示し、「勤務中」はパブリッシュエンティティが勤務中でオンラインであることを示し、「その他」はパブリッシュエンティティが他の場所でオンラインであることを示す。「勤務中」プレゼンス状態の第３レベルプレゼンス状態１３０は、「会議中」１３１、「電話中」１３２、および「昼食中」１３３であり、これらは自己報告である。「会議中」プレゼンス状態の第４レベルプレゼンス状態１４０は、「社内」１４１および「社外」１４２であり、これも自己報告である。このプレゼンス情報システムにより、ユーザがプレゼンスモデルのプレゼンス状態の階層構造を定義すること、および複数のプレゼンスモデルを定義することが可能になる。
【００１４】
一実施形態では、プレゼンスモデルの各プレゼンス状態は関連するアクセス制御リストを有することができる。アクセス制御リストは、そのプレゼンス状態に関連するプレゼンス情報へのサブスクライブエンティティのアクセス権を定義するものである。パブリッシュエンティティが新しいプレゼンス状態に変化したとき、プレゼンス情報システムは、新しいプレゼンス状態に関して適切なアクセス権を有する各サブスクライブエンティティに通知する。一般に、サブスクライブエンティティには、そのサブスクライブエンティティがアクセス権を有する、新しいプレゼンス状態に最も近い上位プレゼンス状態（新しいプレゼンス状態それ自体のこともある）が通知される。例えば、ある社員はその管理者に「勤務中」および「会議中」プレゼンス状態へのアクセス権は与えるが、その社員の「電話中」および「昼食中」プレゼンス状態へのアクセス権を与えないようにすることができる。社員が会議を離れ昼食に出かけたとき、このプレゼンス情報システムは、その社員が現在、管理者がアクセス権を持つ最も近い上位プレゼンス状態である「勤務中」であると管理者に通知する。その同じ社員は、秘書に「電話中」および「昼食中」プレゼンス状態へのアクセス権を与えることができる。その社員が昼食に出かけたとき、プレゼンス情報システムは、その秘書に社員が現在「昼食中」であると知らせる。その社員が昼食から戻り電話で話を始めると、プレゼンス情報システムは、秘書にその社員が現在「電話中」であると通知する。しかし、管理者には既に社員が「勤務中」だと通知済みであり、管理者が「電話中」プレゼンス状態に対するアクセス権を有していないので、プレゼンス情報システムは管理者には通知をしない。したがって、各サブスクライブエンティティは、アクセス権によって規定されたプレゼンスモデルへの異なるビューを有しているものと見なすことができる。プレゼンス情報システムは、各サブスクライブエンティティに、そのビュー内のプレゼンス状態の変化だけを通知することができる。
【００１５】
図２は、一実施形態における、ユーザのピアコンピュータシステム上で維持されるプレゼンス情報システムのデータ構造を示す構成図である。このデータ構造には、パブリッシャ／状態テーブル２０１、サブスクライバ／アクセス権テーブル２０２、およびプレゼンスモデル２０３が含まれる。プレゼンスモデルはプレゼンス状態の階層構造を表すものであり、例えば、各プレゼンス状態がツリーのノードで表される従来のツリーデータ構造によって表すことができる。ユーザは、独自のプレゼンスモデルを定義することができる。パブリッシャ／状態テーブルは、ユーザがサブスクライブしている各パブリッシュエンティティのエントリを含む。例えば、最初のエントリは、ユーザが「ユーザ５」のプレゼンス情報をサブスクライブしており、「ユーザ５」が現在「オンライン／勤務中」であることを示す。コンピュータシステムが、「ユーザ５」のプレゼンス状態の変化に関する通知を受信するとすぐに、プレゼンス情報システムはパブリッシャ／状態テーブルのそのエントリを更新する。インスタントメッセージシステムや他のいくつかのシステムでは、パブリッシャ／状態テーブルにアクセスして、ユーザがサブスクライブしているパブリッシュエンティティの現在のプレゼンス状態を識別することができる。サブスクライバ／アクセス権テーブルは、ユーザがプレゼンス情報をサブスクライブしている各エンティティについてのエントリを含む。各エントリは、サブスクライブエンティティの識別をそのアクセス権にマップする。一実施形態では、アクセス権は、プレゼンスモデルの各ノードに対するブール値を有するベクトルとして指定される。各ノードのブール値は、サブスクライブエンティティがそのノードのプレゼンス状態へのアクセス権を有しているかどうかを指示する。
【００１６】
図３は、一実施形態における、各ユーザによって使用されるプレゼンス情報システムのデータストアおよびコンポーネントを示す構成図である。以下では、サブスクライブおよびパブリッシュエンティティはどちらもユーザであるコンテクストで、プレゼンス情報システムについて説明する。当業者ならば、同様の機能をコンピュータシステム同士、コンピュータシステムとユーザの組合せ、ユーザのグループなどのプレゼンス情報のために提供できることが理解されよう。各ユーザは、そのコンピュータシステム上にプレゼンス情報システムのインスタンスを持つことができる。プレゼンス情報システムは、プレゼンス情報をピアツーピアベースでサブスクライブし、アクセス制御し、パブリッシュするための各コンポーネントを含む。プレゼンス情報システム３００は、データストア３０１〜３０４および３０９、ならびにコンポーネント３０５〜３０８を含む。プレゼンス情報システムは、図２に関して前述のパブリッシャ／状態テーブル３０１、サブスクライバ／アクセス権テーブル３０２、およびプレゼンスモデル３０３を含む。プレゼンス情報システムはユーザ／アクセス権テーブル３０４も含み、アクセス権テーブルは、パブリッシュユーザによってアクセス権が定義された各ユーザについてのエントリを含む。ユーザのプレゼンス情報を各ユーザがサブスクライブするときには、プレゼンス情報システムは、サブスクライブユーザのアクセス権をサブスクライバ／アクセス権テーブルのエントリにコピーして、アクセス権を実施する際に使用する。ユーザアクセス権設定コンポーネント３０５により、パブリッシュユーザは、そのプレゼンス情報への各サブスクライブユーザのアクセス権を設定することが可能になる。サブスクリプション要求受信コンポーネント３０６は、プレゼンス情報に対するサブスクリプション要求を受信し、要求ユーザのアクセス権に基づいてそのサブスクリプションを許可または拒絶する。サブスクライバ通知コンポーネント３０７は、パブリッシュユーザのプレゼンス状態の変化をサブスクライブユーザに通知する。プレゼンス状態エンジン３０８は、コンピュータシステムによって生成されたイベントを受信し、プレゼンスモデルに従ってユーザのプレゼンス状態を更新する。イベントは、コンピュータシステムの状態の調査に基づいて自動的に生成することもできるし、ユーザが手動で生成することもできる。プレゼンス情報システムはまた、各プレゼンスモデルの現在のプレゼンス状態を含むプレゼンス状態データストア３０９を含むこともできる。
【００１７】
プレゼンス情報システムが実装されるコンピュータ装置は、中央演算処理装置、メモリ、入力装置（例えば、キーボードおよびポインティング装置）、出力装置（例えば、表示装置）、および記憶装置（例えば、ディスク装置）などを含むことができる。メモリおよび記憶装置はコンピュータ可読媒体であり、プレゼンス情報システムを実施する命令を含むことができる。さらに、データ構造およびメッセージ構造は、通信リンク上の信号などのデータ伝送媒体を介して格納または送信することができる。インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、ポイントツーポイントダイアルアップ接続、携帯電話ネットワークなど、様々な通信リンクを使用することができる。
【００１８】
プレゼンス情報システムの各実施形態は、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップ装置、マルチプロセッサシステム、マイクロプロセッサベースのシステム、プログラマブル家電、デジタルカメラ、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、上記システムまたは装置のいずれかを含む分散コンピュータ環境など様々な動作環境に実装することができる。これらのコンピュータシステムは携帯電話、携帯情報端末、スマートフォン、パーソナルコンピュータ、プログラマブル家電、デジタルカメラなどであってもよい。
【００１９】
このプレゼンス情報システムは、１つまたは複数のコンピュータまたは他の装置によって実行されるコンピュータ実行可能な命令、例えばプログラムモジュールなどの一般的なコンテクストで説明することができる。一般に、プログラムモジュールには、特定のタスクを実施するかまたは特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。一般に、各プログラムモジュールの機能は、様々な実施形態の必要に応じて組み合わせること、または分散させることができる。
【００２０】
図４は、一実施形態におけるユーザアクセス権設定コンポーネントの処理を示す流れ図である。このコンポーネントには、パブリッシュユーザへのアクセス権が制御されるユーザの指示が渡される。このコンポーネントはユーザインタフェースを提供し、そのインタフェースを通してパブリッシュユーザはアクセス権を指定することができる。ブロック４０１でコンポーネントは、渡されたユーザに適したプレゼンスモデルを取り出す。ブロック４０２で、コンポーネントは取り出されたプレゼンスモデルの情報を表示する。このコンポーネントにより、各プレゼンス状態の指示を表示することが可能になり、ユーザが、渡されたユーザにパブリッシュユーザのプレゼンス状態へのアクセスを許可するかどうかを指示できるようにすることが可能になる。ブロック４０３で、コンポーネントは、渡されたユーザのアクセス権をパブリッシュユーザから受信する。ブロック４０４で、コンポーネントはユーザ／アクセス権テーブルを更新して渡されたユーザの新しいアクセス権を反映する。次いでコンポーネントは完了する。
【００２１】
図５は、一実施形態におけるサブスクリプション要求受信コンポーネントの処理を示す流れ図である。このコンポーネントには要求ユーザの指示が渡され、その要求を許可するか拒絶するかを決定する。判定ブロック５０１で、ユーザ／アクセス権テーブルに要求ユーザのエントリが含まれていない場合は、このコンポーネントはその要求を拒絶し終了する。要求ユーザのエントリが含まれている場合は、コンポーネントはブロック５０２に続く。ブロック５０２で、コンポーネントは、ユーザ／アクセス権テーブルから要求ユーザのエントリを取り出す。ブロック５０３で、コンポーネントは、そのエントリをサブスクライバ／アクセス権テーブルに格納する。ブロック５０４で、コンポーネントは、要求ユーザにサブスクリプションが許可されたことを通知する。次いで、このコンポーネントは終了する。
【００２２】
図６は、一実施形態におけるサブスクライバ通知コンポーネントの処理を示す流れ図である。コンポーネントは、パブリッシュユーザのプレゼンス状態が変化したときに呼び出される。このコンポーネントには新しいプレゼンス状態が渡され、必要に応じてそれをサブスクライブユーザに通知する。ブロック６０１で、コンポーネントは、サブスクライバ／アクセス権テーブルによって指示された次のサブスクライブユーザを選択する。判定ブロック６０２で、全てのサブスクライブユーザが選択済みの場合は、コンポーネントはリターンする。選択済みでない場合は、コンポーネントは６０３に続く。ブロック６０３で、コンポーネントは選択されたサブスクライブユーザのアクセス権を取り出す。ブロック６０４で、コンポーネントは新しいプレゼンス状態に対応するプレゼンスモデルのノードを選択する。ブロック６０５〜６０７で、コンポーネントは、選択されたサブスクライブユーザがアクセス権を有する、新しいプレゼンス状態の最も近い上位プレゼンス状態を探してループする。判断ブロック６０５で、選択されたノードがルートノードの場合は、サブスクライブユーザが新しいプレゼンス状態へのアクセス権を有していなかったことになるので、コンポーネントはブロック６０１にループし、次のサブスクライブユーザを選択する。ルートノードでない場合は、コンポーネントはブロック６０６に続く。判定ブロック６０６で、選択されたプレゼンス状態にアクセスする権限が選択されたサブスクライブユーザに与えられている場合は、コンポーネントはブロック６０８に続き、権限が与えられていない場合は、コンポーネントは６０７に続く。ブロック６０７で、コンポーネントは選択されたノードの上位ノードを選択する。次いで、ブロック６０５にループして、その選択された上位ノードにアクセスする権限が、選択されたサブスクライブユーザに与えられているかどうかを判定する。ブロック６０８で、コンポーネントは、選択されたノードのプレゼンス状態の指示を選択されたサブスクライブユーザに送信し、ブロック６０１にループして次のサブスクライブユーザを選択する。
【００２３】
図７は、一実施形態における、アクセス制御リスト生成コンポーネントの処理を示す流れ図である。この実施形態では、プレゼンス情報システムは各プレゼンス状態に対するアクセス制御リストを維持する。プレゼンス状態が変化したとき、プレゼンス情報システムは新しいプレゼンス状態の各上位ノードを訪ね、指示されたようにサブスクライブユーザに通知することができる。プレゼンス情報システムは、その状態のプレゼンス情報にアクセスできる各サブスクライブユーザの指示を各ノードに格納することができる。この場合、サブスクライブユーザは、ルートノードからそのサブスクライブユーザがアクセスできる最も詳細なプレゼンス状態のノードまでの各ノードで識別されることになる。代替実施形態では、プレゼンス情報システムは、リーフノードへの各経路上で各サブスクライブユーザがアクセスできる最も詳細なプレゼンス状態のノードだけでサブスクライブユーザを指示することもできる。この実施形態では、（サブスクライブユーザがすべての上位プレゼンス状態へのアクセス権を有すると想定することができるので、）上位ノードでの冗長情報の格納を回避することができるが、このプレゼンス情報システムでは、新しいプレゼンス状態のノードの経路上で、ルートノードからリーフノードまでの各ノードを訪ねることが必要になる。このコンポーネントは、プレゼンスモデルの各プレゼンス状態と関連するアクセス制御リストを生成する。ブロック７０１で、コンポーネントは、サブスクライバ／アクセス権テーブルの次のサブスクライブユーザを選択する。判定ブロック７０２で、すべてのサブスクライブユーザが選択済みの場合は、コンポーネントは終了する。選択済みでない場合は、コンポーネントはブロック７０３に続く。ブロック７０３で、コンポーネントは、選択されたサブスクライブユーザに関するアクセス権を取り出す。ブロック７０４〜７０７で、コンポーネントは、選択されたサブスクライバがアクセスできる各プレゼンス状態のアクセス制御リストに選択されたサブスクライブユーザを追加しながらループする。ブロック７０４で、コンポーネントは次のプレゼンス状態を選択する。判定ブロック７０５で、すべてのプレゼンス状態が選択済みの場合は、コンポーネントはブロック７０１にループし、次のサブスクライブユーザを選択する。すべてのプレゼンス状態が選択済みでない場合は、コンポーネントはブロック７０６に続く。判定ブロック７０６で、選択されたプレゼンス状態にアクセスする権限が、選択されたサブスクライブユーザに与えられている場合は、コンポーネントはブロック７０７に続く。権限が与えられていない場合は、コンポーネントはブロック７０４にループして次のプレゼンス状態を選択する。ブロック７０７で、コンポーネントは、選択されたサブスクライブユーザを選択されたプレゼンス状態のノードに関連するアクセス制御リストに加え、次いで、ブロック７０４にループして次のプレゼンス状態を選択する。
【００２４】
上述のことから、本明細書において、例示のためにプレゼンス情報システムの特定の実施形態について説明したこと、および本発明の範囲および趣旨から逸脱することなく様々な修正形態が実施し得ることが理解されよう。当業者ならば、企業（例えば、会社）関連のユーザが、各ユーザのプレゼンスモデルを企業のサーバ上に格納し、かつ／またはそのサーバによってそのモデルを実行させることができることが理解されよう。したがって、この様なサーバは、ユーザのコンピュータシステムのプロキシとして動作することになる。したがって、本発明は添付の特許請求の範囲によってのみ制限されるものである。
【図面の簡単な説明】
【００２５】
【図１】一実施形態におけるプレゼンスモデルを示す図である。
【図２】一実施形態における、ユーザのピアコンピュータシステム上で維持されるプレゼンス情報システムのデータ構造を示す構成図である。
【図３】一実施形態における、各ユーザによって使用されるプレゼンス情報システムのデータストアとコンポーネントを示す構成図である。
【図４】一実施形態における、ユーザアクセス権設定コンポーネントの処理を示す流れ図である。
【図５】一実施形態における、サブスクリプション要求受信コンポーネントの処理を示す流れ図である。
【図６】一実施形態における、サブスクライバ通知コンポーネントの処理を示す流れ図である。
【図７】一実施形態における、アクセス制御リスト生成コンポーネントの処理を示す流れ図である。
【符号の説明】
【００２６】
１００  プレゼンスモデル
１１０  第１レベルのプレゼンス状態
１１１  オフライン
１１２  オンライン
１１３  選択不可
１２０  第２レベルのプレゼンス状態
１２１  在宅中
１２２  勤務中
１２３  その他
１３０  第３レベルプレゼンス状態
１３１  会議中
１３２  電話中
１３３  昼食中
１４０  第４レベルプレゼンス状態
１４１  社内
１４２  社外
２０１  パブリッシャ／状態テーブル
２０２  サブスクライバ／アクセス権テーブル
２０３  プレゼンスモデル
３００  プレゼンスシステム
３０１  パブリッシャ／状態
３０２  サブスクライバ／アクセス権
３０３  プレゼンスモデル
３０４  ユーザ／アクセス権
３０５  ユーザアクセス権設定
３０６  サブスクリプション要求受信
３０７  サブスクライバ通知
３０８  プレゼンス状態エンジン
３０９  プレゼンス状態
【図１】
2006146899.tif 000003
【図２】
2006146899.tif 000004
【図３】
2006146899.tif 000005
【図４】
2006146899.tif 000006
【図５】
2006146899.tif 000007
【図６】
2006146899.tif 000008
【図７】
2006146899.tif 000009