(57)【要約】【課題】ピアツーピア（Ｐｅｅｒ  ｔｏ  Ｐｅｅｒ）プラットフォームをリアルタイム通話要求に適用した場合に、着信側が発信側の情報を取得できるようにする。【解決手段】通信要求を受け付けるための情報をネットワーク上に公開する公開手段と、他の端末装置から通信要求を受け付けた場合であって、その端末装置に関する情報を保有していない場合には、通話の開始に先立ち、その端末装置に対して、その端末装置に関する情報の要求を行なう情報要求手段とを備える着信端末装置と、ネットワーク上に公開された通信要求を受け付けるための情報に基づいて、他の端末装置に対して通信要求を行なう通信要求手段と、通信要求を行なった他の端末から自端末装置に関する情報の要求を受け付けた場合に、要求に係る情報を送信する情報要求応答手段とを備える発信端末装置とを有する。【選択図】  図３
2005026952.tif 000002
【特許請求の範囲】
【請求項１】
ピアツーピア（Ｐｅｅｒ  ｔｏ  Ｐｅｅｒ）の通話が可能な複数の端末装置を備えて構成される分散型コミュニケーションシステムであって、
通信要求を受け付けるための情報をネットワーク上に公開する公開手段と、
他の端末装置から通信要求を受け付けた場合であって、その端末装置に関する情報を保有していない場合には、通話の開始に先立ち、その端末装置に対して、その端末装置に関する情報の要求を行なう情報要求手段とを備える着信端末装置と、
ネットワーク上に公開された通信要求を受け付けるための情報に基づいて、他の端末装置に対して通信要求を行なう通信要求手段と、
通信要求を行なった他の端末から自端末装置に関する情報の要求を受け付けた場合に、要求に係る情報を送信する情報要求応答手段とを備える発信端末装置とを有することを特徴とする分散型コミュニケーションシステム。
【請求項２】
ネットワークを介して他の端末装置と通話のための通信を行なう端末装置であって、
通信要求を受け付けるための情報をネットワーク上に公開する公開手段と、
他の端末装置から通信要求を受け付けた場合であって、その端末装置に関する情報を保有していない場合には、通話の開始に先立ち、その端末装置に対して、その端末装置に関する情報の要求を行なう情報要求手段とを備えることを特徴とする端末装置。
【請求項３】
請求項２に記載の端末装置であって、
前記情報要求手段は、
他の端末装置から通信要求を受け付けた場合であって、操作者からの指示を受け付けた場合にも、その端末装置に対して、その端末装置に関する情報の要求を行なうことを特徴とする端末装置。
【請求項４】
請求項２または３に記載の端末装置であって、
前記情報要求手段は、他の端末装置に対して要求すべきその端末装置に関する情報を操作者からの指示に基づいて決定することを特徴とする端末装置。
【請求項５】
請求項２〜４のいずれか一項に記載の端末装置であって、
他の端末装置と通話のための通信を行なった場合には、その端末装置に関する情報を記憶する記憶手段をさらに備えることを特徴とする端末装置。
【請求項６】
請求項５に記載の端末装置であって、
前記情報要求手段は、前記記憶装置に通信要求に係る他の端末装置に関する情報を記憶していない場合に、その端末装置に関する情報を保有していないものと判断することを特徴とする端末装置。
【請求項７】
請求項２〜６のいずれか一項に記載の端末装置であって、
前記情報要求手段が要求した他の端末装置に関する情報を受信した場合に、その情報を表示する要求情報表示手段をさらに備えることを特徴とする端末装置。
【請求項８】
請求項７に記載の端末装置であって、
前記要求情報表示手段は、他の端末装置に関する情報の表示に際し、通話の承諾、通話の拒否のいずれかの選択を操作者に促すことを特徴とする端末装置。
【請求項９】
請求項２〜８のいずれか一項に記載の端末装置であって、
ネットワーク上に公開された通信要求を受け付けるための情報に基づいて、他の端末装置に対して通信要求を行なう通信要求手段と、
通信要求を行なった他の端末から自端末装置に関する情報の要求を受け付けた場合に、要求に係る情報を送信する情報要求応答手段をさらに備えることを特徴とする端末装置。
【請求項１０】
請求項９に記載の端末装置であって、
前記情報要求応答手段は、操作者からの指示に基づいて要求に係る情報を送信することを特徴とする端末装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、分散型コミュニケーションシステムに係り、特に、ピアツーピアによるリアルタイム通話を行なう端末装置に関する。
【０００２】
【従来の技術】
近年のブロードバンドネットワークの普及により、各家庭から高速なデータ通信が可能となっている。データ通信に用いる端末装置としては、従来はデスクトップ型のＰＣが主流であったが、可搬型のノートＰＣ、ＰＤＡ、携帯電話が広く利用されるようになってきた。また、ネットワークの形態も、従来の公衆回線網等を利用した有線型に加え、無線型のネットワークが急激に広まっており、駅や喫茶店のような公共の場でも無線ネットワークを利用できるサービスの実用化が始まっている。
【０００３】
このような背景から、「ユビキタス」「ＰｔｏＰ（Ｐｅｅｒ  ｔｏ  Ｐｅｅｒ、以下「Ｐ２Ｐ」とも記す。）」といったキーワードで、種々の技術が開発されている。
【０００４】
コミュニティ型のネットワークを形成するＰ２Ｐの利点は、あらかじめ固定的なサービスを知らなくても、実行時に予備知識なしにダイナミックに目標を検索できる点にある。例えば、ネットワーク上に自分の欲しいファイルがあるかどうかを探索して、ネットワーク上の任意の端末装置から得た情報を元に、目的のファイルを所有する端末装置から直接データを受取ることができる。実際に、このような仕組みを用いた音楽配信サービス、ファイル交換サービス等がインターネット上で利用されている。
【０００５】
非特許文献１、非特許文献２には、Ｐ２Ｐのプラットフォームとして、「ＪＸＴＡ」が記載されている。ＪＸＴＡはオープンソースコミュニティを形成し、各機能の拡張を進めている。
【０００６】
ＪＸＴＡでは、通信相手の探索、データ転送、Ｐ２Ｐグループ形成処理等を行うＣｏｒｅレイヤ、情報検索、共有、セキュリティを取り扱うＭｉｄｄｌｅレイヤ、ファイル共有、リソース共有、決済機能等を取り扱うＡｐｐｌｉｃａｔｉｏｎレイヤを備えて構成される。
【０００７】
ＪＸＴＡでは、自分が公開したい情報をブロードキャストして、その情報を利用したい他の端末装置からのアクセスを待つ。ここで情報の交換のために「パイプ」いう概念を用い、アクセスしてくる端末装置との間に「パイプ」を確立し、情報は「パイプ」を通してやり取りされる。ある情報にアクセスしようとする端末装置は、他の端末装置が公開した情報にくくりつけられた「パイプ」名を指定することで、目的の情報を公開している端末装置にたどり着くことができる。この際、端末装置を利用するユーザは、通信相手の端末装置のＩＰアドレス等を意識する必要はない。
【０００８】
【非特許文献１】
バーナード  トラバーサット（Ｂｅｒｎａｒｄ  Ｔｒａｖｅｒｓａｔ）他著、「ＪＸＴＡ  インア  ナットシェル（ＪＸＴＡ  ｉｎ  ａ  Ｎｕｔｓｈｅｌｌ）」、オレイリ（Ｏ’Ｒｅｉｌｌｙ）、２００２年９月
【非特許文献２】
サンマイクロシステムズ（Ｓｕｎ  Ｍｉｃｒｏｓｙｓｔｅｍｓ，  Ｉｎｃ．）、”プロジェクトＪＸＴＡ（ＰｒｏｊｅｃｔＪＸＴＡ）”、［ｏｎｌｉｎｅ］、［平成１５年２月２０日検索］、インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｊｘｔａ．ｏｒｇ＞
【０００９】
【発明が解決しようとする課題】
上述のＰ２Ｐプラットフォームは、元々ネットワーク上のどこかに存在するファイルの取得を目的の一つとして開発されたものである。すなわち、ファイルの属性を伴う「尋ねファイル」情報をネットワーク上に広告（ブロードキャスト）することにより、そのファイルに関する情報を有する端末装置からの情報を頼りに、目的のファイルに近づいていくという形式を取っている。ＪＸＴＡでは、ターゲットはファイルに限られてはいないが、「サービス名」のような「パイプ」名をキー情報として動作するようになっている。
【００１０】
上記技術を、人と人との音声等によるリアルタイムの「通話」に適用することが考えられている。ネットワークを利用した通話は、いわゆるＶｏＩＰによる電話サービスが代表的であるが、これは、通話相手として特定の人の特定の端末装置をＩＰアドレス等で指定するものである。相手端末装置のＩＰアドレス等がわからない場合には、端末装置のアドレスを管理するサーバ装置を介して相手端末装置のＴＰアドレスを取得すればよい。
【００１１】
一方、Ｐ２Ｐプラットフォームを通話に適用した場合には、ブロードキャストされた公開情報に基づいて通信相手を探索する必要がある。通信相手の探索については、上記の従来の技術を用いて実現することができるが、電話等がかかってきた側からすると、電話をかけてきた相手の情報に乏しく、応答すべきかどうかの判断材料に欠けることになる。
【００１２】
このため、Ｐ２Ｐプラットフォームを通話に適用した場合に、通話要求の着信時に着信側が発信側の情報を取得できることが望ましい。そこで、本発明は、主としてピアツーピアプラットフォームをリアルタイム通話要求に適用した場合に、着信側が発信側の情報を取得できるようにすることを目的とする。
【００１３】
【課題を解決するための手段】
上記課題を解決するために、本発明によれば、
ピアツーピア（Ｐｅｅｒ  ｔｏ  Ｐｅｅｒ）の通話が可能な複数の端末装置を備えて構成される分散型コミュニケーションシステムであって、
通信要求を受け付けるための情報をネットワーク上に公開する公開手段と、
他の端末装置から通信要求を受け付けた場合であって、その端末装置に関する情報を保有していない場合には、通話の開始に先立ち、その端末装置に対して、その端末装置に関する情報の要求を行なう情報要求手段とを備える着信端末装置と、
ネットワーク上に公開された通信要求を受け付けるための情報に基づいて、他の端末装置に対して通信要求を行なう通信要求手段と、
通信要求を行なった他の端末から自端末装置に関する情報の要求を受け付けた場合に、要求に係る情報を送信する情報要求応答手段とを備える発信端末装置とを有することを特徴とする分散型コミュニケーションシステムが提供される。
【００１４】
【発明の実施の形態】
本発明の実施形態について、図面を参照して詳細に説明する。
【００１５】
図１は、本発明の実施形態に関わる分散型コミュニケーションシステムを適用したネットワーク構成例を示す図である。
【００１６】
図１に示すように、分散型コミュニケーションシステムを適用したネットワークは、プロトコル変換装置であるゲートウェイ５を介して相互に接続されたパケット網１と公衆電話網６とを備えて構成される。パケット網１には、通話のための通信を行なう複数のクライアント端末装置（以降、端末装置）２ａ〜２ｉが接続され、公衆電話網６には電話機３が接続されている。なお、通話には、音声による通信（電話）に加え、文字による通信（いわゆるインスタントメッセージ）が含まれる。また、公衆電話網６には、携帯電話網も含まれる。
【００１７】
パケット網１は、例えば、ＩＰプロトコルに従ったパケット通信を行なうネットワークで、公衆無線ＬＡＮ１ａ、Ｉｎｔｅｒｎｅｔ１ｂ、アドホックネットワーク１ｃ等を含むことができる。本図の例では、公衆無線ＬＡＮ１ａが無線基地局４を介して有線のパケット網であるＩｎｔｅｒｎｅｔ１ｂと接続してる。
【００１８】
図２は、端末装置２の内部構成を示すブロック図である。
【００１９】
本図に示すように、端末装置２は、メモリ１０と、メモリ１０に格納されているプログラムに基づく処理を行うＣＰＵ１１と、蓄積装置１２と、キーボード、マウス、ペン、マイク（受話器）等の入力装置１３と、スピーカ、ディスプレイ等の出力装置１４と、パケット網１で通信を行うためのパケット網インタフェース１５と、アナログデータをディジタルデータへ変換するＡ／Ｄ変換装置１６と、ディジタルデータをアナログデータに変換するＤ／Ａ変換装置２９とを備えて構成され、それぞれが内部バスにより接続されている。なお、アドホックネットワーク１ｃに接続する場合には、さらに、ルーティング機能部を備えるようにする。
【００２０】
本実施例においては、メモリ１０上に通信プログラム、ユーザインタフェース（ＵＩ）プログラム等が格納されている。
【００２１】
メモリ１０上に格納された通信プログラムは、ＣＰＵ１１により実行されることにより、以下のような受信処理を行なうための処理部と送信処理を行なうための処理部とを端末装置２上に仮想的に生成する。
【００２２】
すなわち、受信処理を行なうための処理部として、パケット網インタフェース１５を介して受信したパケットからヘッダ情報を取るネットワークパケット分解処理部２３と、ヘッダ情報を取ったパケットの内容から音声データ／コマンド／データとに振り分けるデータ振り分け処理部２４と、受信したデータが音声データである場合に、送信端末装置２毎に音声データを一時バッファリングする複数の出力データキュー２５と、ある単位時間毎に出力データキュー２５から音声データを取り出し、音声データに付加されている情報と音声データを分解する音声データヘッダ除去処理部２６と、各出力データキュー２５にバッファリングされている音声データのうちの先頭の音声データを取り出してミキシング処理を行うミキシング処理部２７と、ミキシング音声データが符号化されている場合に復号処理を行うＤＥＣＯＤＥＲ２８と、データ振り分け処理部２４で振り分けられた受信データがコマンドである場合に、コマンド種別を解析するコマンド解析処理部３０と、データ振り分け処理部２４で振り分けられた受信データがデータである場合に、データ種別を解析するデータ解析処理部３１と、ユーザへ通知する必要のあるコマンドやデータについて、出力装置１４へ出力するためのデータを作成する出力データ生成処理部３２とを生成する。
【００２３】
また、送信処理を行なうための処理部として、ディジタル化された音声データを符号化するＣＯＤＥＲ１７と、ＣＯＤＥＲ１７による符号化音声データをパケット網１へ送出する音声データパケット化処理部１８と、パケットにされた音声データに通信相手のアドレス情報、パケットシーケンス番号、送信者識別子等を含んだヘッダ情報を付加するネットワークパケット化処理部１９と、ユーザが入力したイベントを解析するイベント解析処理部２０と、このイベントが音声通話のセッション制御に関するコマンドである場合に、コマンドを作成するコマンドパケット化処理部２１と、イベントが他のメッセージング処理によるデータである場合に、このデータを作成するデータパケット化処理部２２とを生成する。
【００２４】
ただし、ＣＯＤＥＲ１７、音声データパケット化処理部１８、ネットワークパケット化処理部１９、ネットワークパケット分解処理部２３、データ振分け処理部２４、出力データキュー２５、音声データヘッダ除去処理部２６、ミキシング処理部２７、ＤＥＣＯＤＥＲ２８等は、ハードウェアで構成するようにしてもよい。
【００２５】
メモリ１０上に格納されたユーザインタフェースプログラムは、ＣＰＵ１１により実行されることにより、ユーザインタフェース部３５を端末装置２上に仮想的に生成する。ユーザインタフェース部３５は、端末装置２上にシステムが提供する画面を表示し、画面上等で受け付けたユーザからの指示に基づいて、後述する各種の処理を行なう。
【００２６】
図１３は、端末装置２のユーザインタフェース部３５が表示する本システムのメイン画面の一例を示す図である。
【００２７】
本図に示すように、メイン画面には、ネットワークへ公開するサービスや情報のカスタマイズを行う「公開サービス」メニュー２３０、通信に用いる際のアドレス情報をカスタマイズするための「設定」メニュー、音声やテキストによるリアルタイム通信を処理するための「通話」メニュー２３２、他の端末装置が公開している情報やサービスの一覧を表示するためのエリア２３４、他の端末装置の公開サービス取得を要求する「Ｓｅａｒｃｈ」ボタン２３５、リアルタイム音声通信処理を要求する「ＣＡＬＬ」ボタン２３６、ＩＭ（Ｉｎｓｔａｎｔ  Ｍｅｓｓａｇｉｎｇ）処理を要求する「Ｍｅｓｓａｇｅ」ボタン２３７、本画面を閉じてシステム終了を要求するための「ＣＬＯＳＥ」ボタン２３８が配置されている。各ボタンがクリックされた場合の処理については後述する。
【００２８】
図１４は、メイン画面上で「公開サービス」メニュー２３０が選択された場合に表示される公開サービス画面の一例を示す図である。公開サービス画面は、端末装置２のユーザがネットワーク上に公開する情報、サービス等を設定するための画面である。
【００２９】
本図に示すように、公開サービス画面には、端末装置のＩＤのみを公開するか（チェックボックス２４０）、端末装置のＩＤ以外の情報も公開するか（チェックボックス２４１）を選択する領域と、公開する情報を指定するための領域が配置されている。公開する情報を指定するための領域には、氏名の公開を指定するためのチェックボックス２４２、隣接する趣味入力欄に入力した趣味の公開を指定するためのチェックボックス２４３、隣接する職業入力欄に入力した職業の公開を指定するためのチェックボックス２４４、隣接する年齢入力欄に入力した年齢の公開を指定するためのチェックボックス２４５を、隣接する居住国入力欄に入力した居住国の公開を指定するためのチェックボックス２４６、性別の公開を指定するためのチェックボックス２４７、隣接する電話番号入力欄に入力した電話番号の公開を指定するためのチェックボックス２４８、隣接する個別情報入力欄に入力した個別情報の公開を指定するためのチェックボックス２４９、隣接するサービス内容入力欄で設定したファイル公開等のサービスの公開を指定するためのチェックボックス２５０が配置されている。
【００３０】
また、公開サービス画面には、指定した情報の公開を実行するための「ＰＵＢＬＩＣ」ボタン２５１、設定内容を記憶させるための「ＯＫ」ボタン２５２、公開サービス設定処理を終了して画面をクローズするための「Ｃａｎｃｅｌ」ボタン２５３が配置されている。各ボタンがクリックされた場合の処理については後述する。
【００３１】
図１５は、メイン画面上で「設定」メニュー２３１が選択された場合にユーザインタフェース部３５が表示する設定画面の一例を示す図である。設定画面は、端末装置２および端末装置２のユーザに関する情報を設定するための画面である。
【００３２】
本図に示すように設定画面は、ユーザの氏名および性別を入力するエリア２６０、画面に表示したいニックネームを入力するエリア２６１、ＩＰ電話番号を入力するエリア２６２、サービスを公開する際のセッション（パイプ）待機用ポート番号を入力するエリア２６３、メディア待機用ポート番号を入力するエリア２６４、表示内容を登録するための「ＯＫ」ボタン２６５、処理をキャンセルするための「Ｃａｎｃｅｌ」ボタン２６６が配置されている。各ボタンがクリックされた場合の処理については後述する。なお、ユーザインタフェース部３５は、本画面を表示する際には、あらかじめ登録してある値、あるいは最近に登録した値を表示する。
【００３３】
図１６は、メイン画面上で「通話」メニュー２３２が選択された場合にユーザインタフェース部３５が表示する通話画面の一例を示す図である。通話画面は、実際に通話（ＩＭを含む）を行なうための画面である。
【００３４】
本図に示すように通話画面は、後述するバディリストに登録されたニックネームの一覧を表示するエリア２７０、通話中の相手のニックネーム等を表示するエリア２７４、エリア２７０で選択された相手へリアルタイムの音声通信を要求するための「ＣＡＬＬ」ボタン２７１、エリア２７０から選択された相手へテキストメッセージ通信を要求するための「Ｍｅｓｓａｇｅ」ボタン２７２、音声通信あるいはテキストメッセージ通信処理を終了するための「ＢＹＥ」ボタン２７３が配置されている。なお、通話画面は、メイン画面上で「ＣＡＬＬ」ボタン２３６がクリックされた場合にも表示される。
【００３５】
ユーザインタフェース部３５が表示するその他の画面については、関連する処理内容にあわせて説明する。
【００３６】
以上、端末装置２の内部構成について説明したが、ゲートウェイ５も、基本的に同様の内部構成とすることができる。ただし、ゲートウェイ５は、さらに、公衆電話網６とのインタフェースを有する。公衆電話網６とのインタフェースは、パケット網１ｂからのデータをアナログデータに変換して公衆電話網６へ出力し、公衆電話網６からのアナログデータをディジタルデータに変換してパケット網１ｂへ送出する。
【００３７】
また、ゲートウェイ５は、公衆電話網６の電話機３から、端末装置２が公開サービス画面で設定を受け付けた公開情報に関する指示を電話機３のユーザから受け付けて、蓄積装置１２に格納しておく。この情報は、後述するように、端末装置２からの詳細情報の問い合わせに対して返信される。
【００３８】
端末装置２およびゲートウェイ５の蓄積装置１２には、通信相手の情報を管理するバディリストが記憶される。図５は、バディリストのデータ構造の一例を示す図である。
【００３９】
本図に示すように本実施形態におけるバディリストは、通信相手の情報として、画面表示等に使用するニックネーム７０と、通信相手の端末装置を識別するためのユニークな識別子であるＩＤ７１と、通信相手の個人情報である詳細情報７２を管理する。詳細情報７２は、例えば、氏名７２ａ、公衆電話網あるいはＩＰ電話等の電話番号（ｔｅｌ−ｎｏ）７２ｂ、職業７２ｃ、趣味７２ｄ等を含んで構成される。バディリストへの登録は、最初の通話の際に端末装置２が通話先から自動的に取得したり、ユーザからの指示に基づいて登録したりすることができる。
【００４０】
次に、本発明の処理の流れの一例を図３および図４のシーケンス図を参照して説明する。本例では、公衆無線ＬＡＮ１ａに接続する端末装置２ａが、アドホックネットワーク１ｃに接続する端末装置２ｉに対してＩＰ電話をかける場合について説明する。すなわち、パケット網１内での通話である。
【００４１】
まず、端末装置２ａは、公衆無線ＬＡＮ１ａに接続する（ステップ４０）。そして、図１３に示した本システムのメイン画面上で通話メニュー２３２が選択、あるいは、「ＣＡＬＬ」ボタン２３６がクリックされると、図１６に示した通話画面を表示する。
【００４２】
ユーザから端末装置２ｉへの音声通信（ＶｏＩＰ）の要求として、メイン画面上で、通信相手となる端末装置２ｉのユーザのニックネームが選択された状態で、「ＣＡＬＬ」ボタン２７１のクリックを受け付けると（ステップ４１）、端末装置２ａは、バディリストを参照して、端末装置２ｉのＩＤ、ニックネーム等の情報を含むＶｏＰ２Ｐ要求コマンド（ＣＡＬＬコマンド）を発行し、パケット網１にブロードキャストする（ステップ４２）。
【００４３】
図６（ａ）は、ＣＡＬＬコマンドのフォーマットの一例を示す図である。本図に示すようにＣＡＬＬコマンドは、ＩＰヘッダ８０、ＴＣＰヘッダ８１、コマンド種別８２、発信元ニックネーム８３、発信元ＩＰアドレス８４、宛先ニックネーム８４、バディリスト登録状況（一度通話したことがあるかどうか）８５、音声・データ・映像等の通信手段種別８６、通信メディアのＣＯＤＥＣ種別８７、受信用ポート番号８９等を含んで構成される。なお、ヘッダ以外の各項目は、例えばテキスト形式のＸＭＬにしたがって記述することができる。以下に説明する各コマンドフォーマットにおいても同様である。
【００４４】
アドホックネットワーク１ｃに接続している端末装置２ｄは、ブロードキャストされたＣＡＬＬコマンドを受信すると、ルーティング機能部が備えるルーティングテーブルを参照して端末装置２ｉについての情報があるかどうかを検索する（ステップ４３）。
【００４５】
ルーティングテーブルより、自分が接続するアドホックネットワーク１ｃ内に端末装置２ｉが接続していると判断すると、アドホックネットワーク１ｃ内の次の端末装置にＣＡＬＬコマンドを転送する（ステップ４４）。
【００４６】
転送されたＣＡＬＬコマンドを受信した端末装置２ｈが、ステップ４３、４４の処理を行うことで、端末装置２ａが発行したＣＡＬＬコマンドは、目的の端末装置２ｉへ到達する。
【００４７】
端末装置２ａからのＣＡＬＬコマンドを受信した端末装置２ｉは、端末装置２ｉ内のバディリストに、受信したＣＡＬＬコマンド内に含まれる端末装置２ａの情報、例えばニックネーム、あるいは、ＩＤが登録されているかどうかを調べる（ステップ４５）。
【００４８】
バディリストに登録されている場合には、端末装置２ａからＣＡＬＬコマンド、すなわち、通話要求を受信したことをユーザに通知する（ステップ４６）。
【００４９】
図１７は、ＣＡＬＬコマンドを受信、すなわち着信があったことをユーザに通知するための画面の一例を示す図である。図１７（ａ）は、バディリストに登録された相手から着信があったことを示し、図１７（ｂ）は、バディリストに登録されていない相手から着信があったことを示している。
【００５０】
図１７（ａ）に示すように、着信があったことをユーザに通知するための画面は、発信者のニックネーム等を表示するエリア２８０、発信者がバディリストに登録済みであることを表示するエリア２８１、通話要求に応じない場合に、必要に応じてその理由を入力するためのエリア２８２、通話に応じるための「Ｏｆｆ−ｆｏｏｋ」ボタン２８３、詳細情報を要求するための「Ｉｎｆｏ」ボタン２８４、受話を拒否するための「Ｎｏｔ  Ａｎｓｗｅｒ」ボタン２８５、通話を終了するための「ＢＹＥ」ボタンを備えている。また、発信者バディリストに登録されていない場合には、図１７（ｂ）に示すように、発信者がバディリストに登録済みであることを表示するエリア２８１に代え、未登録であることを表示するエリア２８７と、発信者をバディリストに登録するための「Ｍｅｍｏｒｙ」ボタン２８７が配置される。
【００５１】
端末装置２ｉのユーザが、本画面上で「Ｏｆｆ−ｆｏｏｋ」ボタン２８３をクリック、あるいは、端末装置２ｉが備える受話器をオフフックする等のオフフックイベントを発行すると（ステップ４７）、端末装置２ｉは応答コマンド（ＣＡＬＬ＿ＯＫコマンド）を生成して、ＣＡＬＬコマンド送信元の端末装置２ａに対して返信する（ステップ４８）。
【００５２】
図６（ｂ）は、ＣＡＬＬ＿ＯＫコマンドのフォーマットの一例を示す図である。本図に示すようにＣＡＬＬ＿ＯＫコマンドは、ＩＰヘッダ８０、ＴＣＰヘッダ８１、コマンド種別８２、着信端末、すなわち、ＣＡＬＬ＿ＯＫコマンドの発信元のニックネーム９０、着信端末のＩＰアドレス９１、通信手段種別９２、ＣＯＤＥＣ９３、受信用ポート番号９４等を含んで構成される。
【００５３】
端末装置２ａはＣＡＬＬ＿ＯＫコマンドを受信した場合には、ユーザに対して端末装置２ｉとのセッションが確立したことを通知し（ステップ４９）、音声データを端末装置２ｉとの間で送受信する（ステップ５０）。
【００５４】
一方、ステップ４５で、受信したＣＡＬＬコマンド内に含まれる端末装置２ａのニックネーム等がバディリスト登録されているか調べた結果、未登録であった場合、あるいは、端末装置２ｉにおけるステップ４６の着信通知に対して、ユーザが図１７に示した「Ｉｎｆｏ」ボタン２８４をクリックして、端末装置２ａの詳細情報を要求するイベントを出した場合には、端末装置２ｉは、図１８（ａ）に一例を示す「通話：詳細情報要求」画面を表示する。
【００５５】
本図に示すように、「通話：詳細情報要求」画面は、発信者のニックネーム等を表示するエリア２９０、詳細情報を要求する項目を指定するエリア２９１、詳細情報を送信するための「Ｓｅｎｄ」ボタン２９２、本画面をクローズするための「Ｃａｎｃｅｌ」ボタン２９３が配置されている。
【００５６】
端末装置２ｉは、「Ｓｅｎｄ」ボタン２９２のクリックを受け付けると、詳細情報を要求する項目を指定するエリア２９１の設定内容に基づいて、詳細情報要求コマンド（ＲＥＱＵＩＲＥ＿ＩＮＦＯコマンド）を生成し、端末装置２ａに対して送信する（ステップ５１）。
【００５７】
図７（ａ）は、ＲＥＱＵＩＲＥ＿ＩＮＦＯコマンドのフォーマットの一例を示す図である。本図に示すようにＲＥＱＵＩＲＥ＿ＩＮＦＯコマンドは、ＩＰヘッダ８０、ＴＣＰヘッダ８１、コマンド種別８２、着信端末装置、すなわち、ＲＥＱＵＩＲＥ＿ＩＮＦＯコマンドの発信元のニックネーム９５に加え、着信端末ＩＤ１００、着信端末装置利用ユーザ氏名１０１、着信端末装置電話番号１０２、着信端末装置利用ユーザ職業１０３等のユーザからの要求情報に対応した項目を含んで構成される。
【００５８】
端末装置２ｉと２ａとの間の経路上の端末装置である端末装置２ｈ、２ｄはそれぞれ端末装置２ａへ向けてＲＥＱＵＩＲＥ＿ＩＮＦＯコマンドを転送する（ステップ５２）。端末装置２ｉがアドホックネットワーク１ｃではなく、インターネット１ａあるいは無線公衆ＬＡＮ１ｂ等に接続している場合には、ＲＥＱＵＩＲＥ＿ＩＮＦＯコマンドを直接端末装置２ａに対して送信することができる。
【００５９】
ＲＥＱＵＩＲＥ＿ＩＮＦＯコマンドを受信した端末装置２ａは、ユーザに対して端末装置２ｉから詳細情報要求があったことを通知して、要求の対象となった情報を応答するかどうかを受け付ける。
【００６０】
図１９（ａ）は、このときに端末装置２ａに表示される画面の一例を示す図である。本図の例では、詳細情報要求があったことを通知する画面は、ＲＥＱＵＩＲＥ＿ＩＮＦＯコマンドの発信側端末装置２ｉのユーザのニックネーム等を表示するエリア３００、詳細情報要求に係る項目のうち、氏名を入力するエリア３０１、電話番号を入力するエリア３０２、職業を入力するエリア３０３、詳細情報を返信するための「Ｓｅｎｄ」ボタン３０４、通話を中止するための「ＢＹＥ」ボタン３０５が配置されている。なお、詳細情報要求に係る項目を入力するエリア３０１〜３０３については、本システムの公開サービス画面あるいは設定画面により登録した情報をあらかじめ表示するようにしてもよい。
【００６１】
また、図１９（ｂ）は、ＣＡＬＬコマンドの送信先である端末装置２ｉが通話中の場合に端末装置２ａに表示される画面の一例を示す図である。本画面は、端末装置２ｉのユーザのニックネーム等を表示するエリア３００、通話を中止するための「ＢＹＥ」が配置されている。
【００６２】
また、図１９（ｃ）は、ＣＡＬＬコマンドの送信先である端末装置２ｉが通信を拒否した場合に端末装置２ａに表示される画面の一例を示す図である。本画面は、本画面は、端末装置２ｉのユーザのニックネーム等を表示するエリア３００、非応答を承諾するための「ＯＫ」ボタン３０７が配置されている。
【００６３】
図１９（ａ）に示した画面上で「Ｓｅｎｄ」ボタン３０４がクリックされ、ユーザから応答する旨の指示を受け付けた場合には、図１４に示した公開サービス画面で設定した詳細情報、例えば所属組織や電話番号等を含んだ詳細情報応答コマンド（ＲＥＱＵＩＲＥ＿ＩＮＦＯ＿ＡＣＫコマンド）を生成して端末装置２ｉに送信する（ステップ５３）。
【００６４】
図７（ｂ）は、ＲＥＱＵＩＲＥ＿ＩＮＦＯ＿ＡＣＫコマンドのフォーマットの一例を示す図である。本図に示すようにＲＥＱＵＩＲＥ＿ＩＮＦＯ＿ＡＣＫコマンドは、ＩＰヘッダ８０、ＴＣＰヘッダ８１、コマンド種別８２に加え、ＲＥＱＵＩＲＥ＿ＩＮＦＯ＿ＡＣＫコマンド発信端末装置側ニックネーム１０４、宛先端末装置側ニックネーム１０５、コマンド発信端末装置側ＩＤ１０６、氏名１０７、電話番号１０８、職業１０９、趣味１１０等のＲＥＱＵＩＲＥ＿ＩＮＦＯコマンドで要求された情報を含んで構成される。ただし、公開サービス画面でユーザが公開の対象と指定しなかった情報は含めないようにすることができる。
【００６５】
ＲＥＱＵＩＲＥ＿ＩＮＦＯ＿ＡＣＫコマンドは、端末装置２ｄおよび２ｈを経て端末装置２ｉへ転送される（ステップ５４）。
【００６６】
端末装置２ｉは、ＲＥＱＵＩＲＥ＿ＩＮＦＯ＿ＡＣＫコマンドに含まれる詳細情報をユーザへ通知する（ステップ５５）。
【００６７】
図１８（ｂ）は、ＲＥＱＵＩＲＥ＿ＩＮＦＯ＿ＡＣＫコマンドに含まれた詳細情報をユーザに通知するための「通話：詳細情報要求応答」画面の一例を示す図である。
【００６８】
本図に示すように「通話：詳細情報要求応答」画面は、発信端末装置のユーザのニックネーム等を表示するエリア２９０、発信端末装置のユーザの氏名を表示するエリア２９４、発信端末装置のユーザの電話番号を表示するエリア２９５、発信端末装置のユーザの職業を表示するエリア２９６、応答しない場合の理由を必要に応じて入力するエリア２８７、通話要求に応答するための「Ｏｆｆ−ｆｏｏｋ」ボタン２９８、受話を拒否するための「Ｎｏｔ  Ａｎｓｗｅｒ」ボタン２９９が配置されている。なお、ＲＥＱＵＩＲＥ＿ＩＮＦＯ＿ＡＣＫコマンドにその他の詳細情報が含まれる場合には、それらも表示するようにする。
【００６９】
端末装置２ｉのユーザが、通話要求を行なった相手の情報を確認して、「ＯＦＦ−ｆｏｏｋ」ボタン２９８のクリック、あるいは、端末装置２ｉが備える受話器をオフフックする等のオフフックイベントを発行すると（ステップ５６）、ＣＡＬＬ＿ＯＫコマンドを端末装置２ａに送信する（ステップ５７）。このとき、取得した端末装置２ａの情報を、バディリストに登録する（ステップ５８）。
【００７０】
端末装置２ａがＣＡＬＬ＿ＯＫコマンドを受信したことをユーザに通知することで（ステップ５９）、端末装置２ａと２ｉとの間で音声データの送受信を開始され、リアルタイム音声通話が実現する（ステップ６０）。
【００７１】
図１０は、リアルタイム音声通話に用いられるデータのフォーマットの一例を示す図である。本図に示すように、リアルタイム音声通話に用いられるデータは、ＩＰヘッダ８０、ＵＤＰヘッダ１２０、シーケンス番号１６０、音声データ１６１等を含んで構成される。なお、リアルタイム通話データがＸＭＬデータのようなテキストメッセージである場合には、ＩＰヘッダ８０、ＴＣＰヘッダ８１、メッセージ１６２等を含んで構成される。
【００７２】
リアルタイム音声通話中に、いずれかのユーザがオンフックに相当するイベントを発行すると（ステップ６１）、リアルタイム音声通話を終了する。
【００７３】
図４は、端末装置２ａから着信があったことを通知された、あるいは、詳細情報要求応答を受けた端末装置２ｉのユーザが、「Ｎｏｔ  Ａｎｓｗｅｒ」ボタン２９９のクリック等により受話を拒否した場合の処理の流れを示している。
【００７４】
この場合、端末装置２ｉは拒絶応答コマンド（ＣＡＬＬ＿ＲＥＪＥＣＴコマンド）を生成し（ステップ６１）、端末装置２ａに対して送信する（ステップ６２）。
【００７５】
図６（ｃ）は、ＣＡＬＬ＿ＲＥＪＥＣＴコマンドのフォーマットの一例を示す図である。本図に示すようにＣＡＬＬ＿ＲＥＪＥＣＴコマンドは、ＩＰヘッダ８０、ＴＣＰヘッダ８１、コマンド種別８２、ＣＡＬＬ＿ＲＥＪＥＣＴコマンド発信端末のニックネーム９０に加え、非応答の理由があるかどうかを示す非応答理由フラグ９５、非応答理由９６等を含んで構成される。
【００７６】
この端末装置２ｉからのＣＡＬＬ＿ＲＥＪＥＣＴコマンドを受信した端末装置２ａは、ユーザへその旨を通知する（ステップ６３）。ＣＡＬＬ＿ＲＥＪＥＣＴコマンドに非応答の理由が含まれている場合にはその内容も通知するようにする。
【００７７】
次に、本発明の処理の流れの別例を図１１および図１２のシーケンス図を参照して説明する。本例では、公衆無線ＬＡＮ１ａに接続する端末装置２ａと電話機３との間でリアルタイムＶｏＰ２Ｐ要求が発生した場合について説明する。すなわち、ゲートウェイ５を介した通話である。なお、上述の実施例と共通する箇所は簡略して説明する。
【００７８】
まず、端末装置２ａは、公衆無線ＬＡＮ１ａに接続する（ステップ１７０）。このとき、端末装置２ａが、図１４に示した画面で、公開するサービスを設定している場合には、情報公開コマンド（ＰＵＢＬＩＣコマンド）をブロードキャストする（ステップ１７１）。
【００７９】
図８（ａ）は、ＰＵＢＬＩＣコマンドのフォーマットの一例を示す図である。本図に示すようにＰＵＢＬＩＣコマンドは、ＩＰヘッダ８０、ＵＤＰヘッダ１２０、コマンド種別８２、公開サービス名１２１、公開サービスで用いるプロトコル種別１２２、公開元ＩＰアドレス１２３、公開元受信用ポート番号１２４等を含んで構成される。このように、ＰＵＢＬＩＣコマンドは、Ｐ２Ｐ接続に用いる通路（パイプ）情報である、ＩＰアドレス、ポート番号、通路名称等を含むようにする。
【００８０】
なお、図８（ｂ）は、公開情報探索コマンド（ＳＥＡＲＣＨ＿ＰＵＢＬＩＣ＿ＩＮＦＯコマンド）のフォーマットの一例を示す図である。本図に示すようにＳＥＡＲＣＨ＿ＰＵＢＬＩＣ＿ＩＮＦＯコマンドは、ＩＰヘッダ８０、ＵＣＰヘッダ１２０、コマンド種別８２に加え、ＳＥＡＲＣＨ＿ＰＵＢＬＩＣ＿ＩＮＦＯコマンドの発信元端末装置ニックネーム１２５、コマンド発信元端末装置ＩＰアドレス１２６、キーワードフラグ１２７、キーワード１２８等を含んで構成される。
【００８１】
また、図８（ｃ）は、公開情報探索応答コマンド（ＳＥＡＲＣＨ＿ＰＵＢＬＩＣ＿ＩＮＦＯ＿ＡＣＫコマンド）のフォーマットの一例を示す図である。本図に示すようにＳＥＡＲＣＨ＿ＰＵＢＬＩＣ＿ＩＮＦＯ＿ＡＣＫコマンドは、ＩＰヘッダ８０、ＵＤＰヘッダ１２０、コマンド種別８２に加え、公開サービス名１２１、プロトコル１２２、サービス公開元ＩＰアドレス１２３、サービス公開元受信用ポート番号１２４等を含んで構成される。
【００８２】
端末装置２ｄは、ブロードキャストされたＰＵＢＬＩＣコマンドを受信すると、コマンドに含まれる公開サービスに関する情報を一時的に格納する（ステップ１７２）。
【００８３】
端末装置２ａのＩＰ電話番号を「０５０−１２３−４５６７」とすると、電話機３が端末装置２ａへ電話をかける場合には、ゲートウェイ５に対する電話を介して端末装置２ａにかけるようにする（ステップ１７３）。これには、端末装置２ａのＩＰ電話番号をゲートウェイ５の電話番号に続けて入力しする方法、あるいは、一旦、ゲートウェイ５に電話をかけて、ゲートウェイ５からの音声応答に従い端末装置２ａのＩＰ電話番号をかける方法等がある。
【００８４】
電話機３からのコールを着信したゲートウェイ５は、入力された電話番号から端末装置２ａのＩＰアドレスを探索する。探索では、まず、現在パケット網に接続していて、自身に登録済みの端末装置の情報を検索する。例えば、ＩＥＴＦで作成しているＳＩＰ（Ｓｅｓｓｉｏｎ  Ｉｎｉｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）では、ＳＩＰ端末はＳＩＰプロキシやＳＩＰサーバにレジストレーションして、自分の現在のアドレスを登録する。ゲートウェイ５は、この登録情報から、ＩＰ電話番号「０５０−１２３−４５６７」に相当する端末が存在するかどうかを検索する。
【００８５】
未登録の場合には、ゲートウェイ５は、端末探索コマンド（ＳＥＡＲＣＨ＿ＣＬＩＥＮＴコマンド）をブロードキャストする（ステップ１７４）。
【００８６】
図９（ａ）は、ＳＥＡＲＣＨ＿ＣＬＩＥＮＴコマンドのフォーマットの一例を示す図である。本図に示すようにＳＥＡＲＣＨ＿ＣＬＩＥＮＴコマンドは、ＩＰヘッダ８０、ＵＤＰヘッダ１２０、コマンド種別８２に加え、ＳＥＡＲＣＨ＿ＣＬＩＥＮＴコマンドの発信元ニックネーム１４０、発信元ＩＰアドレス１４１、発信元受信用ポート番号１４２、キーワード種別１４３、キーワードの一つである探索端末利用者（探索相手）ユーザ氏名１４４、キーワードの一つである探索相手のＩＤ１４５、キーワードの一つである探索相手の電話番号１４６、他ユーザが指定したキーワード１４７等を含んで構成される。
【００８７】
ブロードキャストされたＳＥＡＲＣＨ＿ＣＬＩＥＮＴコマンドを受信した端末装置２ｄは、これまでに格納した端末装置の公開情報を検索し（ステップ１７５）、該当する端末装置の公開サービスに関する情報があれば、端末探索応答コマンド（ＳＥＡＲＣＨ＿ＣＬＩＥＮＴ＿ＡＣＫコマンド）を、ゲートウェイ５に返信する（ステップ１７６）。
【００８８】
図９（ｂ）は、ＳＥＡＲＣＨ＿ＣＬＩＥＮＴ＿ＡＣＫコマンドのフォーマットの一例を示す図である。本図に示すようにＳＥＡＲＣＨ＿ＣＬＩＥＮＴ＿ＡＣＫコマンドは、ＩＰヘッダ８０、ＵＤＰヘッダ１２０、コマンド種別８２に加え、探索対象端末ニックネーム１４８、探索対象端末ＩＰアドレス１４９、ＳＥＡＲＣＨ＿ＣＬＩＥＮＴ＿ＡＣＫコマンド発信元氏名１５０、ＩＤ１５１、電話番号１５２等を含んで構成される。
【００８９】
ＳＥＡＲＣＨ＿ＣＬＩＥＮＴ＿ＡＣＫコマンドを受信したゲートウェイ５は、コマンドに含まれる端末装置２ａの公開情報からＶｏＰ２Ｐ通信で用いるパイプ情報を取得して、端末装置２ａとの通信用のパイプを生成する（ステップ１７７）。
【００９０】
そして、このパイプを用いて、端末装置２ａに対してＣＡＬＬコマンドを発行する（ステップ１７８）。
【００９１】
パイプを通じてゲートウェイ５からのＣＡＬＬコマンドを受信した端末装置２ａは（ステップ１７９）、ＣＡＬＬコマンドに含まれる発信者情報（電話機３に関する情報、例えば電話番号、電話機３のユーザ名等、これらはゲートウェイ５に登録されている）を、バディリストから検索する。
【００９２】
バディリストに未登録の場合、あるいは、端末装置２ａのユーザから詳細情報の要求があった場合には、詳細情報要求コマンド（ＲＥＱＵＩＲＥ＿ＩＮＦＯコマンド）をパイプを通じてゲートウェイ５に対して送信する（ステップ１８０）。
【００９３】
ＲＥＱＵＩＲＥ＿ＩＮＦＯコマンドを受信したゲートウェイ５は、コマンドに含まれる要求情報に対応する情報を、あらかじめ電話機３のユーザから登録を受け付けており、記憶している場合には、その要求情報に対応する情報を含む詳細情報応答コマンド（ＲＥＱＵＩＲＥ＿ＩＮＦＯ＿ＡＣＫコマンド）を返信する（ステップ１８１）。
【００９４】
ここで、端末装置２とゲートウェイ５との間の通信ではなく、端末装置同士のＰ２Ｐ通信要求である場合には、ＲＥＱＵＩＲＥ＿ＩＮＦＯコマンドに含まれる要求情報をユーザへ通知して入力を促し、入力されたデータをＲＥＱＵＩＲＥ＿ＩＮＦＯ＿ＡＣＫコマンドに含めるようにしてもよい。
【００９５】
ＲＥＱＵＩＲＥ＿ＩＮＦＯ＿ＡＣＫコマンドを受信した端末装置２ａは、コマンドに含まれる詳細情報をユーザへ通知する（ステップ１８２）。
【００９６】
ユーザからオフフックに相当するイベントを検知した場合には（ステップ１８３）、応答コマンド（ＣＡＬＬ＿ＡＣＫコマンド）をゲートウェイ５へ送信する（ステップ１８４）。
【００９７】
ゲートウェイ５は、端末装置２ａからＣＡＬＬ＿ＡＣＫコマンドを受信すると（ステップ１８５）、電話機３との間はアナログ音声に、端末装置２ａとの間はディジタル音声データに、それぞれ変換して送受信し、端末装置２ａと電話機３との間のリアルタイム音声通信を提供する（ステップ１８６）。
【００９８】
その後、電話機３のユーザがオンフックした場合には（ステップ１８７）、端末装置２ａに対してパイプを通じて切断コマンド（ＣＡＬＬ＿ＢＹＥコマンド）を送信する（ステップ１８８）。
【００９９】
同様に、端末装置２ａがユーザからのオンフック相当のイベントを検知した場合には（ステップ１８９）、切断コマンド（ＣＡＬＬ＿ＢＹＥコマンド）をゲートウェイ５に対して送信する（ステップ１９０）。
【０１００】
図６（ｄ）は、ＣＡＬＬ＿ＢＹＥコマンドのフォーマットの一例を示す図である。本図に示すようにＣＡＬＬ＿ＢＹＥコマンドは、ＩＰヘッダ８０、ＴＣＰヘッダ８１、コマンド種別８２、着信端末ニックネーム９０等を含んで構成される。  ゲートウェイ５は、端末装置２ａと電話機３との間の接続終了後、端末装置２ａとの間のパイプを終了する（ステップ１９１）。端末装置２ａも、情報公開を終了する際に、受信待機用のパイプを終了する（ステップ１９１）。
【０１０１】
図１２は、ゲートウェイ５がブロードキャストした端末探索コマンド（ＳＥＡＲＣＨ＿ＣＬＩＥＮＴコマンド）を受信した端末装置２ｄがこれまでに格納した端末装置の公開情報を検索した結果（ステップ１７５）、該当する情報がなかった場合の処理の流れを示す図である。
【０１０２】
この場合、端末装置２ｄは、ゲートウェイ５から受信したＳＥＡＲＣＨ＿ＣＬＩＥＮＴコマンドを公衆無線ＬＡＮ１ａを介して接続された端末装置２ａへ転送する（ステップ２００）。
【０１０３】
端末装置２ａは、転送されてきたＳＥＡＲＣＨ＿ＣＬＩＥＮＴコマンドに含まれる発信側の電話機３の電話番号等が、自身に格納しているバディリストに登録されているか調べる（ステップ２０１）。
【０１０４】
この結果、バディリスト等に登録済みの場合には、端末探索応答コマンド（ＳＥＡＲＣＨ＿ＣＬＩＥＮＴ＿ＡＣＫ）をゲートウェイ５に対して送信する（ステップ２０２）。その後は、図１１に示したステップ１７８以降の処理を行う。
【０１０５】
次に、本システムの端末装置２が画面上でユーザから指示を受け付けた場合、他の端末装置２等からのコマンドを受け付けた場合における処理の流れを説明する。
【０１０６】
まず、図１３に示したメイン画面上でユーザから指示を受け付けた場合の処理の流れについて図２３を参照して説明する。
【０１０７】
本システムが起動すると、メイン画面（Ｐ２Ｐコミュニケーションツール）を表示する（ステップ３５０）。
【０１０８】
本画面で「Ｓｅａｒｃｈ」ボタン２３５のクリックを受け付けると（ステップ３５１：Ｙ）、図２１に示した「探索」画面を表示し、ユーザからの探索キーワード入力を待つ。
【０１０９】
図２１に示すように「探索」画面は、探索する情報が公開サービスである場合に選択するチェックボタン３３０、チェックボタン３３０が選択された場合に、探索したいサービスや情報のキーワードを入力するエリア３３１、探索する情報が特定の相手を指定する場合に選択するチェックボタン３３２、相手を特定するためのキーワードとして、氏名を入力するエリア３３３、ＩＤを入力するエリア３３４、電話番号を入力するエリア３３５、他の個別情報を入力するためのエリア３３６、検索を実行するための「Ｓｅａｒｃｈ」ボタン３３７、処理をキャンセルするための「Ｃａｎｃｅｌ」ボタン３３８が配置されている。
【０１１０】
ユーザは、本画面のキーワード入力エリアに既知のキーワードを入力することができる。端末装置２は、「Ｓｅａｒｃｈ」ボタン３３７のクリックを受け付けると、チェックボタン３３０が選択されている場合には、ＳＥＡＲＣＨ＿ＩＮＦＯコマンドをブロードキャストし、チェックボタン３３２が選択されている場合には、ＳＥＡＲＣＨ＿ＣＬＩＥＮＴコマンドをブロードキャストする。
【０１１１】
他の端末装置２から、ＳＥＡＲＣＨ＿ＩＮＦＯ＿ＡＣＫコマンド、あるいは、ＳＥＡＲＣＨ＿ＣＬＩＥＮＴ＿ＡＣＫコマンドを受信した場合には（ステップ３５４：Ｙ）、受信したデータに基づいて「探索結果」画面を表示する（ステップ３５５）。なお、あらかじめ検索に対する応答待ち時間を設定しておき、制限時間内に受信した応答について対応するようにしてもよい。
【０１１２】
図２２は、「探索結果」画面の一例を示す図である。本例は、ＳＥＡＲＣＨ＿ＣＬＩＥＮＴ＿ＡＣＫコマンドを受信した際に表示する画面である。
【０１１３】
本図に示すように「検索結果」画面は、受信した応答コマンド数を表示するエリア３４０、受信した応答コマンドに対応する探索結果の項番３４１、ＳＥＡＲＣＨ＿ＣＬＩＥＮＴ＿ＡＣＫコマンドに含まれる氏名を表示するエリア３４２、ＩＤを表示するエリア３４３、電話番号を表示するエリア３４４、選択された項番に対応する相手にＶｏＰ２Ｐによる通話要求を行なうための「Ｃａｌｌ」ボタン３４５、本処理をキャンセルするための「Ｃａｎｃｅｌ」ボタン３４５が配置されている。
【０１１４】
メイン画面上で「ＣＬＯＳＥ」２３８ボタンのクリックを受け付けた場合には（ステップ３５６：Ｙ）、本システムを終了し、画面の消去、リソースの開放を行う。
【０１１５】
メイン画面上で「Ｃａｌｌ」ボタン２３６のクリックを受け付けた場合には（ステップ３５７：Ｙ）、公開サービス一覧エリア２３４で選択されたデータからアドレス情報を取得して（ステップ３５８）、後述する通話発信処理（図２７参照）を行う（ステップ３５９）。
【０１１６】
メイン画面上で「Ｍｅｓｓａｇｅ」ボタン２３７のクリックを受け付けた場合には（ステップ３６０：Ｙ）、公開サービス一覧エリア２３４で選択されたデータからアドレス情報を取得して（ステップ３６１）、後述するＭｅｓｓａｇｅ処理（図２９参照）を行う（ステップ３６２）。
【０１１７】
図２４は、メイン画面上で「設定」メニュー２３１が選択された場合の処理のシーケンスの一例を示す図である。
【０１１８】
まず、図１５に示した「設定」画面を表示し（ステップ３７０）、ユーザに入力を促す。「設定」画面上で「ＯＫ」ボタン２６５のクリックを受け付けると（ステップ３７１：Ｙ）、入力されたデータを、蓄積装置１２に格納して画面をクローズする（ステップ３７２）。
【０１１９】
図２５は、メイン画面上で「公開サービス」メニュー２３０が選択された場合の処理のシーケンスの一例を示す図である。
【０１２０】
まず、図１４に示した「公開サービス」画面を表示し（ステップ３８０）、ユーザに入力を促す。
【０１２１】
「公開サービス」画面上で「ＰＵＢＬＩＣ」ボタン２５１のクリックを受け付けると（ステップ３８１：Ｙ）、公開する情報を指定するための領域（２４０〜２５０）で指定されたデータを収集して画面をクローズする（ステップ３８２）。そして、ＰＵＢＬＩＣコマンドを生成して、ブロードキャストする（ステップ３８３）。同時に、公開した情報やサービスに対してのパイプ受信待機用にＴＣＰソケットを生成して待機する（ステップ３８４）。
【０１２２】
「公開サービス」画面上で「ＯＫ」ボタン２５２のクリックを受け付けると（ステップ３８５：Ｙ）、公開する情報を指定するための領域（２４０〜２５０）で指定されたデータを収集して画面をクローズする（ステップ３８６）。
【０１２３】
「公開サービス」画面上で「Ｃａｎｃｅｌ」ボタン２５３のクリックを受け付けると（ステップ３８７：Ｙ）、公開する情報を指定するための領域（２４０〜２５０）で指定されたデータを収集して画面をクローズし（ステップ３８８）、パイプ受信待機用ＴＣＰソケットがオープンされている場合には（ステップ３８９：Ｙ）、公開情報終了コマンド（ＰＵＢＬＩＣ＿ＣＬＯＳＥコマンド）をブロードキャストして（ステップ３９０）、ＴＣＰソケットをクローズする（ステップ３９１）。
【０１２４】
図８（ｂ）は、ＰＵＢＬＩＣ＿ＣＬＯＳＥコマンドのフォーマットの一例を示す図である。本図に示すようにＰＵＢＬＩＣ＿ＣＬＯＳＥコマンドは、ＩＰヘッダ８０、ＵＤＰヘッダ１２０、コマンド種別８２、公開サービス名１２１、公開元ＩＰアドレス１２３、公開元ポート番号１２４等を含んで構成される。
【０１２５】
図２６は、メイン画面上で「通話」メニュー２３２が選択された場合の処理のシーケンスの一例を示す図である。
【０１２６】
まず、図１６に示した「通話」画面を表示して（ステップ４００）、ユーザにバディリスト２７０から通話先の選択を促す（ステップ４０１）。
【０１２７】
「通話」画面上で「ＣＡＬＬ」ボタン２７１のクリックを受け付けると（ステップ４０２：Ｙ）、バディリスト２７０で選択された通信相手の現在の公開情報あるいはアドレス情報が既知であるかどうかを検索する（ステップ４０３：Ｙ）。
【０１２８】
その結果、アドレス情報が既知であれば、図２７に示す通話発信処理を行う（ステップ４０４）。一方、現在のアドレス情報が分からなければ、図３０に示す端末探索処理を行う（ステップ４０５）。
【０１２９】
「通話」画面上で「Ｍｅｓｓａｇｅ」ボタン２７１のクリックを受け付けると（ステップ４０６：Ｙ）、バディリスト２７０で選択された通信相手の現在の公開情報あるいはアドレス情報が既知であるかどうかを検索する（ステップ４０６：Ｙ）。
【０１３０】
その結果、アドレス情報が既知であれば、図２９に示すＭｅｓｓａｇｅ処理を行なう（ステップ４０８）。一方、現在のアドレス情報が分からなければ、図３０に示す端末探索処理を行う（ステップ４０５）。
【０１３１】
通話中に、「通話」画面上で「ＢＹＥ」ボタン２７２のクリックを受け付けると、通信相手に対してＣＡＬＬ＿ＢＹＥコマンドを送信して（ステップ４１０）、通話処理を終了する。
【０１３２】
図２７は、通話発信処理（ステップ４０４）のシーケンスの一例を示す図である。
【０１３３】
通話発信処理では、メイン画面の公開サービス一覧エリア２３４から選択されたデータのアドレス情報を含んだＣＡＬＬコマンドを、選択されたサービスを公開している端末装置２のアドレスを指定して送信する（ステップ４２０）。
【０１３４】
通信相手からＣＡＬＬ＿ＡＣＫコマンドが返信されてきたら（ステップ４２１）、音声データの入力、Ａ／Ｄ変換、パケット化、送信・受信、パケット分解、Ｄ／Ａ変換、音声出力の一連の音声データ送受信処理を行う（ステップ４２２）。
【０１３５】
「ＢＹＥ」ボタン２７３のクリックを受け付けてＣＡＬＬ＿ＢＹＥコマンドを送信した場合、および、通信相手からＣＡＬＬ＿ＢＹＥコマンドを受信した場合には（ステップ４２３：Ｙ）、通信に用いていたパイプを切断して（ステップ４２４）、通話発信処理を終了する。
【０１３６】
通信相手からＣＡＬＬ＿ＲＥＪＥＣＴコマンドを受信した場合には（ステップ４２５：Ｙ）、図１９（ｃ）に示した「非応答」画面を表示し（ステップ４２６）、通信に用いるためのパイプを切断して（ステップ４２４）、通話発信処理を終了する。
【０１３７】
通信相手からＲＥＱＵＩＲＥ＿ＩＮＦＯコマンドを受信した場合には（ステップ４２７：Ｙ）、図１９（ａ）に示した「詳細情報要求応答」画面を表示する（ステップ４２８）。ただし、ＲＥＱＵＩＲＥ＿ＩＮＦＯコマンドの要求情報が、図１４に示した公開サービス情報で公開の指定を受けている項目の場合には、「詳細情報要求応答」画面を表示することなくＲＥＱＵＩＲＥ＿ＩＮＦＯ＿ＡＣＫコマンドを返信するようにしてもよい。
【０１３８】
「詳細情報要求応答」画面上で「ＳＥＮＤ」ボタン３０４のクリックを受け付けると（ステップ４２９：Ｙ）、ユーザが入力した情報を格納したＲＥＱＵＩＲＥ＿ＩＮＦＯ＿ＡＣＫコマンドを通信相手に送信する（ステップ４３０）。
【０１３９】
図２８は、ＣＡＬＬコマンドを受信した場合の、通話着信処理のシーケンスの一例を示す図である。
【０１４０】
他の端末装置２からＣＡＬＬコマンドを受信すると（ステップ４４０）、ＣＡＬＬコマンド内に含まれる発信側端末装置２の発信者情報を取得する（ステップ４４１）。そして、図１７に示した「ＶｏＩＰ：着信」画面を表示する（ステップ４４２）。
【０１４１】
「ＶｏＩＰ：着信」画面上で「Ｏｆｆ−ｆｏｏｋ」ボタン２８３のクリックを受け付けると（ステップ４４３：Ｙ）、音声データの送受信に用いるパイプを生成する（ステップ４４４）と共に、ＣＡＬＬ＿ＯＫコマンドをＣＡＬＬコマンド発信端末装置２に対して送信する（ステップ４４５）。
【０１４２】
その後、音声データの入力、Ａ／Ｄ変換、パケット化、送信・受信、パケット分解、Ｄ／Ａ変換、音声出力の一連の音声データ送受信処理を行う（ステップ４４６）。
【０１４３】
「ＢＹＥ」ボタン２８６のクリックを受け付けてＣＡＬＬ＿ＢＹＥコマンドを送信した場合、および、通信相手からＣＡＬＬ＿ＢＹＥコマンドを受信した場合には（ステップ４４７：Ｙ）、通信に用いていたパイプを切断して（ステップ４４８）、通話着信処理を終了する。
【０１４４】
「ＶｏＩＰ：着信」画面上で「Ｉｎｆｏ」ボタン２８４のクリックを受け付けると（ステップ４４９：Ｙ）、図１８（ａ）に示した「要求詳細情報」画面を表示する（ステップ４５０）。
【０１４５】
「要求詳細情報」画面上で「Ｓｅｎｄ」ボタン２９２のクリックを受け付けると、要求情報指定エリア２９１で指定された要求情報を含んだＲＥＱＵＩＲＥ＿ＩＮＦＯコマンドを生成して、ＣＡＬＬコマンド発信端末装置２に対して返信する（ステップ４５１）。
【０１４６】
発信端末装置２からＲＥＱＵＩＲＥ＿ＩＮＦＯ＿ＡＣＫコマンドを受信した場合には（ステップ４５２：Ｙ）、コマンドに含まれる詳細情報に基づいて、図１８（ｂ）に示した「通話：詳細情報要求応答」画面を表示する（ステップ４５３）。
【０１４７】
「通話：詳細情報要求応答」画面上で「ＮＯＴ  ＡＮＳＷＥＲ」ボタン２８５のクリックを受け付けると（ステップ４５４：Ｙ）、ＣＡＬＬ＿ＲＥＪＥＣＴコマンドを生成して、ＣＡＬＬコマンド発信端末装置に対して返信する（ステップ４５５）。ここで、応答拒否理由入力エリア２８２にデータが入力されている場合には、この情報をＣＡＬＬ＿ＲＥＪＥＣＴコマンドに含めることができる。
【０１４８】
図２９は、メイン画面あるいは図１６に示した通話画面おいて、「Ｍｅｓｓａｇｅ」ボタン２３７、２７１がクリックされた際のＭｅｓｓａｇｅ処理のシーケンスの一例を示す図である。
【０１４９】
Ｍｅｓｓａｇｅ処理では、図２０に示す「通話：Ｍｅｓｓａｇｅ」画面を表示する（ステップ４６０）。本図に示すように「通話：Ｍｅｓｓａｇｅ」画面は、通信相手のニックネーム等を表示するエリア３１０、自端末装置のユーザと通信相手端末装置のユーザとが送受信するメッセージを表示するエリア３１１、自端末装置のユーザがメッセージを入力するエリア３１２、入力エリア３１２に入力されたテキストメッセージを通信相手に送信するための「Ｓｅｎｄ」ボタン３１３、Ｍｅｓｓａｇｅ通話処理を終了するための「ＣＬＯＳＥ」ボタン３１４が配置されている。
【０１５０】
「通話：Ｍｅｓｓａｇｅ」画面上で「Ｓｅｎｄ」ボタン３１３のクリックを受け付けると（ステップ４６１：Ｙ）、入力エリア３１２に入力されたデータを取得してＭｅｓｓａｇｅコマンドを生成し、宛先表示エリア３１０に表示されている通信相手端末装置２に対して送信する（ステップ４６２）。
【０１５１】
「通話：Ｍｅｓｓａｇｅ」画面上で「Ｃｌｏｓｅ」ボタン３１４のクリックを受け付けると（ステップ４６３：Ｙ）、Ｍｅｓｓａｇｅ＿ＥＮＤコマンドを生成して、通信相手端末装置２に対して送信し（ステップ４６４）、「通話：Ｍｅｓｓａｇｅ」画面をクローズする。
【０１５２】
Ｍｅｓｓａｇｅ処理中に、通信相手端末装置２からＭｅｓｓａｇｅコマンドを受信した場合には（ステップ４６５：Ｙ）、メッセージ表示エリア３１１に、相手端末２のニックネームプロンプトの後に続けてコマンドに含まれるメッセージを表示する（ステップ４６６）。
【０１５３】
図３０は、端末探索処理（ステップ４０５）のシーケンスの一例を示す図である。
【０１５４】
自端末装置を使用しているユーザからのイベントがトリガになっている場合には（ステップ４７０：Ｙ）、ＳＥＡＲＣＨ＿ＣＬＩＥＮＴコマンドをブロードキャストする（ステップ４７１）。このコマンドには、図２１に示した「検索」画面でキーワード入力エリア３３３〜３３６に入力された情報が含まれる。
【０１５５】
他の端末装置２からＳＥＡＲＣＨ＿ＣＬＩＥＮＴ＿ＡＣＫコマンドを受信した場合には（ステップ４７２：Ｙ）、ＳＥＡＲＣＨ＿ＣＬＩＥＮＴ＿ＡＣＫコマンドに含まれる探索結果を表示する（ステップ４７３）。
【０１５６】
他の端末装置２からＳＥＡＲＣＨ＿ＣＬＩＥＮＴコマンドを受信した場合（ステップ４７４：Ｙ）、ＳＥＡＲＣＨ＿ＣＬＩＥＮＴコマンドに含まれる探索端末情報（キーワード）を取得し（ステップ４７５）、キーワードを含む情報を格納しているかどうかを検索する（ステップ４７５）。その結果、該当する情報があった場合には、ＳＥＡＲＣＨ＿ＣＬＩＥＮＴ＿ＡＣＫコマンドを生成して、ＳＥＡＲＣＨ＿ＣＬＩＥＮＴコマンドの発信端末装置２に対して送信する（ステップ４７７）。一方、該当する情報がなかった場合には、ブロードキャストされたデータの転送先があれば（ステップ４７８：Ｙ）、ＳＥＡＲＣＨ＿ＣＬＩＥＮＴコマンドを転送先の端末装置２に送信する（ステップ４７９）。
【０１５７】
上記の実施形態は、通信相手となる端末装置の探索を端末装置間で行う、いわゆるＰｔｏＰのＪＸＴＡネットワークを例に説明したが、本発明は、パケット網１に接続する複数の端末装置２を管理するサーバ装置が通信相手となる端末装置の探索を行う従来のクライアントーサーバ型のネットワークにも適用することができる。この場合、例えば、通話要求着信時の詳細情報要求処理の中継等をサーバ装置を介して行なうようにする。
【０１５８】
【発明の効果】
上述のように、本発明によれば、ピアツーピア（Ｐｅｅｒ  ｔｏ  Ｐｅｅｒ）プラットフォームをリアルタイム通話要求に適用した場合に、着信側が発信側の情報を取得できるようになる。
【図面の簡単な説明】
【図１】本発明を適用した分散型コミュニケーションシステムのネットワーク構成例を示す図である。
【図２】端末装置２およびゲートウェイ５の内部構成例を示す図である。
【図３】本発明の処理の流れの一例を示すシーケンス図である。
【図４】本発明の処理の流れの一例を示すシーケンス図である。
【図５】バディリストの例を示す図である。
【図６】ＣＡＬＬコマンド、ＣＡＬＬ＿ＯＫコマンド、ＣＡＬＬ＿ＢＹＥコマンドのフォーマット例を示す図である。
【図７】ＲＥＱＵＩＲＥ＿ＩＮＦＯコマンド、ＲＥＱＵＩＲＥ＿ＩＮＦＯ＿ＡＣＫコマンドのフォーマット例を示す図である。
【図８】ＰＵＢＬＩＣコマンド、ＰＵＢＬＩＣ＿ＣＬＯＳＥコマンド、ＳＥＡＲＣＨ＿ＰＵＢＬＩＣ＿ＩＮＦＯコマンド、ＳＥＡＲＣＨ＿ＰＵＢＬＩＣ＿ＩＮＦＯ＿ＡＣＫコマンドのフォーマット例を示す図である。
【図９】ＳＥＡＲＣＨ＿ＣＬＩＥＮＴコマンド、ＳＥＡＲＣＨ＿ＣＬＩＥＮＴ＿ＡＣＫコマンドのフォーマット例を示す図である。
【図１０】データフォーマット例を示す図である。
【図１１】本発明の処理の流れの別例を示すシーケンス図である。
【図１２】本発明の処理の流れの別例を示すシーケンス図である。
【図１３】メイン画面の一例を示す図である。
【図１４】「公開サービス設定」画面の一例を示す図である。
【図１５】「設定」画面例の一例を示す図である。
【図１６】「通話」画面例の一例を示す図である。
【図１７】ＣＡＬＬコマンド受信時の着信画面の一例を示す図である。
【図１８】「通話：詳細情報要求」画面例の一例を示す図である。
【図１９】「通話：詳細情報要求応答」画面、「通話中」画面、「通話：非応答」画面の一例を示す図である。
【図２０】「通話：Ｍｅｓｓａｇｅ」画面の一例を示す図である。
【図２１】「探索」画面の一例を示す図である。
【図２２】探索要求に関係するコマンドに受信時の画面の一例を示す図である。
【図２３】メイン画面に対するユーザイベント処理シーケンス例を示す図である。
【図２４】「設定」画面に対するユーザイベント処理シーケンス例を示す図である。
【図２５】「公開サービス」メニュー画面選択時の処理シーケンス例を示す図である。
【図２６】通話処理のシーケンス例を示す図である。
【図２７】通話発信処理のシーケンス例を示す図である。
【図２８】通話着信処理のシーケンス例を示す図である。
【図２９】Ｍｅｓｓａｇｅ処理のシーケンス例を示す図である。
【図３０】端末探索処理のシーケンス例を示す図である。
【符号の説明】
１…パケット網
２…端末装置
３…電話機
４…無線基地局
５…ゲートウェイ
６…公衆電話網
１０…メモリ
１２…蓄積装置
１３…入力装置
１４…出力装置
１５…パケット網インタフェース
１６…Ａ／Ｄ変換装置
１８…音声データパケット化処理部
１９…ネットワークパケット化処理部
２０…イベント解析処理部
２１…コマンドパケット化処理部
２２…データパケット化処理部
２３…ネットワークパケット分解処理部
２４…データ振り分け処理部処理部
２５…出力データキュー
２６…音声データヘッダ除去処理部
２７…ミキシング処理部
２９…Ｄ／Ａ変換装置
３０…コマンド解析処理部
３１…データ解析処理部
３２…出力データ生成処理部
３５…ユーザインタフェース部
【図１】
2005026952.tif 000003
【図２】
2005026952.tif 000004
【図３】
2005026952.tif 000005
【図４】
2005026952.tif 000006
【図５】
2005026952.tif 000007
【図６】
2005026952.tif 000008
【図７】
2005026952.tif 000009
【図８】
2005026952.tif 000010
【図９】
2005026952.tif 000011
【図１０】
2005026952.tif 000012
【図１１】
2005026952.tif 000013
【図１２】
2005026952.tif 000014
【図１３】
2005026952.tif 000015
【図１４】
2005026952.tif 000016
【図１５】
2005026952.tif 000017
【図１６】
2005026952.tif 000018
【図１７】
2005026952.tif 000019
【図１８】
2005026952.tif 000020
【図１９】
2005026952.tif 000021
【図２０】
2005026952.tif 000022
【図２１】
2005026952.tif 000023
【図２２】
2005026952.tif 000024
【図２３】
2005026952.tif 000025
【図２４】
2005026952.tif 000026
【図２５】
2005026952.tif 000027
【図２６】
2005026952.tif 000028
【図２７】
2005026952.tif 000029
【図２８】
2005026952.tif 000030
【図２９】
2005026952.tif 000031
【図３０】
2005026952.tif 000032