(57)【要約】【課題】バディリストの動的生成方法を提供する。【解決手段】バディリストの生成は、状態監視モジュール（２）がある母集団を形成するＰＲＩＮＣＩＰＡＬ（５−ｉ）（１≦ｉ≦ｎ）の集合（母集団リスト（８））から、個々のＰＲＩＮＣＩＰＡＬの状態（６）のうち、動的に変化するものを監視し、その後バディリスト生成モジュール（３）が生成規則（１０）にマッチする状態を持つＰＲＩＮＣＩＰＡＬを選択することよって行われる。これにより、選択されたＰＲＩＮＣＩＰＡＬからなる部分集合（選択リスト（９））をユーザに提供する。【選択図】        図１
2004246397.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上の各クライアントが自クライアントまたは他クライアントに関する状態情報を管理するバディリストを自動生成する際のバディリストの動的生成方法であって、
各クライアントは、自クライアントに関する状態情報Ａを保存する状態管理手段と、他クライアントに関する状態情報Ｂを保存し、前記状態情報Ｂを管理するバディリスト（母集団リスト）を保持する状態監視手段と、所定の生成規則をもとにバディリスト（選択リスト）を生成するバディリスト生成手段と、前記選択リストを保持するバディリスト管理手段を備え、
自クライアントまたは他クライアントの何れかの状態が変化したときに、
前記状態管理手段は、前記状態情報Ａを更新し、前記バディリスト生成手段に送信する第１工程と、
前記状態監視手段は、前記母集団リストに含まれている他クライアントに対し、変化した状態を入手するための状態通知依頼情報を送信し、他クライアントより前記状態通知依頼情報に対応する状態変更通知情報と前記状態情報Ｂを受信する第２工程と、
前記状態監視手段は、前記状態変更通知情報をもとに、前記母集団リストが管理している状態情報Ｂを更新し、前記母集団リストを前記バディリスト生成手段に送信する第３工程と、
前記バディリスト生成手段は、前記第１工程にて前記状態管理手段より受信した前記状態情報Ａと、前記第３工程にて前記状態監視手段より受信した前記母集団リストが管理する前記状態情報Ｂと、前記生成規則をもとに前記選択リストを生成し、前記選択リストを前記バディリスト管理手段に送信する第４工程と、
前記バディリスト管理手段は、前記第４工程にて前記バディリスト生成手段より受信した前記選択リストを保持する第５工程を備えることを特徴とするバディリストの動的生成方法。
【請求項２】
前記バディリスト生成手段は、前記生成規則を変更する生成規則管理手段を備え、前記生成規則管理手段は、前記第４工程にて受信した前記状態情報ＡまたはＢにより前記生成規則を変更する第１変更工程を備えることを特徴とする請求項１に記載のバディリストの動的生成方法。
【請求項３】
前記生成規則管理手段は、自クライアントより生成規則を変更する操作が行われることにより前記生成規則を変更する第２変更工程を備えることを特徴とする請求項２に記載のバディリストの動的生成方法。
【請求項４】
ネットワーク上のサーバが各クライアントに関する状態情報を管理するバディリストを自動生成する際のバディリストの動的生成方法であって、
各クライアントは、自身に関する状態情報Ｃを保存する状態管理手段と、サーバにより生成され、送信されるバディリスト（選択リスト）を保持するバディリスト管理手段を備え、
サーバは、前記状態情報Ｃを保存し、前記状態情報Ｃを管理するバディリスト（母集団リスト）を保持する状態監視手段と、所定の生成規則をもとに前記選択リストを各クライアント毎に個別に生成するバディリスト生成手段を備え、
各クライアントの何れかの状態が変化したときに、
前記状態管理手段は、前記状態情報Ｃを更新する第６工程と、
前記状態監視手段は、前記母集団リストに含まれている各クライアントに対し、変化した状態を入手するための状態通知依頼情報を送信し、各クライアントより前記状態通知依頼情報に対応する状態変更通知情報と前記状態情報Ｃを受信する第７工程と、
前記状態監視手段は、前記状態変更通知情報をもとに、前記母集団リストが管理している状態情報Ｃを更新し、前記母集団リストを前記バディリスト生成手段に送信する第８工程と、
前記バディリスト生成手段は、前記第８工程にて前記状態監視手段より受信した前記母集団リストが管理する前記状態情報Ｃと、前記生成規則をもとに前記選択リストを各クライアント毎に個別に生成し、前記選択リストを各クライアントの前記バディリスト管理手段に各々送信する第９工程と、
前記バディリスト管理手段は、前記第９工程にて前記バディリスト生成手段より受信した前記選択リストを保持する第１０工程を備えることを特徴とするバディリストの動的生成方法。
【請求項５】
前記バディリスト生成手段は、前記生成規則を変更する生成規則管理手段を備え、前記生成規則管理手段は、前記第９工程にて受信した前記状態情報Ｃにより前記生成規則を変更する第３変更工程を備えることを特徴とする請求項４に記載のバディリストの動的生成方法。
【請求項６】
前記生成規則管理手段は、各クライアントより生成規則を変更する操作が行われることにより前記生成規則を変更する第４変更工程を備えることを特徴とする請求項５に記載のバディリストの動的生成方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、バディリストの動的生成方法に関するものであり、とくに任意形態のバディリストを自動生成するバディリストの動的生成方法に関するものである。
【０００２】
【従来の技術】
ネットワーク上でユーザの状態を把握する際にバディリストを使用することが一般的になっている。バディリストを使用する代表的な技術としてプレゼンスシステムがある。
【０００３】
プレゼンスシステムとは、各ユーザの通信状態を管理するシステム一般を指し、その基本的なアーキテクチャは、ＲＦＣ２７７８に示されている。プレゼンスシステムは、ＰＲＩＮＣＩＰＡＬの状態を提供するプレゼンティティと、それを観察するウォッチャー、および、プレゼンティティから状態を受け取り、これをウォッチャーに配信するプレゼンスサービスからなる。
【０００４】
多くのプレゼンスシステムでは、ウォッチャーが収集したＰＲＩＮＣＩＰＡＬの状態をバディリストとして表示する。バディリストはプレゼンスサービスの各ユーザが管理しなければならない。プレゼンスサービスを利用しているうちにコミュニケーションの相手が増えてくると、バディリストの管理にかかわるユーザの負担は大きくなるという問題がある。時間や場所などの状況に合わせて状態を観察する相手を変える場合は、それぞれに別のバディリストを用意しなければならず、ユーザの負担はさらに大きくなる。
【０００５】
内容が静的なバディリストは管理の負担の他にも問題がある。例えば、ユーザが仕事用バディリストとは別にプライベート用バディリストを持つことを考える。ユーザは、双方が仕事中ではない時に連絡をとるためにこのバディリストを用意しようと考えている。しかし、ユーザがこのようなバディリストを作ることは困難である。なぜなら、このプライベート用バディリストに表示される相手は、仕事をしているかどうかにかかわらず、常にこのバディリストに含まれるためである。相手の状態を限定したバディリストを、従来の静的なバディリストを使って作ることは、不可能である。
【０００６】
さらに、現状では、ユーザがＵＲＩを知らないＰＲＩＮＣＩＰＡＬの現在の状態を限定して、バディリストを作成することができない。例えば、位置情報を元に、乗客の近くを走っているタクシーが常に表示されるバディリストが考えられる。街中を走るタクシーの台数は、乗客がそれぞれのＵＲＩを１つ１つ把握するには多すぎる数である。従来のプレゼンスシステムには、ユーザ自身が、名前やメールアドレスからＰＲＩＮＣＩＰＡＬのＵＲＩを検索するものがあり、ユーザの数が多くてもこれらの情報から目的のＰＲＩＮＣＩＰＡＬをバディリストに登録することができる。しかし、状態から自動的にＵＲＩを検索する仕組みは存在しない。バディリストを利用した代表的な技術として特許文献１、２記載のものがあるが、何れも上記の問題点を克服するものではない。
【０００７】
【特許文献１】
特開２００２−０７４１６４号公報
【特許文献２】
特開２００２−１７００３２号公報
【０００８】
【発明が解決しようとする課題】
本発明は、上記の問題点を鑑みたものであり、各請求項毎に以下の目的を採り上げた。
【０００９】
請求項１に係る発明では、バディリストを所有するユーザと、バディリストに含まれる他のＰＲＩＮＣＩＰＡＬの両方の状態に合わせてバディリストを自動的に生成でき、また前記バディリストが見やすくなるバディリストの動的生成方法を提供することを目的とする。
【００１０】
請求項２に係る発明では、ユーザが、ＰＲＩＮＣＩＰＡＬをバディリストに登録する条件を設定するだけで済むバディリストの動的生成方法を提供することを目的とする。
【００１１】
請求項３に係る発明では、ユーザが、ＰＲＩＮＣＩＰＡＬをバディリストに登録する条件を設定するだけで済むバディリストの動的生成方法を提供することを目的とする。
【００１２】
請求項４に係る発明では、バディリストを所有するユーザと、バディリストに含まれる他のＰＲＩＮＣＩＰＡＬの両方の状態に合わせてバディリストを自動的に生成でき、また前記バディリストが見やすくなり、特にユーザがＵＲＩを知らなくても、サーバが必要なプレゼンティティのＵＲＩをバディリストに含めてユーザに提供できるバディリストの動的生成方法を提供することを目的とする。
【００１３】
請求項５に係る発明では、ユーザが、ＰＲＩＮＣＩＰＡＬをバディリストに登録する条件を設定するだけで済むバディリストの動的生成方法を提供することを目的とする。
【００１４】
請求項６に係る発明では、ユーザが、ＰＲＩＮＣＩＰＡＬをバディリストに登録する条件を設定するだけで済むバディリストの動的生成方法を提供することを目的とする。
【００１５】
【課題を解決するための手段】
かかる目的を解決するため、請求項１に記載の発明は、ネットワーク上の各クライアントが自クライアントまたは他クライアントに関する状態情報を管理するバディリストを自動生成する際のバディリストの動的生成方法であって、各クライアントは、自クライアントに関する状態情報Ａを保存する状態管理手段と、他クライアントに関する状態情報Ｂを保存し、状態情報Ｂを管理するバディリスト（母集団リスト）を保持する状態監視手段と、所定の生成規則をもとにバディリスト（選択リスト）を生成するバディリスト生成手段と、選択リストを保持するバディリスト管理手段を備え、自クライアントまたは他クライアントの何れかの状態が変化したときに、状態管理手段は、状態情報Ａを更新し、バディリスト生成手段に送信する第１工程と、状態監視手段は、母集団リストに含まれている他クライアントに対し、変化した状態を入手するための状態通知依頼情報を送信し、他クライアントより状態通知依頼情報に対応する状態変更通知情報と状態情報Ｂを受信する第２工程と、状態監視手段は、状態変更通知情報をもとに、母集団リストが管理している状態情報Ｂを更新し、母集団リストをバディリスト生成手段に送信する第３工程と、バディリスト生成手段は、第１工程にて状態管理手段より受信した状態情報Ａと、第３工程にて状態監視手段より受信した母集団リストが管理する状態情報Ｂと、生成規則をもとに選択リストを生成し、選択リストをバディリスト管理手段に送信する第４工程と、バディリスト管理手段は、第４工程にてバディリスト生成手段より受信した選択リストを保持する第５工程を備えることを特徴とする。
【００１６】
請求項２に記載の発明は、請求項１に記載の発明において、バディリスト生成手段は、生成規則を変更する生成規則管理手段を備え、生成規則管理手段は、第４工程にて受信した状態情報ＡまたはＢにより生成規則を変更する第１変更工程を備えることを特徴とする。
【００１７】
請求項３に記載の発明は、請求項２に記載の発明において、生成規則管理手段は、自クライアントより生成規則を変更する操作が行われることにより生成規則を変更する第２変更工程を備えることを特徴とする。
【００１８】
請求項４に記載の発明は、ネットワーク上のサーバが各クライアントに関する状態情報を管理するバディリストを自動生成する際のバディリストの動的生成方法であって、各クライアントは、自身に関する状態情報Ｃを保存する状態管理手段と、サーバにより生成され、送信されるバディリスト（選択リスト）を保持するバディリスト管理手段を備え、サーバは、状態情報Ｃを保存し、状態情報Ｃを管理するバディリスト（母集団リスト）を保持する状態監視手段と、所定の生成規則をもとに選択リストを各クライアント毎に個別に生成するバディリスト生成手段を備え、各クライアントの何れかの状態が変化したときに、状態管理手段は、状態情報Ｃを更新する第６工程と、状態監視手段は、母集団リストに含まれている各クライアントに対し、変化した状態を入手するための状態通知依頼情報を送信し、各クライアントより状態通知依頼情報に対応する状態変更通知情報と状態情報Ｃを受信する第７工程と、状態監視手段は、状態変更通知情報をもとに、母集団リストが管理している状態情報Ｃを更新し、母集団リストをバディリスト生成手段に送信する第８工程と、バディリスト生成手段は、第８工程にて状態監視手段より受信した母集団リストが管理する状態情報Ｃと、生成規則をもとに選択リストを各クライアント毎に個別に生成し、選択リストを各クライアントのバディリスト管理手段に各々送信する第９工程と、バディリスト管理手段は、第９工程にてバディリスト生成手段より受信した選択リストを保持する第１０工程を備えることを特徴とする。
【００１９】
請求項５に記載の発明は、請求項４に記載の発明において、バディリスト生成手段は、生成規則を変更する生成規則管理手段を備え、生成規則管理手段は、第９工程にて受信した状態情報Ｃにより生成規則を変更する第３変更工程を備えることを特徴とする。
【００２０】
請求項６に記載の発明は、請求項５に記載の発明において、生成規則管理手段は、各クライアントより生成規則を変更する操作が行われることにより生成規則を変更する第４変更工程を備えることを特徴とする。
【００２１】
【発明の実施の形態】
以下本発明の実施例を図面を参照して説明する。本実施例ではプレゼンスシステムにおけるバディリストの動的生成方法に関して説明するが、本発明の適用範囲はプレゼンスシステムに限定するものではない。
【００２２】
（実施例１の構成）
本発明の実施例１の構成を図１に示す。実施例１は、バディリスト自動生成機能付きクライアント（１００）と他のクライアントに属する状態管理モジュール（１ａ）で構成する。バディリスト自動生成機能付きクライアント（１００）は状態管理モジュール（１）、状態監視モジュール（２）、バディリスト生成モジュール（３）、バディリスト管理モジュール（４）からなる。すべてのクライアントは、ネットワークを介して互いに接続されている。ただし、ネットワークに接続されてない場合があってもよい。
【００２３】
状態管理モジュール（１）は、ＰＲＩＮＣＩＰＡＬ（５）に関する状態を収集して内部に保存する。また、ＰＲＩＮＣＩＰＡＬの状態が変化したときは、ＰＲＩＮＣＩＰＡＬ状態保存部（１１）に格納されている状態（６）を変更し、バディリスト生成モジュール（３）に発行する。ＰＲＩＮＣＩＰＡＬの状態はＰＲＩＮＣＩＰＡＬ状態保存部（１１）に格納される。ＰＲＩＮＣＩＰＡＬの状態の監視および収集はＰＲＩＮＣＩＰＡＬ状態監視部（１２）が実行する。他のクライアントに属する状態管理モジュール（１ａ）は、ネットワークを介して状態監視モジュール（２）に状態（６）を発行する。
【００２４】
上に述べた状態は、さまざまな属性により表現される。例えば、「オンライン」、「オフライン」で示される通信の可否、緯度と経度であらわされる位置、「タクシーに乗りたい」、「電車に乗りたい」といった個人の意思や要求、「暑い」、「寒い」、「心地よい」といった個人の気分なども状態として定義することが可能である。例えば、あるＰＲＩＮＣＩＰＡＬの状態は「オンライン、暑い」と表現され、別のＰＲＩＮＣＩＰＡＬは「オンライン、タクシーに乗りたい、寒い」と表現される。プレゼンスサービスは、ＰＲＩＮＣＩＰＡＬをさまざまな側面からみた属性値を状態として管理する。
【００２５】
本実施例では母集団リスト（８）と選択リスト（９）と呼ぶ２種類のバディリストを用いる。バディリストは、ＰＲＩＮＣＩＰＡＬのＵＲＩ（７）を要素にするリストである。バディリストの各要素は、ＰＲＩＮＣＩＰＡＬのＵＲＩ（７）の他に、そのＰＲＩＮＣＩＰＡＬに関する１種類以上の状態（６）を持つことができる。母集団リスト（８）は状態監視モジュール（２）が保持するバディリストである。選択リスト（９）は、バディリスト生成モジュール（３）が生成し、状態提供モジュール（４）が保持するもので、ＧＵＩなどを介して画面に表示されるバディリストである。
【００２６】
状態監視モジュール（２）は母集団リスト（８）に含まれる１個以上のＰＲＩＮＣＩＰＡＬ（５−ｉ）（１≦ｉ≦ｎ）に対し、状態通知依頼を発行し（サブスクライブ）、状態変更通知を受信し、状態管理モジュール（１ａ）が発行する状態（６）を受け取ったときに内部で保持している状態を更新する。状態監視モジュール（２）内部のプレゼンティティ状態保存部（２１）は、ＰＲＩＮＣＩＰＡＬ（５−ｉ）の状態を母集団リスト（８）として保持する。もし母集団リスト（８）に含まれるＰＲＩＮＣＩＰＡＬが０個であっても、無登録のリストとして保持する。プレゼンティティ状態監視部（２２）は、状態管理モジュール（１ａ）の発行する状態（６）を待ち受ける。
【００２７】
バディリスト生成モジュール（３）は、状態監視モジュール（２）から得た母集団リスト（８）の各要素と、状態管理モジュール（１）から得たＰＲＩＮＣＩＰＡＬ（５）の状態（６）を比較し、ＰＲＩＮＣＩＰＡＬ（５）の状態（６）と特定の関係にある状態を持つＰＲＩＮＣＩＰＡＬ（５−ｉ）の要素からなる選択リスト（９）を生成する。選択リスト（９）の生成処理は選択リスト生成部（３１）において実行される。母集団リスト（８）に含まれるＰＲＩＮＣＩＰＡＬが０個である無登録のリストを利用する際、選択リスト生成部（３１）は無登録の選択リストを生成する。ＰＲＩＮＣＩＰＡＬ（５）の状態（６）と母集団リスト（８）のＰＲＩＮＣＩＰＡＬ（５−ｉ）の状態との関係を記述した生成規則（１０）は、生成規則保存部（３２）に格納される。生成規則管理部（３３）は、ＰＲＩＮＣＩＰＡＬが操作をするか、ＰＲＩＮＣＩＰＡＬの状態の入力があるか、あるいはその他の情報（時刻など）の入力があったときに、生成規則保存部（３２）にある生成規則（１０）を変更する。
【００２８】
バディリスト管理モジュール（４）は選択リスト（９）を保持する。選択リスト（９）は、バディリスト管理モジュール（４）内部のバディリスト保存部（４１）において保存される。
【００２９】
（実施例１の動作の説明）
実施例１の動作を▲１▼〜▲５▼のステップにて説明する。
【００３０】
▲１▼ＰＲＩＮＣＩＰＡＬ（５）の状態管理モジュール（１）は、ＰＲＩＮＣＩＰＡＬ（５）の状態が変化すると、これをバディリスト生成モジュール（３）に発行する。
【００３１】
１．ＰＲＩＮＣＩＰＡＬ状態監視部（１２）は、ＰＲＩＮＣＩＰＡＬ（５）から状態を取得すると、これをＰＲＩＮＣＩＰＡＬ状態保存部（１１）に保存された状態（６）と比較する。
【００３２】
２．状態（６）が前の状態と異なる場合、
２−１．ＰＲＩＮＣＩＰＡＬ状態保存部（１１）は、状態（６）を新しい状態で更新する。
２−２．ＰＲＩＮＣＩＰＡＬ状態保存部（１１）は、バディリスト生成モジュール（３）に新しい状態（６）を発行する。
【００３３】
▲２▼ＰＲＩＮＣＩＰＡＬ（５−ｉ）（１≦ｉ≦ｎ）の状態管理モジュール（１ａ−ｉ）は、ＰＲＩＮＣＩＰＡＬ（５−ｉ）の状態（６−ｉ）が変化すると、これを状態監視モジュールに発行する。
【００３４】
▲３▼状態監視モジュール（２）は、他のＰＲＩＮＣＩＰＡＬ（５−ｉ）の状態の変化の通知を受け取り、これをバディリスト生成モジュール（３）に発行する。
【００３５】
１．プレゼンティティ状態監視部（２２）は、母集団リスト（８）の各要素の指すＰＲＩＮＣＩＰＡＬの状態管理モジュール（１ａ−１）、（１ａ−２）、．．．、（１ａ−ｎ）から新しい状態の発行を受けるまで待機する。
【００３６】
２．プレゼンティティ状態監視部（２２）は、状態管理モジュール（１ａ−１）、（１ａ−２）、．．．  、（１ａ−ｎ）の何れかの（１ａ−ｉ）から新しい状態を受け取ると、プレゼンティティ状態保存部（２１）の母集団リスト（８）に保存されたＰＲＩＮＣＩＰＡＬ（５−ｉ）の状態と比較する。
【００３７】
３．新しい状態が前の状態と異なる場合、
３−１．プレゼンティティ状態保存部（２１）は、母集団リスト（８）のＰＲＩＮＣＩＰＡＬ（５−ｉ）の状態を更新する。
３−２．プレゼンティティ状態保存部（２１）は、母集団リストの要素の状態が更新されると、母集団リスト（８）をバディリスト生成モジュール（３）に渡す。
【００３８】
▲４▼バディリスト生成モジュール（３）は、▲１▼または▲３▼のステップにより、ＰＲＩＮＣＩＰＡＬ（５）または他のＰＲＩＮＣＩＰＡＬの状態の変化を受け取ると、選択リストを生成し直し、新しい選択リストをバディリスト管理モジュール（４）に対し発行する。
【００３９】
１．選択リスト生成部（３１）は、状態管理モジュール（１）が発行するあたらしいＰＲＩＮＣＩＰＡＬ（５）の状態（６）を待ち受ける。また同時に状態監視モジュール（２）が発行する新しい母集団リスト（８）を待ち受ける。
【００４０】
２．選択リスト生成部（３１）は、ＰＲＩＮＣＩＰＡＬ（５）の新しい状態（６）あるいは新しい母集団リスト（８）のいずれかを受け取ると、以下の処理を行う。
２−１．状態管理モジュール（１）からＰＲＩＮＣＩＰＡＬ（５）の新しい状態（６）を受け取ると、状態監視モジュール（２）から母集団リスト（８）を取得する。
２−２．状態監視モジュール（２）から新しい母集団リスト（８）を受け取ると、状態管理モジュール（１）から状態（６）を取得する。
【００４１】
３．選択リスト生成部（３１）は、母集団リスト（８）から、ＰＲＩＮＣＩＰＡＬ（５）の状態（６）と生成規則（１０）に定める関係にある状態を持つ要素を検索する。この検索で見つかった０個以上の要素を新規選択リストの要素とする。選択リスト生成部（３１）は、生成した選択リスト（９）をバディリスト管理モジュール（４）に渡す。
【００４２】
▲５▼バディリスト管理モジュール（４）は、バディリスト生成モジュールが発行する最新の選択リスト（９）を保持し、ＰＲＩＮＣＩＰＡＬに提示する。
【００４３】
（具体例１）
実施例１について、状態の変化に応じてユーザＡのバディリストが変化する様子を具体例１を用いて順を追って説明する。ここでユーザＡは、図１のＰＲＩＮＣＩＰＡＬ（５）に相当する。
【００４４】
プレゼンスサービスにはユーザＡの他にも多くのユーザ（ユーザＢ、ユーザＣ、．．．  ）が加入している。これらのユーザは、図１のＰＲＩＮＣＩＰＡＬ（５−ｉ）に相当する。プレゼンスサービスのすべての加入者は、自分の通信状態と位置をプレゼンス情報として持つ。また、任意のユーザの通信状態と位置を監視（サブスクライブ）することが可能である。
【００４５】
通信状態の取り得る値には、「オンライン」と「オフライン」がある。「オンライン」は電話の呼び出しに答えられることを示し、「オフライン」は呼び出しに答えられないことを示す。具体例１における位置は、最寄りの駅名で表される。あるユーザの位置が「東京」であれば、その人の現在の居場所の最寄り駅が東京駅であることを示す。
【００４６】
ユーザＡの状態が変化した場合は動作１−１、動作２、動作３の順に処理が進む。ユーザＡ以外のユーザの状態が変化した場合は、動作１−２、動作２、動作３の順に処理が進む。ユーザＡがバディリストの生成規則を変更する場合は、動作４が行われる。
【００４７】
（動作１−１）
１．ユーザＡが新しい位置「横浜」を状態管理モジュールに入力する。ユーザＡから新しい状態の入力があると、状態管理モジュールは次の処理を実行する。
【００４８】
２．入力された状態が、状態管理モジュール内部で保持している状態と異なる場合は、古い状態を破棄し、入力された状態を内部で保持する。例えば、現在状態管理モジュールが保持しているユーザＡの位置が「東京」であれば、これを「横浜」に置き換える。
【００４９】
３．バディリスト生成モジュールの処理を開始させる。
【００５０】
（動作１−２）
１．状態監視モジュールは、母集団リストに含まれるいずれかのユーザから状態変更通知メッセージを受信するまで待機している。
【００５１】
２．ユーザＢが位置を「新宿」から「東京」に変更し、状態監視モジュールに対し、状態変更通知を発行する。
【００５２】
３．状態監視モジュールは、保持する母集団リストの全ユーザのリストから、ユーザＢに対応する要素を検索し、位置の状態を「東京」にする。
【００５３】
４．バディリスト生成モジュールの処理を開始させる。
【００５４】
（動作２）
バディリスト生成モジュールは次の処理を実行する。
【００５５】
１．状態管理モジュールからユーザＡの位置を得る。状態管理モジュールは、内部で保持しているユーザＡの位置の状態をバディリスト生成モジュールに渡す。
【００５６】
２．状態監視モジュールから、状態監視モジュールが監視をしている全ユーザのＵＲＩと位置プレゼンスからなる母集団リストを得る。
【００５７】
３．母集団リストから、生成規則にあてはまる要素を検索する。検索の結果見つかった０個以上の要素をコピーして選択リストに格納する。生成規則が「ＩＦ  母集団リストのユーザの位置  ＝  ユーザＡの位置  ＴＨＥＮ  母集団リストのユーザを登録する」と記述されているとする。ユーザＡの位置が「東京」で、ユーザＢとユーザＥの位置が「東京」であれば、ユーザＢとユーザＥの要素が選択リストに格納される。
【００５８】
４．選択リストをバディリスト管理モジュールに渡す。
【００５９】
（動作３）
バディリスト管理モジュールは以下の処理を実行する。
【００６０】
１．バディリスト生成モジュールから新しい選択リストを得る。
【００６１】
２．新しい選択リストに含まれるユーザの通信状態をユーザＡに提示する。
【００６２】
ユーザＡが生成規則を変更する場合は、動作４の処理が実行される。
【００６３】
（動作４）
１．ユーザＡがバディリスト生成モジュールに新しい生成規則「ＩＦ  母集団リストのユーザの位置はユーザＡの位置から２駅の範囲内  ＴＨＥＮ  母集団リストのユーザを登録する」を入力する。
【００６４】
２．バディリスト生成モジュールは、それまで内部で保持していた古い生成規則を破棄し、入力された新しい生成規則を保存する。
【００６５】
（具体例２）
また他の具体例として、携帯電話の電話帳機能に本発明を適用する例を説明する。この例におけるユーザは、仕事状態とマナーモード設定状態をプレゼンスサービスに公開する。仕事状態は「仕事中」と「プライベート」であらわし、マナーモード設定状態は「マナー設定」と「マナー解除」であらわす。携帯電話に実装された状態管理モジュールは、ユーザのボタン操作から両者の状態を取得して保持する。また、状態が変化したときは、新しい状態をバディリスト生成モジュールに発行する。
【００６６】
状態監視モジュールは、携帯電話の電話帳に登録されているそれぞれの人の仕事状態とマナーモード設定状態を監視する。状態監視モジュールが保持する母集団リストは、電話帳と統合され、仕事状態とマナーモード設定状態が各人の電話番号とともに格納されている。電話帳の中の誰かの状態が変化したときは、状態監視モジュールが新しい母集団リストをバディリスト生成モジュールに発行する。
【００６７】
ユーザは、携帯電話に実装されたバディリスト生成モジュールに、生成規則「ＩＦ  電話帳に登録されている人の仕事状態  ＝  自分の仕事状態  ＡＮＤ  電話帳に登録されている人の仕事状態  ＝  マナー解除  ＴＨＥＮ  電話帳に登録されている人を選択リストに登録する」を設定している。バディリスト生成モジュールは、状態管理モジュールが発行する自分の状態、または、状態監視モジュールが発行する母集団リストを受け取ったときに、前述の生成規則を適用し、選択リストを生成する。
【００６８】
生成された選択リストは、ユーザが携帯電話の電話帳表示キーを押したときに画面に表示される。ユーザの仕事状態が「プライベート」であるときは、電話帳の中から、仕事状態が「プライベート」であり、かつ、マナーモード設定状態が「マナー解除」である人だけが画面に表示される。ユーザの状態と電話帳に登録された人の状態は、時間の経過に伴い変化し続ける。しかし、ユーザがキーを押した時に表示される選択リストは、いつでもそのときのユーザの状態と電話帳に登録された人の状態が反映されている。
【００６９】
（実施例２）
図２に本発明の実施例２の構成を示す。実施例２は、バディリスト自動生成機能付きクライアント（１０１）と、バディリスト自動生成機能付きプレゼンスサーバ（１０２）と、他のクライアントに属する状態管理モジュール（１ａ）で構成する。バディリスト自動生成機能付きクライアント（１０１）は、状態管理モジュール（１ａ）とバディリスト管理モジュール（４）を含む。クライアントは計ｎ個あり、バディリスト自動生成機能付きクライアント（１０１）も含まれる。
【００７０】
図２はＰＲＩＮＣＩＰＡＬ（５−ｉ）（１≦ｉ≦ｎ）のクライアントがバディリスト自動生成機能付きクライアントであることを示す。バディリスト自動生成機能付きプレゼンスサーバ（１０２）は、状態監視モジュール（２）とバディリスト生成モジュール（３ａ）を含む。実施例１では、１つのクライアントがすべてのモジュールを持つ一方、実施例２では、１つのサーバが複数のクライアントから共通に利用されるモジュールを持つ。すべてのクライアントはバディリスト自動生成機能付きプレゼンスサーバ（１０２）とネットワークを介して接続する。
【００７１】
状態管理モジュール（１ａ）は、ネットワークを介して状態監視モジュール（２）に状態（６−ｉ）を発行する。
【００７２】
実施例２の状態監視モジュール（２）は、実施例１の状態監視モジュール（２）と同じ機能を持つ。ただしこのモジュールは、サーバ上にあるため、母集団リスト（８）は、すべてのＰＲＩＮＣＩＰＡＬのＵＲＩ（７）と状態（６）を含む。
【００７３】
バディリスト生成モジュール（３ａ）は、状態監視モジュール（２）から母集団リスト（８）を得る。選択リストは、母集団リスト（８）のそれぞれの要素に対して個別に生成される。従ってバディリスト生成モジュール（３ａ）は複数の選択リストを生成することが可能である。また選択リスト（９−ｉ）には識別子が付与される。バディリスト生成モジュール（３ａ）は、ネットワークを介して接続するバディリスト自動生成機能付きクライアント（１０１）を持つＰＲＩＮＣＩＰＡＬ（５−ｉ）（１≦ｉ≦ｎ）それぞれに、選択リスト（９−ｉ）を発行する。選択リストの生成処理は、選択リスト生成部（３１ａ）において実行される。生成規則保存部（３２）には選択リストの生成規則（１０）が格納される。
【００７４】
状態監視モジュール（４）は実施例１の状態監視モジュール（４）と同じである。
【００７５】
また、実施例１、実施例２では、バディリスト生成モジュールは、いずれかのＰＲＩＮＣＩＰＡＬの状態が変更されるたびに状態監視モジュールから全ＰＲＩＮＣＩＰＡＬを含む母集団リストを取得していたが、バディリスト生成モジュールが、永続的にバディリストを保持することも可能である。あるＰＲＩＮＣＩＰＡＬの状態が変更された時は、ＵＲＩを追加する選択リストと削除する選択リストのみを更新し、更新前の選択リストを持つクライアントに更新後の選択リストを送信する。この方法により、複数のユーザが一つのバディリスト生成モジュールを共用する場合に１ユーザあたりの選択リスト生成時間を短縮することができる。
【００７６】
あるいは、バディリスト生成モジュールで保持されるバディリストの生存時間は、永続的でなく、一定期間であってもよい。
【００７７】
上記のように選択リストを保持するバディリスト生成モジュールでは、選択リストに自分のＵＲＩが含まれることがある。これを防ぐために、選択リストを発行するときに、発行先のＰＲＩＮＣＩＰＡＬのＵＲＩを選択リストから除外するバディリスト生成モジュールを設計することもできる。
【００７８】
実施例２において、母集団リストをＰＲＩＮＣＩＰＡＬごとに管理することで、各ＰＲＩＮＣＩＰＡＬが、あらかじめバディリストに含めても良い他のＰＲＩＮＣＩＰＡＬを制限することができる。各ＰＲＩＮＣＩＰＡＬが持つ母集団リストは、ワイルドカードを使ってバディリストに含めても良い他のＰＲＩＮＣＩＰＡＬのＵＲＩの集合を指定することもできる。
【００７９】
【発明の効果】
以上の説明から明らかなように、本発明により次の効果が得られる。
【００８０】
請求項１に係る発明では、バディリストを所有するユーザと、バディリストに含まれる他のＰＲＩＮＣＩＰＡＬの両方の状態に合わせてバディリストを自動的に生成できる。例えば、通信状態のほかに仕事中か休憩中かを状態として扱うプレゼンスサービスにおいて本発明を用いると、自分と相手が同じ状況（休憩中、仕事中など）の時だけ、通信状態が表示されるバディリストが可能である。また、前記バディリストが見やすくなる。バディリストに表示されるＰＲＩＮＣＩＰＡＬは、バディリストを持つユーザの状態と、バディリストに含まれるＰＲＩＮＣＩＰＡＬの状態に応じて自動的に選択できる。このため、バディリスト毎に表示ページを切り替えたり、長いバディリストをスクロール表示させる必要は無くなる。
【００８１】
請求項２に係る発明では、ユーザが管理する情報が１つで済む。ユーザは、ＰＲＩＮＣＩＰＡＬをバディリストに登録する条件を設定するだけである。本発明は、ユーザと他のＰＲＩＮＣＩＰＡＬの両方の状態に応じてバディリストに含まれるＰＲＩＮＣＩＰＡＬを自動的に変更する。このためユーザは、自分の状況に合わせて複数のバディリストを用意する必要が無い。複数のバディリストに同じＰＲＩＮＣＩＰＡＬを登録し管理する手間も省ける。
【００８２】
請求項３に係る発明では、ユーザが管理する情報が１つで済む。ユーザは、ＰＲＩＮＣＩＰＡＬをバディリストに登録する条件を設定するだけである。本発明は、ユーザと他のＰＲＩＮＣＩＰＡＬの両方の状態に応じてバディリストに含まれるＰＲＩＮＣＩＰＡＬを自動的に変更する。このためユーザは、自分の状況に合わせて複数のバディリストを用意する必要が無い。複数のバディリストに同じＰＲＩＮＣＩＰＡＬを登録し管理する手間も省ける。
【００８３】
請求項４に係る発明では、バディリストを所有するユーザと、バディリストに含まれる他のＰＲＩＮＣＩＰＡＬの両方の状態に合わせてバディリストを自動的に生成できる。例えば、通信状態のほかに仕事中か休憩中かを状態として扱うプレゼンスサービスにおいて本発明を用いると、自分と相手が同じ状況（休憩中、仕事中など）の時だけ、通信状態が表示されるバディリストが可能である。また、前記バディリストが見やすくなる。バディリストに表示されるＰＲＩＮＣＩＰＡＬは、バディリストを持つユーザの状態と、バディリストに含まれるＰＲＩＮＣＩＰＡＬの状態に応じて自動的に選択できる。このため、バディリスト毎に表示ページを切り替えたり、長いバディリストをスクロール表示させる必要は無くなる。特にユーザがＵＲＩを知らなくても、サーバが必要なプレゼンティティのＵＲＩをバディリストに含めてユーザに提供できる。実施例２においてこのような効果が得られる。例えば、通信状態に加えて位置をプレゼンス情報として扱うプレゼンスサービスにおいては、現在乗客の近くにあるタクシーだけをバディリストに含めることが可能である。中間サーバが乗客の位置に応じてバディリストを提供することで、乗客自身が数百台のタクシーをバディリストに登録し、バディリストの中から近くを走るタクシーを探す必要は無くなる。
【００８４】
請求項５に係る発明では、ユーザが管理する情報が１つで済む。ユーザは、ＰＲＩＮＣＩＰＡＬをバディリストに登録する条件を設定するだけである。本発明は、ユーザと他のＰＲＩＮＣＩＰＡＬの両方の状態に応じてバディリストに含まれるＰＲＩＮＣＩＰＡＬを自動的に変更する。このためユーザは、自分の状況に合わせて複数のバディリストを用意する必要が無い。複数のバディリストに同じＰＲＩＮＣＩＰＡＬを登録し管理する手間も省ける。
【００８５】
請求項６に係る発明では、ユーザが管理する情報が１つで済む。ユーザは、ＰＲＩＮＣＩＰＡＬをバディリストに登録する条件を設定するだけである。本発明は、ユーザと他のＰＲＩＮＣＩＰＡＬの両方の状態に応じてバディリストに含まれるＰＲＩＮＣＩＰＡＬを自動的に変更する。このためユーザは、自分の状況に合わせて複数のバディリストを用意する必要が無い。複数のバディリストに同じＰＲＩＮＣＩＰＡＬを登録し管理する手間も省ける。
【図面の簡単な説明】
【図１】実施例１に係る構成図である。
【図２】実施例２に係る構成図である。
【符号の説明】
１  状態管理モジュール
２  状態監視モジュール
３  バディリスト生成モジュール
４  バディリスト管理モジュール
５  ＰＲＩＮＣＩＰＡＬ
６  状態
７  ＵＲＩ
８  母集団リスト
９  選択リスト
１０  生成規則
【図１】
2004246397.tif 000003
【図２】
2004246397.tif 000004