JP2005026952A - Distributed communication system - Google Patents
Distributed communication system Download PDFInfo
- Publication number
- JP2005026952A JP2005026952A JP2003189425A JP2003189425A JP2005026952A JP 2005026952 A JP2005026952 A JP 2005026952A JP 2003189425 A JP2003189425 A JP 2003189425A JP 2003189425 A JP2003189425 A JP 2003189425A JP 2005026952 A JP2005026952 A JP 2005026952A
- Authority
- JP
- Japan
- Prior art keywords
- terminal device
- information
- request
- call
- command
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Telephonic Communication Services (AREA)
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、分散型コミュニケーションシステムに係り、特に、ピアツーピアによるリアルタイム通話を行なう端末装置に関する。
【0002】
【従来の技術】
近年のブロードバンドネットワークの普及により、各家庭から高速なデータ通信が可能となっている。データ通信に用いる端末装置としては、従来はデスクトップ型のPCが主流であったが、可搬型のノートPC、PDA、携帯電話が広く利用されるようになってきた。また、ネットワークの形態も、従来の公衆回線網等を利用した有線型に加え、無線型のネットワークが急激に広まっており、駅や喫茶店のような公共の場でも無線ネットワークを利用できるサービスの実用化が始まっている。
【0003】
このような背景から、「ユビキタス」「PtoP(Peer to Peer、以下「P2P」とも記す。)」といったキーワードで、種々の技術が開発されている。
【0004】
コミュニティ型のネットワークを形成するP2Pの利点は、あらかじめ固定的なサービスを知らなくても、実行時に予備知識なしにダイナミックに目標を検索できる点にある。例えば、ネットワーク上に自分の欲しいファイルがあるかどうかを探索して、ネットワーク上の任意の端末装置から得た情報を元に、目的のファイルを所有する端末装置から直接データを受取ることができる。実際に、このような仕組みを用いた音楽配信サービス、ファイル交換サービス等がインターネット上で利用されている。
【0005】
非特許文献1、非特許文献2には、P2Pのプラットフォームとして、「JXTA」が記載されている。JXTAはオープンソースコミュニティを形成し、各機能の拡張を進めている。
【0006】
JXTAでは、通信相手の探索、データ転送、P2Pグループ形成処理等を行うCoreレイヤ、情報検索、共有、セキュリティを取り扱うMiddleレイヤ、ファイル共有、リソース共有、決済機能等を取り扱うApplicationレイヤを備えて構成される。
【0007】
JXTAでは、自分が公開したい情報をブロードキャストして、その情報を利用したい他の端末装置からのアクセスを待つ。ここで情報の交換のために「パイプ」いう概念を用い、アクセスしてくる端末装置との間に「パイプ」を確立し、情報は「パイプ」を通してやり取りされる。ある情報にアクセスしようとする端末装置は、他の端末装置が公開した情報にくくりつけられた「パイプ」名を指定することで、目的の情報を公開している端末装置にたどり着くことができる。この際、端末装置を利用するユーザは、通信相手の端末装置のIPアドレス等を意識する必要はない。
【0008】
【非特許文献1】
バーナード トラバーサット(Bernard Traversat)他著、「JXTA インア ナットシェル(JXTA in a Nutshell)」、オレイリ(O’Reilly)、2002年9月
【非特許文献2】
サンマイクロシステムズ(Sun Microsystems, Inc.)、”プロジェクトJXTA(ProjectJXTA)”、[online]、[平成15年2月20日検索]、インターネット<URL:http://www.jxta.org>
【0009】
【発明が解決しようとする課題】
上述のP2Pプラットフォームは、元々ネットワーク上のどこかに存在するファイルの取得を目的の一つとして開発されたものである。すなわち、ファイルの属性を伴う「尋ねファイル」情報をネットワーク上に広告(ブロードキャスト)することにより、そのファイルに関する情報を有する端末装置からの情報を頼りに、目的のファイルに近づいていくという形式を取っている。JXTAでは、ターゲットはファイルに限られてはいないが、「サービス名」のような「パイプ」名をキー情報として動作するようになっている。
【0010】
上記技術を、人と人との音声等によるリアルタイムの「通話」に適用することが考えられている。ネットワークを利用した通話は、いわゆるVoIPによる電話サービスが代表的であるが、これは、通話相手として特定の人の特定の端末装置をIPアドレス等で指定するものである。相手端末装置のIPアドレス等がわからない場合には、端末装置のアドレスを管理するサーバ装置を介して相手端末装置のTPアドレスを取得すればよい。
【0011】
一方、P2Pプラットフォームを通話に適用した場合には、ブロードキャストされた公開情報に基づいて通信相手を探索する必要がある。通信相手の探索については、上記の従来の技術を用いて実現することができるが、電話等がかかってきた側からすると、電話をかけてきた相手の情報に乏しく、応答すべきかどうかの判断材料に欠けることになる。
【0012】
このため、P2Pプラットフォームを通話に適用した場合に、通話要求の着信時に着信側が発信側の情報を取得できることが望ましい。そこで、本発明は、主としてピアツーピアプラットフォームをリアルタイム通話要求に適用した場合に、着信側が発信側の情報を取得できるようにすることを目的とする。
【0013】
【課題を解決するための手段】
上記課題を解決するために、本発明によれば、
ピアツーピア(Peer to Peer)の通話が可能な複数の端末装置を備えて構成される分散型コミュニケーションシステムであって、
通信要求を受け付けるための情報をネットワーク上に公開する公開手段と、
他の端末装置から通信要求を受け付けた場合であって、その端末装置に関する情報を保有していない場合には、通話の開始に先立ち、その端末装置に対して、その端末装置に関する情報の要求を行なう情報要求手段とを備える着信端末装置と、
ネットワーク上に公開された通信要求を受け付けるための情報に基づいて、他の端末装置に対して通信要求を行なう通信要求手段と、
通信要求を行なった他の端末から自端末装置に関する情報の要求を受け付けた場合に、要求に係る情報を送信する情報要求応答手段とを備える発信端末装置とを有することを特徴とする分散型コミュニケーションシステムが提供される。
【0014】
【発明の実施の形態】
本発明の実施形態について、図面を参照して詳細に説明する。
【0015】
図1は、本発明の実施形態に関わる分散型コミュニケーションシステムを適用したネットワーク構成例を示す図である。
【0016】
図1に示すように、分散型コミュニケーションシステムを適用したネットワークは、プロトコル変換装置であるゲートウェイ5を介して相互に接続されたパケット網1と公衆電話網6とを備えて構成される。パケット網1には、通話のための通信を行なう複数のクライアント端末装置(以降、端末装置)2a〜2iが接続され、公衆電話網6には電話機3が接続されている。なお、通話には、音声による通信(電話)に加え、文字による通信(いわゆるインスタントメッセージ)が含まれる。また、公衆電話網6には、携帯電話網も含まれる。
【0017】
パケット網1は、例えば、IPプロトコルに従ったパケット通信を行なうネットワークで、公衆無線LAN1a、Internet1b、アドホックネットワーク1c等を含むことができる。本図の例では、公衆無線LAN1aが無線基地局4を介して有線のパケット網であるInternet1bと接続してる。
【0018】
図2は、端末装置2の内部構成を示すブロック図である。
【0019】
本図に示すように、端末装置2は、メモリ10と、メモリ10に格納されているプログラムに基づく処理を行うCPU11と、蓄積装置12と、キーボード、マウス、ペン、マイク(受話器)等の入力装置13と、スピーカ、ディスプレイ等の出力装置14と、パケット網1で通信を行うためのパケット網インタフェース15と、アナログデータをディジタルデータへ変換するA/D変換装置16と、ディジタルデータをアナログデータに変換するD/A変換装置29とを備えて構成され、それぞれが内部バスにより接続されている。なお、アドホックネットワーク1cに接続する場合には、さらに、ルーティング機能部を備えるようにする。
【0020】
本実施例においては、メモリ10上に通信プログラム、ユーザインタフェース(UI)プログラム等が格納されている。
【0021】
メモリ10上に格納された通信プログラムは、CPU11により実行されることにより、以下のような受信処理を行なうための処理部と送信処理を行なうための処理部とを端末装置2上に仮想的に生成する。
【0022】
すなわち、受信処理を行なうための処理部として、パケット網インタフェース15を介して受信したパケットからヘッダ情報を取るネットワークパケット分解処理部23と、ヘッダ情報を取ったパケットの内容から音声データ/コマンド/データとに振り分けるデータ振り分け処理部24と、受信したデータが音声データである場合に、送信端末装置2毎に音声データを一時バッファリングする複数の出力データキュー25と、ある単位時間毎に出力データキュー25から音声データを取り出し、音声データに付加されている情報と音声データを分解する音声データヘッダ除去処理部26と、各出力データキュー25にバッファリングされている音声データのうちの先頭の音声データを取り出してミキシング処理を行うミキシング処理部27と、ミキシング音声データが符号化されている場合に復号処理を行うDECODER28と、データ振り分け処理部24で振り分けられた受信データがコマンドである場合に、コマンド種別を解析するコマンド解析処理部30と、データ振り分け処理部24で振り分けられた受信データがデータである場合に、データ種別を解析するデータ解析処理部31と、ユーザへ通知する必要のあるコマンドやデータについて、出力装置14へ出力するためのデータを作成する出力データ生成処理部32とを生成する。
【0023】
また、送信処理を行なうための処理部として、ディジタル化された音声データを符号化するCODER17と、CODER17による符号化音声データをパケット網1へ送出する音声データパケット化処理部18と、パケットにされた音声データに通信相手のアドレス情報、パケットシーケンス番号、送信者識別子等を含んだヘッダ情報を付加するネットワークパケット化処理部19と、ユーザが入力したイベントを解析するイベント解析処理部20と、このイベントが音声通話のセッション制御に関するコマンドである場合に、コマンドを作成するコマンドパケット化処理部21と、イベントが他のメッセージング処理によるデータである場合に、このデータを作成するデータパケット化処理部22とを生成する。
【0024】
ただし、CODER17、音声データパケット化処理部18、ネットワークパケット化処理部19、ネットワークパケット分解処理部23、データ振分け処理部24、出力データキュー25、音声データヘッダ除去処理部26、ミキシング処理部27、DECODER28等は、ハードウェアで構成するようにしてもよい。
【0025】
メモリ10上に格納されたユーザインタフェースプログラムは、CPU11により実行されることにより、ユーザインタフェース部35を端末装置2上に仮想的に生成する。ユーザインタフェース部35は、端末装置2上にシステムが提供する画面を表示し、画面上等で受け付けたユーザからの指示に基づいて、後述する各種の処理を行なう。
【0026】
図13は、端末装置2のユーザインタフェース部35が表示する本システムのメイン画面の一例を示す図である。
【0027】
本図に示すように、メイン画面には、ネットワークへ公開するサービスや情報のカスタマイズを行う「公開サービス」メニュー230、通信に用いる際のアドレス情報をカスタマイズするための「設定」メニュー、音声やテキストによるリアルタイム通信を処理するための「通話」メニュー232、他の端末装置が公開している情報やサービスの一覧を表示するためのエリア234、他の端末装置の公開サービス取得を要求する「Search」ボタン235、リアルタイム音声通信処理を要求する「CALL」ボタン236、IM(Instant Messaging)処理を要求する「Message」ボタン237、本画面を閉じてシステム終了を要求するための「CLOSE」ボタン238が配置されている。各ボタンがクリックされた場合の処理については後述する。
【0028】
図14は、メイン画面上で「公開サービス」メニュー230が選択された場合に表示される公開サービス画面の一例を示す図である。公開サービス画面は、端末装置2のユーザがネットワーク上に公開する情報、サービス等を設定するための画面である。
【0029】
本図に示すように、公開サービス画面には、端末装置のIDのみを公開するか(チェックボックス240)、端末装置のID以外の情報も公開するか(チェックボックス241)を選択する領域と、公開する情報を指定するための領域が配置されている。公開する情報を指定するための領域には、氏名の公開を指定するためのチェックボックス242、隣接する趣味入力欄に入力した趣味の公開を指定するためのチェックボックス243、隣接する職業入力欄に入力した職業の公開を指定するためのチェックボックス244、隣接する年齢入力欄に入力した年齢の公開を指定するためのチェックボックス245を、隣接する居住国入力欄に入力した居住国の公開を指定するためのチェックボックス246、性別の公開を指定するためのチェックボックス247、隣接する電話番号入力欄に入力した電話番号の公開を指定するためのチェックボックス248、隣接する個別情報入力欄に入力した個別情報の公開を指定するためのチェックボックス249、隣接するサービス内容入力欄で設定したファイル公開等のサービスの公開を指定するためのチェックボックス250が配置されている。
【0030】
また、公開サービス画面には、指定した情報の公開を実行するための「PUBLIC」ボタン251、設定内容を記憶させるための「OK」ボタン252、公開サービス設定処理を終了して画面をクローズするための「Cancel」ボタン253が配置されている。各ボタンがクリックされた場合の処理については後述する。
【0031】
図15は、メイン画面上で「設定」メニュー231が選択された場合にユーザインタフェース部35が表示する設定画面の一例を示す図である。設定画面は、端末装置2および端末装置2のユーザに関する情報を設定するための画面である。
【0032】
本図に示すように設定画面は、ユーザの氏名および性別を入力するエリア260、画面に表示したいニックネームを入力するエリア261、IP電話番号を入力するエリア262、サービスを公開する際のセッション(パイプ)待機用ポート番号を入力するエリア263、メディア待機用ポート番号を入力するエリア264、表示内容を登録するための「OK」ボタン265、処理をキャンセルするための「Cancel」ボタン266が配置されている。各ボタンがクリックされた場合の処理については後述する。なお、ユーザインタフェース部35は、本画面を表示する際には、あらかじめ登録してある値、あるいは最近に登録した値を表示する。
【0033】
図16は、メイン画面上で「通話」メニュー232が選択された場合にユーザインタフェース部35が表示する通話画面の一例を示す図である。通話画面は、実際に通話(IMを含む)を行なうための画面である。
【0034】
本図に示すように通話画面は、後述するバディリストに登録されたニックネームの一覧を表示するエリア270、通話中の相手のニックネーム等を表示するエリア274、エリア270で選択された相手へリアルタイムの音声通信を要求するための「CALL」ボタン271、エリア270から選択された相手へテキストメッセージ通信を要求するための「Message」ボタン272、音声通信あるいはテキストメッセージ通信処理を終了するための「BYE」ボタン273が配置されている。なお、通話画面は、メイン画面上で「CALL」ボタン236がクリックされた場合にも表示される。
【0035】
ユーザインタフェース部35が表示するその他の画面については、関連する処理内容にあわせて説明する。
【0036】
以上、端末装置2の内部構成について説明したが、ゲートウェイ5も、基本的に同様の内部構成とすることができる。ただし、ゲートウェイ5は、さらに、公衆電話網6とのインタフェースを有する。公衆電話網6とのインタフェースは、パケット網1bからのデータをアナログデータに変換して公衆電話網6へ出力し、公衆電話網6からのアナログデータをディジタルデータに変換してパケット網1bへ送出する。
【0037】
また、ゲートウェイ5は、公衆電話網6の電話機3から、端末装置2が公開サービス画面で設定を受け付けた公開情報に関する指示を電話機3のユーザから受け付けて、蓄積装置12に格納しておく。この情報は、後述するように、端末装置2からの詳細情報の問い合わせに対して返信される。
【0038】
端末装置2およびゲートウェイ5の蓄積装置12には、通信相手の情報を管理するバディリストが記憶される。図5は、バディリストのデータ構造の一例を示す図である。
【0039】
本図に示すように本実施形態におけるバディリストは、通信相手の情報として、画面表示等に使用するニックネーム70と、通信相手の端末装置を識別するためのユニークな識別子であるID71と、通信相手の個人情報である詳細情報72を管理する。詳細情報72は、例えば、氏名72a、公衆電話網あるいはIP電話等の電話番号(tel−no)72b、職業72c、趣味72d等を含んで構成される。バディリストへの登録は、最初の通話の際に端末装置2が通話先から自動的に取得したり、ユーザからの指示に基づいて登録したりすることができる。
【0040】
次に、本発明の処理の流れの一例を図3および図4のシーケンス図を参照して説明する。本例では、公衆無線LAN1aに接続する端末装置2aが、アドホックネットワーク1cに接続する端末装置2iに対してIP電話をかける場合について説明する。すなわち、パケット網1内での通話である。
【0041】
まず、端末装置2aは、公衆無線LAN1aに接続する(ステップ40)。そして、図13に示した本システムのメイン画面上で通話メニュー232が選択、あるいは、「CALL」ボタン236がクリックされると、図16に示した通話画面を表示する。
【0042】
ユーザから端末装置2iへの音声通信(VoIP)の要求として、メイン画面上で、通信相手となる端末装置2iのユーザのニックネームが選択された状態で、「CALL」ボタン271のクリックを受け付けると(ステップ41)、端末装置2aは、バディリストを参照して、端末装置2iのID、ニックネーム等の情報を含むVoP2P要求コマンド(CALLコマンド)を発行し、パケット網1にブロードキャストする(ステップ42)。
【0043】
図6(a)は、CALLコマンドのフォーマットの一例を示す図である。本図に示すようにCALLコマンドは、IPヘッダ80、TCPヘッダ81、コマンド種別82、発信元ニックネーム83、発信元IPアドレス84、宛先ニックネーム84、バディリスト登録状況(一度通話したことがあるかどうか)85、音声・データ・映像等の通信手段種別86、通信メディアのCODEC種別87、受信用ポート番号89等を含んで構成される。なお、ヘッダ以外の各項目は、例えばテキスト形式のXMLにしたがって記述することができる。以下に説明する各コマンドフォーマットにおいても同様である。
【0044】
アドホックネットワーク1cに接続している端末装置2dは、ブロードキャストされたCALLコマンドを受信すると、ルーティング機能部が備えるルーティングテーブルを参照して端末装置2iについての情報があるかどうかを検索する(ステップ43)。
【0045】
ルーティングテーブルより、自分が接続するアドホックネットワーク1c内に端末装置2iが接続していると判断すると、アドホックネットワーク1c内の次の端末装置にCALLコマンドを転送する(ステップ44)。
【0046】
転送されたCALLコマンドを受信した端末装置2hが、ステップ43、44の処理を行うことで、端末装置2aが発行したCALLコマンドは、目的の端末装置2iへ到達する。
【0047】
端末装置2aからのCALLコマンドを受信した端末装置2iは、端末装置2i内のバディリストに、受信したCALLコマンド内に含まれる端末装置2aの情報、例えばニックネーム、あるいは、IDが登録されているかどうかを調べる(ステップ45)。
【0048】
バディリストに登録されている場合には、端末装置2aからCALLコマンド、すなわち、通話要求を受信したことをユーザに通知する(ステップ46)。
【0049】
図17は、CALLコマンドを受信、すなわち着信があったことをユーザに通知するための画面の一例を示す図である。図17(a)は、バディリストに登録された相手から着信があったことを示し、図17(b)は、バディリストに登録されていない相手から着信があったことを示している。
【0050】
図17(a)に示すように、着信があったことをユーザに通知するための画面は、発信者のニックネーム等を表示するエリア280、発信者がバディリストに登録済みであることを表示するエリア281、通話要求に応じない場合に、必要に応じてその理由を入力するためのエリア282、通話に応じるための「Off−fook」ボタン283、詳細情報を要求するための「Info」ボタン284、受話を拒否するための「Not Answer」ボタン285、通話を終了するための「BYE」ボタンを備えている。また、発信者バディリストに登録されていない場合には、図17(b)に示すように、発信者がバディリストに登録済みであることを表示するエリア281に代え、未登録であることを表示するエリア287と、発信者をバディリストに登録するための「Memory」ボタン287が配置される。
【0051】
端末装置2iのユーザが、本画面上で「Off−fook」ボタン283をクリック、あるいは、端末装置2iが備える受話器をオフフックする等のオフフックイベントを発行すると(ステップ47)、端末装置2iは応答コマンド(CALL_OKコマンド)を生成して、CALLコマンド送信元の端末装置2aに対して返信する(ステップ48)。
【0052】
図6(b)は、CALL_OKコマンドのフォーマットの一例を示す図である。本図に示すようにCALL_OKコマンドは、IPヘッダ80、TCPヘッダ81、コマンド種別82、着信端末、すなわち、CALL_OKコマンドの発信元のニックネーム90、着信端末のIPアドレス91、通信手段種別92、CODEC93、受信用ポート番号94等を含んで構成される。
【0053】
端末装置2aはCALL_OKコマンドを受信した場合には、ユーザに対して端末装置2iとのセッションが確立したことを通知し(ステップ49)、音声データを端末装置2iとの間で送受信する(ステップ50)。
【0054】
一方、ステップ45で、受信したCALLコマンド内に含まれる端末装置2aのニックネーム等がバディリスト登録されているか調べた結果、未登録であった場合、あるいは、端末装置2iにおけるステップ46の着信通知に対して、ユーザが図17に示した「Info」ボタン284をクリックして、端末装置2aの詳細情報を要求するイベントを出した場合には、端末装置2iは、図18(a)に一例を示す「通話:詳細情報要求」画面を表示する。
【0055】
本図に示すように、「通話:詳細情報要求」画面は、発信者のニックネーム等を表示するエリア290、詳細情報を要求する項目を指定するエリア291、詳細情報を送信するための「Send」ボタン292、本画面をクローズするための「Cancel」ボタン293が配置されている。
【0056】
端末装置2iは、「Send」ボタン292のクリックを受け付けると、詳細情報を要求する項目を指定するエリア291の設定内容に基づいて、詳細情報要求コマンド(REQUIRE_INFOコマンド)を生成し、端末装置2aに対して送信する(ステップ51)。
【0057】
図7(a)は、REQUIRE_INFOコマンドのフォーマットの一例を示す図である。本図に示すようにREQUIRE_INFOコマンドは、IPヘッダ80、TCPヘッダ81、コマンド種別82、着信端末装置、すなわち、REQUIRE_INFOコマンドの発信元のニックネーム95に加え、着信端末ID100、着信端末装置利用ユーザ氏名101、着信端末装置電話番号102、着信端末装置利用ユーザ職業103等のユーザからの要求情報に対応した項目を含んで構成される。
【0058】
端末装置2iと2aとの間の経路上の端末装置である端末装置2h、2dはそれぞれ端末装置2aへ向けてREQUIRE_INFOコマンドを転送する(ステップ52)。端末装置2iがアドホックネットワーク1cではなく、インターネット1aあるいは無線公衆LAN1b等に接続している場合には、REQUIRE_INFOコマンドを直接端末装置2aに対して送信することができる。
【0059】
REQUIRE_INFOコマンドを受信した端末装置2aは、ユーザに対して端末装置2iから詳細情報要求があったことを通知して、要求の対象となった情報を応答するかどうかを受け付ける。
【0060】
図19(a)は、このときに端末装置2aに表示される画面の一例を示す図である。本図の例では、詳細情報要求があったことを通知する画面は、REQUIRE_INFOコマンドの発信側端末装置2iのユーザのニックネーム等を表示するエリア300、詳細情報要求に係る項目のうち、氏名を入力するエリア301、電話番号を入力するエリア302、職業を入力するエリア303、詳細情報を返信するための「Send」ボタン304、通話を中止するための「BYE」ボタン305が配置されている。なお、詳細情報要求に係る項目を入力するエリア301〜303については、本システムの公開サービス画面あるいは設定画面により登録した情報をあらかじめ表示するようにしてもよい。
【0061】
また、図19(b)は、CALLコマンドの送信先である端末装置2iが通話中の場合に端末装置2aに表示される画面の一例を示す図である。本画面は、端末装置2iのユーザのニックネーム等を表示するエリア300、通話を中止するための「BYE」が配置されている。
【0062】
また、図19(c)は、CALLコマンドの送信先である端末装置2iが通信を拒否した場合に端末装置2aに表示される画面の一例を示す図である。本画面は、本画面は、端末装置2iのユーザのニックネーム等を表示するエリア300、非応答を承諾するための「OK」ボタン307が配置されている。
【0063】
図19(a)に示した画面上で「Send」ボタン304がクリックされ、ユーザから応答する旨の指示を受け付けた場合には、図14に示した公開サービス画面で設定した詳細情報、例えば所属組織や電話番号等を含んだ詳細情報応答コマンド(REQUIRE_INFO_ACKコマンド)を生成して端末装置2iに送信する(ステップ53)。
【0064】
図7(b)は、REQUIRE_INFO_ACKコマンドのフォーマットの一例を示す図である。本図に示すようにREQUIRE_INFO_ACKコマンドは、IPヘッダ80、TCPヘッダ81、コマンド種別82に加え、REQUIRE_INFO_ACKコマンド発信端末装置側ニックネーム104、宛先端末装置側ニックネーム105、コマンド発信端末装置側ID106、氏名107、電話番号108、職業109、趣味110等のREQUIRE_INFOコマンドで要求された情報を含んで構成される。ただし、公開サービス画面でユーザが公開の対象と指定しなかった情報は含めないようにすることができる。
【0065】
REQUIRE_INFO_ACKコマンドは、端末装置2dおよび2hを経て端末装置2iへ転送される(ステップ54)。
【0066】
端末装置2iは、REQUIRE_INFO_ACKコマンドに含まれる詳細情報をユーザへ通知する(ステップ55)。
【0067】
図18(b)は、REQUIRE_INFO_ACKコマンドに含まれた詳細情報をユーザに通知するための「通話:詳細情報要求応答」画面の一例を示す図である。
【0068】
本図に示すように「通話:詳細情報要求応答」画面は、発信端末装置のユーザのニックネーム等を表示するエリア290、発信端末装置のユーザの氏名を表示するエリア294、発信端末装置のユーザの電話番号を表示するエリア295、発信端末装置のユーザの職業を表示するエリア296、応答しない場合の理由を必要に応じて入力するエリア287、通話要求に応答するための「Off−fook」ボタン298、受話を拒否するための「Not Answer」ボタン299が配置されている。なお、REQUIRE_INFO_ACKコマンドにその他の詳細情報が含まれる場合には、それらも表示するようにする。
【0069】
端末装置2iのユーザが、通話要求を行なった相手の情報を確認して、「OFF−fook」ボタン298のクリック、あるいは、端末装置2iが備える受話器をオフフックする等のオフフックイベントを発行すると(ステップ56)、CALL_OKコマンドを端末装置2aに送信する(ステップ57)。このとき、取得した端末装置2aの情報を、バディリストに登録する(ステップ58)。
【0070】
端末装置2aがCALL_OKコマンドを受信したことをユーザに通知することで(ステップ59)、端末装置2aと2iとの間で音声データの送受信を開始され、リアルタイム音声通話が実現する(ステップ60)。
【0071】
図10は、リアルタイム音声通話に用いられるデータのフォーマットの一例を示す図である。本図に示すように、リアルタイム音声通話に用いられるデータは、IPヘッダ80、UDPヘッダ120、シーケンス番号160、音声データ161等を含んで構成される。なお、リアルタイム通話データがXMLデータのようなテキストメッセージである場合には、IPヘッダ80、TCPヘッダ81、メッセージ162等を含んで構成される。
【0072】
リアルタイム音声通話中に、いずれかのユーザがオンフックに相当するイベントを発行すると(ステップ61)、リアルタイム音声通話を終了する。
【0073】
図4は、端末装置2aから着信があったことを通知された、あるいは、詳細情報要求応答を受けた端末装置2iのユーザが、「Not Answer」ボタン299のクリック等により受話を拒否した場合の処理の流れを示している。
【0074】
この場合、端末装置2iは拒絶応答コマンド(CALL_REJECTコマンド)を生成し(ステップ61)、端末装置2aに対して送信する(ステップ62)。
【0075】
図6(c)は、CALL_REJECTコマンドのフォーマットの一例を示す図である。本図に示すようにCALL_REJECTコマンドは、IPヘッダ80、TCPヘッダ81、コマンド種別82、CALL_REJECTコマンド発信端末のニックネーム90に加え、非応答の理由があるかどうかを示す非応答理由フラグ95、非応答理由96等を含んで構成される。
【0076】
この端末装置2iからのCALL_REJECTコマンドを受信した端末装置2aは、ユーザへその旨を通知する(ステップ63)。CALL_REJECTコマンドに非応答の理由が含まれている場合にはその内容も通知するようにする。
【0077】
次に、本発明の処理の流れの別例を図11および図12のシーケンス図を参照して説明する。本例では、公衆無線LAN1aに接続する端末装置2aと電話機3との間でリアルタイムVoP2P要求が発生した場合について説明する。すなわち、ゲートウェイ5を介した通話である。なお、上述の実施例と共通する箇所は簡略して説明する。
【0078】
まず、端末装置2aは、公衆無線LAN1aに接続する(ステップ170)。このとき、端末装置2aが、図14に示した画面で、公開するサービスを設定している場合には、情報公開コマンド(PUBLICコマンド)をブロードキャストする(ステップ171)。
【0079】
図8(a)は、PUBLICコマンドのフォーマットの一例を示す図である。本図に示すようにPUBLICコマンドは、IPヘッダ80、UDPヘッダ120、コマンド種別82、公開サービス名121、公開サービスで用いるプロトコル種別122、公開元IPアドレス123、公開元受信用ポート番号124等を含んで構成される。このように、PUBLICコマンドは、P2P接続に用いる通路(パイプ)情報である、IPアドレス、ポート番号、通路名称等を含むようにする。
【0080】
なお、図8(b)は、公開情報探索コマンド(SEARCH_PUBLIC_INFOコマンド)のフォーマットの一例を示す図である。本図に示すようにSEARCH_PUBLIC_INFOコマンドは、IPヘッダ80、UCPヘッダ120、コマンド種別82に加え、SEARCH_PUBLIC_INFOコマンドの発信元端末装置ニックネーム125、コマンド発信元端末装置IPアドレス126、キーワードフラグ127、キーワード128等を含んで構成される。
【0081】
また、図8(c)は、公開情報探索応答コマンド(SEARCH_PUBLIC_INFO_ACKコマンド)のフォーマットの一例を示す図である。本図に示すようにSEARCH_PUBLIC_INFO_ACKコマンドは、IPヘッダ80、UDPヘッダ120、コマンド種別82に加え、公開サービス名121、プロトコル122、サービス公開元IPアドレス123、サービス公開元受信用ポート番号124等を含んで構成される。
【0082】
端末装置2dは、ブロードキャストされたPUBLICコマンドを受信すると、コマンドに含まれる公開サービスに関する情報を一時的に格納する(ステップ172)。
【0083】
端末装置2aのIP電話番号を「050−123−4567」とすると、電話機3が端末装置2aへ電話をかける場合には、ゲートウェイ5に対する電話を介して端末装置2aにかけるようにする(ステップ173)。これには、端末装置2aのIP電話番号をゲートウェイ5の電話番号に続けて入力しする方法、あるいは、一旦、ゲートウェイ5に電話をかけて、ゲートウェイ5からの音声応答に従い端末装置2aのIP電話番号をかける方法等がある。
【0084】
電話機3からのコールを着信したゲートウェイ5は、入力された電話番号から端末装置2aのIPアドレスを探索する。探索では、まず、現在パケット網に接続していて、自身に登録済みの端末装置の情報を検索する。例えば、IETFで作成しているSIP(Session Initiation Protocol)では、SIP端末はSIPプロキシやSIPサーバにレジストレーションして、自分の現在のアドレスを登録する。ゲートウェイ5は、この登録情報から、IP電話番号「050−123−4567」に相当する端末が存在するかどうかを検索する。
【0085】
未登録の場合には、ゲートウェイ5は、端末探索コマンド(SEARCH_CLIENTコマンド)をブロードキャストする(ステップ174)。
【0086】
図9(a)は、SEARCH_CLIENTコマンドのフォーマットの一例を示す図である。本図に示すようにSEARCH_CLIENTコマンドは、IPヘッダ80、UDPヘッダ120、コマンド種別82に加え、SEARCH_CLIENTコマンドの発信元ニックネーム140、発信元IPアドレス141、発信元受信用ポート番号142、キーワード種別143、キーワードの一つである探索端末利用者(探索相手)ユーザ氏名144、キーワードの一つである探索相手のID145、キーワードの一つである探索相手の電話番号146、他ユーザが指定したキーワード147等を含んで構成される。
【0087】
ブロードキャストされたSEARCH_CLIENTコマンドを受信した端末装置2dは、これまでに格納した端末装置の公開情報を検索し(ステップ175)、該当する端末装置の公開サービスに関する情報があれば、端末探索応答コマンド(SEARCH_CLIENT_ACKコマンド)を、ゲートウェイ5に返信する(ステップ176)。
【0088】
図9(b)は、SEARCH_CLIENT_ACKコマンドのフォーマットの一例を示す図である。本図に示すようにSEARCH_CLIENT_ACKコマンドは、IPヘッダ80、UDPヘッダ120、コマンド種別82に加え、探索対象端末ニックネーム148、探索対象端末IPアドレス149、SEARCH_CLIENT_ACKコマンド発信元氏名150、ID151、電話番号152等を含んで構成される。
【0089】
SEARCH_CLIENT_ACKコマンドを受信したゲートウェイ5は、コマンドに含まれる端末装置2aの公開情報からVoP2P通信で用いるパイプ情報を取得して、端末装置2aとの通信用のパイプを生成する(ステップ177)。
【0090】
そして、このパイプを用いて、端末装置2aに対してCALLコマンドを発行する(ステップ178)。
【0091】
パイプを通じてゲートウェイ5からのCALLコマンドを受信した端末装置2aは(ステップ179)、CALLコマンドに含まれる発信者情報(電話機3に関する情報、例えば電話番号、電話機3のユーザ名等、これらはゲートウェイ5に登録されている)を、バディリストから検索する。
【0092】
バディリストに未登録の場合、あるいは、端末装置2aのユーザから詳細情報の要求があった場合には、詳細情報要求コマンド(REQUIRE_INFOコマンド)をパイプを通じてゲートウェイ5に対して送信する(ステップ180)。
【0093】
REQUIRE_INFOコマンドを受信したゲートウェイ5は、コマンドに含まれる要求情報に対応する情報を、あらかじめ電話機3のユーザから登録を受け付けており、記憶している場合には、その要求情報に対応する情報を含む詳細情報応答コマンド(REQUIRE_INFO_ACKコマンド)を返信する(ステップ181)。
【0094】
ここで、端末装置2とゲートウェイ5との間の通信ではなく、端末装置同士のP2P通信要求である場合には、REQUIRE_INFOコマンドに含まれる要求情報をユーザへ通知して入力を促し、入力されたデータをREQUIRE_INFO_ACKコマンドに含めるようにしてもよい。
【0095】
REQUIRE_INFO_ACKコマンドを受信した端末装置2aは、コマンドに含まれる詳細情報をユーザへ通知する(ステップ182)。
【0096】
ユーザからオフフックに相当するイベントを検知した場合には(ステップ183)、応答コマンド(CALL_ACKコマンド)をゲートウェイ5へ送信する(ステップ184)。
【0097】
ゲートウェイ5は、端末装置2aからCALL_ACKコマンドを受信すると(ステップ185)、電話機3との間はアナログ音声に、端末装置2aとの間はディジタル音声データに、それぞれ変換して送受信し、端末装置2aと電話機3との間のリアルタイム音声通信を提供する(ステップ186)。
【0098】
その後、電話機3のユーザがオンフックした場合には(ステップ187)、端末装置2aに対してパイプを通じて切断コマンド(CALL_BYEコマンド)を送信する(ステップ188)。
【0099】
同様に、端末装置2aがユーザからのオンフック相当のイベントを検知した場合には(ステップ189)、切断コマンド(CALL_BYEコマンド)をゲートウェイ5に対して送信する(ステップ190)。
【0100】
図6(d)は、CALL_BYEコマンドのフォーマットの一例を示す図である。本図に示すようにCALL_BYEコマンドは、IPヘッダ80、TCPヘッダ81、コマンド種別82、着信端末ニックネーム90等を含んで構成される。 ゲートウェイ5は、端末装置2aと電話機3との間の接続終了後、端末装置2aとの間のパイプを終了する(ステップ191)。端末装置2aも、情報公開を終了する際に、受信待機用のパイプを終了する(ステップ191)。
【0101】
図12は、ゲートウェイ5がブロードキャストした端末探索コマンド(SEARCH_CLIENTコマンド)を受信した端末装置2dがこれまでに格納した端末装置の公開情報を検索した結果(ステップ175)、該当する情報がなかった場合の処理の流れを示す図である。
【0102】
この場合、端末装置2dは、ゲートウェイ5から受信したSEARCH_CLIENTコマンドを公衆無線LAN1aを介して接続された端末装置2aへ転送する(ステップ200)。
【0103】
端末装置2aは、転送されてきたSEARCH_CLIENTコマンドに含まれる発信側の電話機3の電話番号等が、自身に格納しているバディリストに登録されているか調べる(ステップ201)。
【0104】
この結果、バディリスト等に登録済みの場合には、端末探索応答コマンド(SEARCH_CLIENT_ACK)をゲートウェイ5に対して送信する(ステップ202)。その後は、図11に示したステップ178以降の処理を行う。
【0105】
次に、本システムの端末装置2が画面上でユーザから指示を受け付けた場合、他の端末装置2等からのコマンドを受け付けた場合における処理の流れを説明する。
【0106】
まず、図13に示したメイン画面上でユーザから指示を受け付けた場合の処理の流れについて図23を参照して説明する。
【0107】
本システムが起動すると、メイン画面(P2Pコミュニケーションツール)を表示する(ステップ350)。
【0108】
本画面で「Search」ボタン235のクリックを受け付けると(ステップ351:Y)、図21に示した「探索」画面を表示し、ユーザからの探索キーワード入力を待つ。
【0109】
図21に示すように「探索」画面は、探索する情報が公開サービスである場合に選択するチェックボタン330、チェックボタン330が選択された場合に、探索したいサービスや情報のキーワードを入力するエリア331、探索する情報が特定の相手を指定する場合に選択するチェックボタン332、相手を特定するためのキーワードとして、氏名を入力するエリア333、IDを入力するエリア334、電話番号を入力するエリア335、他の個別情報を入力するためのエリア336、検索を実行するための「Search」ボタン337、処理をキャンセルするための「Cancel」ボタン338が配置されている。
【0110】
ユーザは、本画面のキーワード入力エリアに既知のキーワードを入力することができる。端末装置2は、「Search」ボタン337のクリックを受け付けると、チェックボタン330が選択されている場合には、SEARCH_INFOコマンドをブロードキャストし、チェックボタン332が選択されている場合には、SEARCH_CLIENTコマンドをブロードキャストする。
【0111】
他の端末装置2から、SEARCH_INFO_ACKコマンド、あるいは、SEARCH_CLIENT_ACKコマンドを受信した場合には(ステップ354:Y)、受信したデータに基づいて「探索結果」画面を表示する(ステップ355)。なお、あらかじめ検索に対する応答待ち時間を設定しておき、制限時間内に受信した応答について対応するようにしてもよい。
【0112】
図22は、「探索結果」画面の一例を示す図である。本例は、SEARCH_CLIENT_ACKコマンドを受信した際に表示する画面である。
【0113】
本図に示すように「検索結果」画面は、受信した応答コマンド数を表示するエリア340、受信した応答コマンドに対応する探索結果の項番341、SEARCH_CLIENT_ACKコマンドに含まれる氏名を表示するエリア342、IDを表示するエリア343、電話番号を表示するエリア344、選択された項番に対応する相手にVoP2Pによる通話要求を行なうための「Call」ボタン345、本処理をキャンセルするための「Cancel」ボタン345が配置されている。
【0114】
メイン画面上で「CLOSE」238ボタンのクリックを受け付けた場合には(ステップ356:Y)、本システムを終了し、画面の消去、リソースの開放を行う。
【0115】
メイン画面上で「Call」ボタン236のクリックを受け付けた場合には(ステップ357:Y)、公開サービス一覧エリア234で選択されたデータからアドレス情報を取得して(ステップ358)、後述する通話発信処理(図27参照)を行う(ステップ359)。
【0116】
メイン画面上で「Message」ボタン237のクリックを受け付けた場合には(ステップ360:Y)、公開サービス一覧エリア234で選択されたデータからアドレス情報を取得して(ステップ361)、後述するMessage処理(図29参照)を行う(ステップ362)。
【0117】
図24は、メイン画面上で「設定」メニュー231が選択された場合の処理のシーケンスの一例を示す図である。
【0118】
まず、図15に示した「設定」画面を表示し(ステップ370)、ユーザに入力を促す。「設定」画面上で「OK」ボタン265のクリックを受け付けると(ステップ371:Y)、入力されたデータを、蓄積装置12に格納して画面をクローズする(ステップ372)。
【0119】
図25は、メイン画面上で「公開サービス」メニュー230が選択された場合の処理のシーケンスの一例を示す図である。
【0120】
まず、図14に示した「公開サービス」画面を表示し(ステップ380)、ユーザに入力を促す。
【0121】
「公開サービス」画面上で「PUBLIC」ボタン251のクリックを受け付けると(ステップ381:Y)、公開する情報を指定するための領域(240〜250)で指定されたデータを収集して画面をクローズする(ステップ382)。そして、PUBLICコマンドを生成して、ブロードキャストする(ステップ383)。同時に、公開した情報やサービスに対してのパイプ受信待機用にTCPソケットを生成して待機する(ステップ384)。
【0122】
「公開サービス」画面上で「OK」ボタン252のクリックを受け付けると(ステップ385:Y)、公開する情報を指定するための領域(240〜250)で指定されたデータを収集して画面をクローズする(ステップ386)。
【0123】
「公開サービス」画面上で「Cancel」ボタン253のクリックを受け付けると(ステップ387:Y)、公開する情報を指定するための領域(240〜250)で指定されたデータを収集して画面をクローズし(ステップ388)、パイプ受信待機用TCPソケットがオープンされている場合には(ステップ389:Y)、公開情報終了コマンド(PUBLIC_CLOSEコマンド)をブロードキャストして(ステップ390)、TCPソケットをクローズする(ステップ391)。
【0124】
図8(b)は、PUBLIC_CLOSEコマンドのフォーマットの一例を示す図である。本図に示すようにPUBLIC_CLOSEコマンドは、IPヘッダ80、UDPヘッダ120、コマンド種別82、公開サービス名121、公開元IPアドレス123、公開元ポート番号124等を含んで構成される。
【0125】
図26は、メイン画面上で「通話」メニュー232が選択された場合の処理のシーケンスの一例を示す図である。
【0126】
まず、図16に示した「通話」画面を表示して(ステップ400)、ユーザにバディリスト270から通話先の選択を促す(ステップ401)。
【0127】
「通話」画面上で「CALL」ボタン271のクリックを受け付けると(ステップ402:Y)、バディリスト270で選択された通信相手の現在の公開情報あるいはアドレス情報が既知であるかどうかを検索する(ステップ403:Y)。
【0128】
その結果、アドレス情報が既知であれば、図27に示す通話発信処理を行う(ステップ404)。一方、現在のアドレス情報が分からなければ、図30に示す端末探索処理を行う(ステップ405)。
【0129】
「通話」画面上で「Message」ボタン271のクリックを受け付けると(ステップ406:Y)、バディリスト270で選択された通信相手の現在の公開情報あるいはアドレス情報が既知であるかどうかを検索する(ステップ406:Y)。
【0130】
その結果、アドレス情報が既知であれば、図29に示すMessage処理を行なう(ステップ408)。一方、現在のアドレス情報が分からなければ、図30に示す端末探索処理を行う(ステップ405)。
【0131】
通話中に、「通話」画面上で「BYE」ボタン272のクリックを受け付けると、通信相手に対してCALL_BYEコマンドを送信して(ステップ410)、通話処理を終了する。
【0132】
図27は、通話発信処理(ステップ404)のシーケンスの一例を示す図である。
【0133】
通話発信処理では、メイン画面の公開サービス一覧エリア234から選択されたデータのアドレス情報を含んだCALLコマンドを、選択されたサービスを公開している端末装置2のアドレスを指定して送信する(ステップ420)。
【0134】
通信相手からCALL_ACKコマンドが返信されてきたら(ステップ421)、音声データの入力、A/D変換、パケット化、送信・受信、パケット分解、D/A変換、音声出力の一連の音声データ送受信処理を行う(ステップ422)。
【0135】
「BYE」ボタン273のクリックを受け付けてCALL_BYEコマンドを送信した場合、および、通信相手からCALL_BYEコマンドを受信した場合には(ステップ423:Y)、通信に用いていたパイプを切断して(ステップ424)、通話発信処理を終了する。
【0136】
通信相手からCALL_REJECTコマンドを受信した場合には(ステップ425:Y)、図19(c)に示した「非応答」画面を表示し(ステップ426)、通信に用いるためのパイプを切断して(ステップ424)、通話発信処理を終了する。
【0137】
通信相手からREQUIRE_INFOコマンドを受信した場合には(ステップ427:Y)、図19(a)に示した「詳細情報要求応答」画面を表示する(ステップ428)。ただし、REQUIRE_INFOコマンドの要求情報が、図14に示した公開サービス情報で公開の指定を受けている項目の場合には、「詳細情報要求応答」画面を表示することなくREQUIRE_INFO_ACKコマンドを返信するようにしてもよい。
【0138】
「詳細情報要求応答」画面上で「SEND」ボタン304のクリックを受け付けると(ステップ429:Y)、ユーザが入力した情報を格納したREQUIRE_INFO_ACKコマンドを通信相手に送信する(ステップ430)。
【0139】
図28は、CALLコマンドを受信した場合の、通話着信処理のシーケンスの一例を示す図である。
【0140】
他の端末装置2からCALLコマンドを受信すると(ステップ440)、CALLコマンド内に含まれる発信側端末装置2の発信者情報を取得する(ステップ441)。そして、図17に示した「VoIP:着信」画面を表示する(ステップ442)。
【0141】
「VoIP:着信」画面上で「Off−fook」ボタン283のクリックを受け付けると(ステップ443:Y)、音声データの送受信に用いるパイプを生成する(ステップ444)と共に、CALL_OKコマンドをCALLコマンド発信端末装置2に対して送信する(ステップ445)。
【0142】
その後、音声データの入力、A/D変換、パケット化、送信・受信、パケット分解、D/A変換、音声出力の一連の音声データ送受信処理を行う(ステップ446)。
【0143】
「BYE」ボタン286のクリックを受け付けてCALL_BYEコマンドを送信した場合、および、通信相手からCALL_BYEコマンドを受信した場合には(ステップ447:Y)、通信に用いていたパイプを切断して(ステップ448)、通話着信処理を終了する。
【0144】
「VoIP:着信」画面上で「Info」ボタン284のクリックを受け付けると(ステップ449:Y)、図18(a)に示した「要求詳細情報」画面を表示する(ステップ450)。
【0145】
「要求詳細情報」画面上で「Send」ボタン292のクリックを受け付けると、要求情報指定エリア291で指定された要求情報を含んだREQUIRE_INFOコマンドを生成して、CALLコマンド発信端末装置2に対して返信する(ステップ451)。
【0146】
発信端末装置2からREQUIRE_INFO_ACKコマンドを受信した場合には(ステップ452:Y)、コマンドに含まれる詳細情報に基づいて、図18(b)に示した「通話:詳細情報要求応答」画面を表示する(ステップ453)。
【0147】
「通話:詳細情報要求応答」画面上で「NOT ANSWER」ボタン285のクリックを受け付けると(ステップ454:Y)、CALL_REJECTコマンドを生成して、CALLコマンド発信端末装置に対して返信する(ステップ455)。ここで、応答拒否理由入力エリア282にデータが入力されている場合には、この情報をCALL_REJECTコマンドに含めることができる。
【0148】
図29は、メイン画面あるいは図16に示した通話画面おいて、「Message」ボタン237、271がクリックされた際のMessage処理のシーケンスの一例を示す図である。
【0149】
Message処理では、図20に示す「通話:Message」画面を表示する(ステップ460)。本図に示すように「通話:Message」画面は、通信相手のニックネーム等を表示するエリア310、自端末装置のユーザと通信相手端末装置のユーザとが送受信するメッセージを表示するエリア311、自端末装置のユーザがメッセージを入力するエリア312、入力エリア312に入力されたテキストメッセージを通信相手に送信するための「Send」ボタン313、Message通話処理を終了するための「CLOSE」ボタン314が配置されている。
【0150】
「通話:Message」画面上で「Send」ボタン313のクリックを受け付けると(ステップ461:Y)、入力エリア312に入力されたデータを取得してMessageコマンドを生成し、宛先表示エリア310に表示されている通信相手端末装置2に対して送信する(ステップ462)。
【0151】
「通話:Message」画面上で「Close」ボタン314のクリックを受け付けると(ステップ463:Y)、Message_ENDコマンドを生成して、通信相手端末装置2に対して送信し(ステップ464)、「通話:Message」画面をクローズする。
【0152】
Message処理中に、通信相手端末装置2からMessageコマンドを受信した場合には(ステップ465:Y)、メッセージ表示エリア311に、相手端末2のニックネームプロンプトの後に続けてコマンドに含まれるメッセージを表示する(ステップ466)。
【0153】
図30は、端末探索処理(ステップ405)のシーケンスの一例を示す図である。
【0154】
自端末装置を使用しているユーザからのイベントがトリガになっている場合には(ステップ470:Y)、SEARCH_CLIENTコマンドをブロードキャストする(ステップ471)。このコマンドには、図21に示した「検索」画面でキーワード入力エリア333〜336に入力された情報が含まれる。
【0155】
他の端末装置2からSEARCH_CLIENT_ACKコマンドを受信した場合には(ステップ472:Y)、SEARCH_CLIENT_ACKコマンドに含まれる探索結果を表示する(ステップ473)。
【0156】
他の端末装置2からSEARCH_CLIENTコマンドを受信した場合(ステップ474:Y)、SEARCH_CLIENTコマンドに含まれる探索端末情報(キーワード)を取得し(ステップ475)、キーワードを含む情報を格納しているかどうかを検索する(ステップ475)。その結果、該当する情報があった場合には、SEARCH_CLIENT_ACKコマンドを生成して、SEARCH_CLIENTコマンドの発信端末装置2に対して送信する(ステップ477)。一方、該当する情報がなかった場合には、ブロードキャストされたデータの転送先があれば(ステップ478:Y)、SEARCH_CLIENTコマンドを転送先の端末装置2に送信する(ステップ479)。
【0157】
上記の実施形態は、通信相手となる端末装置の探索を端末装置間で行う、いわゆるPtoPのJXTAネットワークを例に説明したが、本発明は、パケット網1に接続する複数の端末装置2を管理するサーバ装置が通信相手となる端末装置の探索を行う従来のクライアントーサーバ型のネットワークにも適用することができる。この場合、例えば、通話要求着信時の詳細情報要求処理の中継等をサーバ装置を介して行なうようにする。
【0158】
【発明の効果】
上述のように、本発明によれば、ピアツーピア(Peer to Peer)プラットフォームをリアルタイム通話要求に適用した場合に、着信側が発信側の情報を取得できるようになる。
【図面の簡単な説明】
【図1】本発明を適用した分散型コミュニケーションシステムのネットワーク構成例を示す図である。
【図2】端末装置2およびゲートウェイ5の内部構成例を示す図である。
【図3】本発明の処理の流れの一例を示すシーケンス図である。
【図4】本発明の処理の流れの一例を示すシーケンス図である。
【図5】バディリストの例を示す図である。
【図6】CALLコマンド、CALL_OKコマンド、CALL_BYEコマンドのフォーマット例を示す図である。
【図7】REQUIRE_INFOコマンド、REQUIRE_INFO_ACKコマンドのフォーマット例を示す図である。
【図8】PUBLICコマンド、PUBLIC_CLOSEコマンド、SEARCH_PUBLIC_INFOコマンド、SEARCH_PUBLIC_INFO_ACKコマンドのフォーマット例を示す図である。
【図9】SEARCH_CLIENTコマンド、SEARCH_CLIENT_ACKコマンドのフォーマット例を示す図である。
【図10】データフォーマット例を示す図である。
【図11】本発明の処理の流れの別例を示すシーケンス図である。
【図12】本発明の処理の流れの別例を示すシーケンス図である。
【図13】メイン画面の一例を示す図である。
【図14】「公開サービス設定」画面の一例を示す図である。
【図15】「設定」画面例の一例を示す図である。
【図16】「通話」画面例の一例を示す図である。
【図17】CALLコマンド受信時の着信画面の一例を示す図である。
【図18】「通話:詳細情報要求」画面例の一例を示す図である。
【図19】「通話:詳細情報要求応答」画面、「通話中」画面、「通話:非応答」画面の一例を示す図である。
【図20】「通話:Message」画面の一例を示す図である。
【図21】「探索」画面の一例を示す図である。
【図22】探索要求に関係するコマンドに受信時の画面の一例を示す図である。
【図23】メイン画面に対するユーザイベント処理シーケンス例を示す図である。
【図24】「設定」画面に対するユーザイベント処理シーケンス例を示す図である。
【図25】「公開サービス」メニュー画面選択時の処理シーケンス例を示す図である。
【図26】通話処理のシーケンス例を示す図である。
【図27】通話発信処理のシーケンス例を示す図である。
【図28】通話着信処理のシーケンス例を示す図である。
【図29】Message処理のシーケンス例を示す図である。
【図30】端末探索処理のシーケンス例を示す図である。
【符号の説明】
1…パケット網
2…端末装置
3…電話機
4…無線基地局
5…ゲートウェイ
6…公衆電話網
10…メモリ
12…蓄積装置
13…入力装置
14…出力装置
15…パケット網インタフェース
16…A/D変換装置
18…音声データパケット化処理部
19…ネットワークパケット化処理部
20…イベント解析処理部
21…コマンドパケット化処理部
22…データパケット化処理部
23…ネットワークパケット分解処理部
24…データ振り分け処理部処理部
25…出力データキュー
26…音声データヘッダ除去処理部
27…ミキシング処理部
29…D/A変換装置
30…コマンド解析処理部
31…データ解析処理部
32…出力データ生成処理部
35…ユーザインタフェース部[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a distributed communication system, and more particularly to a terminal device that performs a peer-to-peer real-time call.
[0002]
[Prior art]
With the spread of broadband networks in recent years, high-speed data communication from each home is possible. Conventionally, desktop PCs have been mainstream as terminal devices used for data communication, but portable notebook PCs, PDAs, and mobile phones have come to be widely used. In addition to the conventional wired network using public networks, wireless networks are spreading rapidly, and services that can use wireless networks in public places such as stations and coffee shops are also available. Has begun.
[0003]
Against this background, various technologies have been developed with keywords such as “ubiquitous” and “PtoP (Peer to Peer, hereinafter also referred to as“ P2P ”)”.
[0004]
The advantage of P2P that forms a community-type network is that a target can be dynamically searched without prior knowledge at the time of execution without knowing a fixed service in advance. For example, it is possible to search whether there is a desired file on the network and to receive data directly from the terminal device that owns the target file based on information obtained from any terminal device on the network. Actually, music distribution services, file exchange services, and the like using such a mechanism are used on the Internet.
[0005]
Non-Patent
[0006]
JXTA is configured with a core layer that performs communication partner search, data transfer, P2P group formation processing, etc., a middle layer that handles information retrieval, sharing, and security, and an application layer that handles file sharing, resource sharing, payment functions, etc. The
[0007]
In JXTA, information that the user wants to publish is broadcasted and waits for access from other terminal devices that want to use the information. Here, the concept of “pipe” is used for exchanging information, and a “pipe” is established with an accessing terminal device, and information is exchanged through the “pipe”. A terminal device that tries to access certain information can reach a terminal device that discloses the target information by designating a “pipe” name associated with the information disclosed by other terminal devices. At this time, the user using the terminal device does not need to be aware of the IP address or the like of the communication partner terminal device.
[0008]
[Non-Patent Document 1]
Bernard Traversat et al., "JXTA in a Nutshell", O'Reilly, September 2002
[Non-Patent Document 2]
Sun Microsystems, Inc., “Project JXTA (ProjectJXTA)”, [online], [February 20, 2003 search], Internet <URL: http: // www. jxta. org>
[0009]
[Problems to be solved by the invention]
The P2P platform described above was originally developed for the purpose of acquiring a file existing somewhere on the network. In other words, the “question file” information with the file attributes is advertised (broadcasted) on the network, and the information from the terminal device having information about the file is relied on to approach the target file. ing. In JXTA, the target is not limited to a file, but operates with a “pipe” name such as “service name” as key information.
[0010]
It is considered to apply the above technique to a real-time “call” by voice between people. A typical telephone service using a network is a so-called VoIP telephone service, in which a specific terminal device of a specific person is designated by an IP address or the like as a communication partner. If the IP address or the like of the partner terminal device is not known, the TP address of the partner terminal device may be acquired via a server device that manages the terminal device address.
[0011]
On the other hand, when the P2P platform is applied to a call, it is necessary to search for a communication partner based on the broadcast public information. The search for the communication partner can be realized using the above-mentioned conventional technology, but from the side of the incoming call, etc., the information on the other party who made the call is scarce, and it is a material for determining whether to respond Will be lacking.
[0012]
For this reason, when the P2P platform is applied to a call, it is desirable that the receiving side can acquire information on the calling side when a call request is received. Therefore, an object of the present invention is to make it possible for a called party to acquire information on a calling party when a peer-to-peer platform is mainly applied to a real-time call request.
[0013]
[Means for Solving the Problems]
In order to solve the above problems, according to the present invention,
A distributed communication system comprising a plurality of terminal devices capable of peer-to-peer calls,
A means for publishing information for accepting communication requests on the network;
When a communication request is received from another terminal device and information regarding the terminal device is not held, a request for information regarding the terminal device is made to the terminal device prior to the start of the call. A receiving terminal device comprising information requesting means to perform;
Communication request means for making a communication request to another terminal device based on information for accepting a communication request published on the network;
A distributed communication system comprising: an information request response means for transmitting information related to a request when a request for information on the terminal device is received from another terminal that has made a communication request; A system is provided.
[0014]
DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described in detail with reference to the drawings.
[0015]
FIG. 1 is a diagram illustrating a network configuration example to which a distributed communication system according to an embodiment of the present invention is applied.
[0016]
As shown in FIG. 1, a network to which a distributed communication system is applied includes a
[0017]
The
[0018]
FIG. 2 is a block diagram showing the internal configuration of the
[0019]
As shown in the figure, the
[0020]
In this embodiment, a communication program, a user interface (UI) program, and the like are stored on the
[0021]
The communication program stored on the
[0022]
That is, as a processing unit for performing reception processing, a network packet disassembly processing unit 23 that takes header information from a packet received via the packet network interface 15 and voice data / command / data from the contents of the packet that takes the header information A data distribution processing unit 24 that distributes data to each other, a plurality of output data queues 25 for temporarily buffering audio data for each transmission terminal device 2 when the received data is audio data, and an output data queue for each unit time The audio data is removed from the audio data 25, the audio data header removal processing unit 26 that decomposes the information added to the audio data and the audio data, and the first audio data among the audio data buffered in each output data queue 25 The mixing processing unit 27 for taking out the mixture and performing the mixing processing , A DECODER 28 that performs a decoding process when mixing audio data is encoded, a command analysis processing unit 30 that analyzes a command type when the received data distributed by the data distribution processing unit 24 is a command, and a data When the received data distributed by the distribution processing unit 24 is data, the data analysis processing unit 31 that analyzes the data type, and the data for outputting to the output device 14 the commands and data that need to be notified to the user Is generated.
[0023]
Further, as processing units for performing transmission processing, a
[0024]
However,
[0025]
The user interface program stored on the
[0026]
FIG. 13 is a diagram illustrating an example of a main screen of the present system displayed by the
[0027]
As shown in the figure, the main screen includes a “public service”
[0028]
FIG. 14 is a diagram showing an example of a public service screen displayed when the “public service”
[0029]
As shown in this figure, on the public service screen, an area for selecting whether to disclose only the ID of the terminal device (check box 240) or whether to disclose information other than the ID of the terminal device (check box 241); An area for specifying information to be disclosed is arranged. In the area for specifying the information to be disclosed, a
[0030]
Also, on the public service screen, a “PUBLIC”
[0031]
FIG. 15 is a diagram illustrating an example of a setting screen displayed by the
[0032]
As shown in the figure, the setting screen includes an
[0033]
FIG. 16 is a diagram illustrating an example of a call screen displayed by the
[0034]
As shown in this figure, the call screen displays an
[0035]
Other screens displayed by the
[0036]
While the internal configuration of the
[0037]
Further, the
[0038]
The
[0039]
As shown in the figure, the buddy list in the present embodiment includes a
[0040]
Next, an example of the processing flow of the present invention will be described with reference to the sequence diagrams of FIGS. In this example, a case will be described in which the
[0041]
First, the
[0042]
As a request for voice communication (VoIP) from the user to the
[0043]
FIG. 6A is a diagram illustrating an example of the format of the CALL command. As shown in the figure, the CALL command includes an
[0044]
When the
[0045]
If it is determined from the routing table that the
[0046]
The
[0047]
Whether the
[0048]
If registered in the buddy list, the user is notified that the CALL command, that is, the call request has been received from the
[0049]
FIG. 17 is a diagram illustrating an example of a screen for receiving a CALL command, that is, notifying the user that an incoming call has been received. FIG. 17A shows that there is an incoming call from the partner registered in the buddy list, and FIG. 17B shows that there is an incoming call from a partner who is not registered in the buddy list.
[0050]
As shown in FIG. 17A, the screen for notifying the user that there has been an incoming call displays an
[0051]
When the user of the
[0052]
FIG. 6B is a diagram illustrating an example of the format of the CALL_OK command. As shown in the figure, the CALL_OK command includes an
[0053]
When the
[0054]
On the other hand, as a result of checking whether the nickname of the
[0055]
As shown in this figure, the “call: detailed information request” screen has an
[0056]
When the
[0057]
FIG. 7A is a diagram illustrating an example of the format of the REQUIRE_INFO command. As shown in the figure, the REQUIRE_INFO command includes an
[0058]
The
[0059]
The
[0060]
FIG. 19A is a diagram illustrating an example of a screen displayed on the
[0061]
FIG. 19B is a diagram illustrating an example of a screen displayed on the
[0062]
FIG. 19C is a diagram illustrating an example of a screen displayed on the
[0063]
When the “Send”
[0064]
FIG. 7B is a diagram illustrating an example of the format of the REQUIRE_INFO_ACK command. As shown in this figure, the REQUIRE_INFO_ACK command includes an
[0065]
The REQUIRE_INFO_ACK command is transferred to the
[0066]
The
[0067]
FIG. 18B is a diagram showing an example of a “call: detailed information request response” screen for notifying the user of detailed information included in the REQUIRE_INFO_ACK command.
[0068]
As shown in this figure, the “call: detailed information request response” screen has an
[0069]
When the user of the
[0070]
By notifying the user that the
[0071]
FIG. 10 is a diagram illustrating an example of a data format used for a real-time voice call. As shown in the figure, the data used for the real-time voice call includes an
[0072]
If any user issues an event corresponding to on-hook during a real-time voice call (step 61), the real-time voice call is terminated.
[0073]
FIG. 4 shows a case in which the
[0074]
In this case, the
[0075]
FIG. 6C is a diagram illustrating an example of the format of the CALL_REJECT command. As shown in the figure, the CALL_REJECT command includes an
[0076]
The
[0077]
Next, another example of the processing flow of the present invention will be described with reference to the sequence diagrams of FIGS. In this example, a case where a real-time VoP2P request is generated between the
[0078]
First, the
[0079]
FIG. 8A shows an example of the format of the PUBLIC command. As shown in the figure, the PUBLIC command includes an
[0080]
FIG. 8B is a diagram illustrating an example of a format of a public information search command (SEARCH_PUBLIC_INFO command). As shown in the figure, the SEARCH_PUBLIC_INFO command includes the
[0081]
FIG. 8C is a diagram illustrating an example of a format of a public information search response command (SEARCH_PUBLIC_INFO_ACK command). As shown in the figure, the SEARCH_PUBLIC_INFO_ACK command includes an
[0082]
When the
[0083]
Assuming that the IP telephone number of the
[0084]
The
[0085]
If not registered, the
[0086]
FIG. 9A is a diagram illustrating an example of the format of the SEARCH_CLIENT command. As shown in the figure, the SEARCH_CLIENT command includes an
[0087]
The
[0088]
FIG. 9B is a diagram illustrating an example of the format of the SEARCH_CLIENT_ACK command. As shown in the figure, the SEARCH_CLIENT_ACK command includes an
[0089]
The
[0090]
Then, using this pipe, a CALL command is issued to the
[0091]
The
[0092]
If not registered in the buddy list, or if there is a request for detailed information from the user of the
[0093]
The
[0094]
Here, in the case of a P2P communication request between terminal devices instead of communication between the
[0095]
The
[0096]
When an event corresponding to off-hook is detected from the user (step 183), a response command (CALL_ACK command) is transmitted to the gateway 5 (step 184).
[0097]
When the
[0098]
Thereafter, when the user of the
[0099]
Similarly, when the
[0100]
FIG. 6D is a diagram illustrating an example of the format of the CALL_BYE command. As shown in the figure, the CALL_BYE command includes an
[0101]
FIG. 12 shows a case where the
[0102]
In this case, the
[0103]
The
[0104]
As a result, if it is already registered in the buddy list or the like, a terminal search response command (SEARCH_CLIENT_ACK) is transmitted to the gateway 5 (step 202). Thereafter, the processing after
[0105]
Next, the flow of processing when the
[0106]
First, the flow of processing when an instruction is received from the user on the main screen shown in FIG. 13 will be described with reference to FIG.
[0107]
When this system is activated, a main screen (P2P communication tool) is displayed (step 350).
[0108]
When a click on the “Search”
[0109]
As shown in FIG. 21, the “search” screen is an
[0110]
The user can input a known keyword in the keyword input area of this screen. When the
[0111]
When a SEARCH_INFO_ACK command or a SEARCH_CLIENT_ACK command is received from another terminal device 2 (step 354: Y), a “search result” screen is displayed based on the received data (step 355). Note that a response waiting time for a search may be set in advance, and a response received within the time limit may be handled.
[0112]
FIG. 22 is a diagram illustrating an example of a “search result” screen. This example is a screen displayed when a SEARCH_CLIENT_ACK command is received.
[0113]
As shown in the figure, the “search result” screen includes an
[0114]
When a click on the “CLOSE” 238 button is accepted on the main screen (step 356: Y), the present system is terminated, the screen is erased, and resources are released.
[0115]
When a click on the “Call”
[0116]
When a click on the “Message”
[0117]
FIG. 24 is a diagram showing an example of a processing sequence when the “setting”
[0118]
First, the “setting” screen shown in FIG. 15 is displayed (step 370) to prompt the user to input. When a click on the “OK”
[0119]
FIG. 25 is a diagram illustrating an example of a processing sequence when the “public service”
[0120]
First, the “public service” screen shown in FIG. 14 is displayed (step 380), and the user is prompted to input.
[0121]
When a click on the “PUBLIC”
[0122]
When a click on the “OK”
[0123]
When the user clicks on the “Cancel”
[0124]
FIG. 8B is a diagram illustrating an example of the format of the PUBLIC_CLOSE command. As shown in the figure, the PUBLIC_CLOSE command includes an
[0125]
FIG. 26 is a diagram showing an example of a processing sequence when the “call”
[0126]
First, the “call” screen shown in FIG. 16 is displayed (step 400), and the user is prompted to select a call destination from the buddy list 270 (step 401).
[0127]
When a click on the “CALL”
[0128]
As a result, if the address information is known, the call transmission process shown in FIG. 27 is performed (step 404). On the other hand, if the current address information is not known, the terminal search process shown in FIG. 30 is performed (step 405).
[0129]
When a click on the “Message”
[0130]
As a result, if the address information is known, the Message process shown in FIG. 29 is performed (step 408). On the other hand, if the current address information is not known, the terminal search process shown in FIG. 30 is performed (step 405).
[0131]
When a click on the “BYE” button 272 is accepted on the “call” screen during a call, a CALL_BYE command is transmitted to the communication partner (step 410), and the call process is terminated.
[0132]
FIG. 27 is a diagram illustrating an example of a sequence of a call transmission process (step 404).
[0133]
In the call origination process, a CALL command including address information of data selected from the public
[0134]
When a CALL_ACK command is returned from the communication partner (step 421), a series of audio data transmission / reception processes of audio data input, A / D conversion, packetization, transmission / reception, packet decomposition, D / A conversion, and audio output are performed. Perform (step 422).
[0135]
When the CALL_BYE command is transmitted upon accepting the click of the “BYE”
[0136]
When the CALL_REJECT command is received from the communication partner (step 425: Y), the “non-response” screen shown in FIG. 19C is displayed (step 426), and the pipe used for communication is disconnected (step 426). Step 424), the call outgoing call processing is terminated.
[0137]
When a REQUIRE_INFO command is received from the communication partner (step 427: Y), the “detailed information request response” screen shown in FIG. 19A is displayed (step 428). However, if the request information of the REQUIRE_INFO command is an item for which disclosure is specified in the public service information shown in FIG. 14, the REQUIRE_INFO_ACK command is returned without displaying the “detailed information request response” screen. May be.
[0138]
When a click on the “SEND”
[0139]
FIG. 28 is a diagram showing an exemplary sequence of incoming call processing when a CALL command is received.
[0140]
When a CALL command is received from another terminal device 2 (step 440), caller information of the calling
[0141]
When a click on the “Off-look”
[0142]
Thereafter, a series of audio data transmission / reception processes of audio data input, A / D conversion, packetization, transmission / reception, packet decomposition, D / A conversion, and audio output are performed (step 446).
[0143]
When the CALL_BYE command is transmitted upon accepting the click of the “BYE”
[0144]
When a click on the “Info”
[0145]
When a click on the “Send”
[0146]
When the REQUIRE_INFO_ACK command is received from the calling terminal device 2 (step 452: Y), the “call: detailed information request response” screen shown in FIG. 18B is displayed based on the detailed information included in the command. (Step 453).
[0147]
When a click on the “NOT ANSWER”
[0148]
FIG. 29 is a diagram showing an example of a message processing sequence when the “Message”
[0149]
In the Message process, a “call: Message” screen shown in FIG. 20 is displayed (step 460). As shown in the figure, the “call: Message” screen includes an
[0150]
When a click on the “Send”
[0151]
When a click on the “Close”
[0152]
When the Message command is received from the communication
[0153]
FIG. 30 is a diagram showing an exemplary sequence of terminal search processing (step 405).
[0154]
When an event from a user using the terminal device is a trigger (step 470: Y), a SEARCH_CLIENT command is broadcast (step 471). This command includes information input in the
[0155]
When a SEARCH_CLIENT_ACK command is received from another terminal device 2 (step 472: Y), the search result included in the SEARCH_CLIENT_ACK command is displayed (step 473).
[0156]
When a SEARCH_CLIENT command is received from another terminal device 2 (step 474: Y), search terminal information (keyword) included in the SEARCH_CLIENT command is acquired (step 475), and it is searched whether information including the keyword is stored. (Step 475). As a result, if there is corresponding information, a SEARCH_CLIENT_ACK command is generated and transmitted to the originating
[0157]
Although the above embodiment has been described by taking as an example a so-called PtoP JXTA network in which a terminal device serving as a communication partner is searched between terminal devices, the present invention manages a plurality of
[0158]
【The invention's effect】
As described above, according to the present invention, when a peer-to-peer platform is applied to a real-time call request, a receiving side can acquire information on a calling side.
[Brief description of the drawings]
FIG. 1 is a diagram showing a network configuration example of a distributed communication system to which the present invention is applied.
FIG. 2 is a diagram illustrating an internal configuration example of a
FIG. 3 is a sequence diagram showing an example of a processing flow of the present invention.
FIG. 4 is a sequence diagram showing an example of a processing flow of the present invention.
FIG. 5 is a diagram illustrating an example of a buddy list.
FIG. 6 is a diagram illustrating a format example of a CALL command, a CALL_OK command, and a CALL_BYE command.
FIG. 7 is a diagram illustrating a format example of a REQUIRE_INFO command and a REQUIRE_INFO_ACK command.
FIG. 8 is a diagram illustrating a format example of a PUBLIC command, a PUBLIC_CLOSE command, a SEARCH_PUBLIC_INFO command, and a SEARCH_PUBLIC_INFO_ACK command.
FIG. 9 is a diagram illustrating a format example of a SEARCH_CLIENT command and a SEARCH_CLIENT_ACK command.
FIG. 10 is a diagram illustrating an example of a data format.
FIG. 11 is a sequence diagram showing another example of the processing flow of the present invention.
FIG. 12 is a sequence diagram showing another example of the processing flow of the present invention.
FIG. 13 is a diagram illustrating an example of a main screen.
FIG. 14 is a diagram illustrating an example of a “public service setting” screen.
FIG. 15 is a diagram illustrating an example of a “setting” screen example;
FIG. 16 is a diagram illustrating an example of a “call” screen example;
FIG. 17 is a diagram illustrating an example of an incoming call screen when a CALL command is received.
FIG. 18 is a diagram showing an example of a “call: detailed information request” screen example;
FIG. 19 is a diagram illustrating an example of a “call: detailed information request response” screen, a “calling” screen, and a “call: non-response” screen.
FIG. 20 is a diagram illustrating an example of a “call: Message” screen.
FIG. 21 is a diagram illustrating an example of a “search” screen.
FIG. 22 is a diagram illustrating an example of a screen when a command related to a search request is received.
FIG. 23 is a diagram showing an example of a user event processing sequence for the main screen.
FIG. 24 is a diagram showing an example of a user event processing sequence for a “setting” screen.
FIG. 25 is a diagram showing an example of a processing sequence when a “public service” menu screen is selected.
FIG. 26 is a diagram illustrating a sequence example of call processing.
FIG. 27 is a diagram illustrating a sequence example of a call transmission process.
FIG. 28 is a diagram illustrating a sequence example of incoming call processing.
FIG. 29 is a diagram illustrating a sequence example of Message processing.
FIG. 30 is a diagram illustrating a sequence example of terminal search processing.
[Explanation of symbols]
1 ... Packet network
2 ... Terminal device
3 ... Telephone
4 ... Radio base station
5 ... Gateway
6. Public telephone network
10 ... Memory
12 ... Storage device
13 ... Input device
14 ... Output device
15 ... Packet network interface
16 ... A / D converter
18 ... Voice data packetization processing unit
19 ... Network packetization processing unit
20 ... Event analysis processing section
21 ... Command packetization processing unit
22: Data packetization processing unit
23 ... Network packet decomposition processing unit
24 ... Data distribution processing unit processing unit
25 ... Output data queue
26: Audio data header removal processing unit
27. Mixing processing unit
29 ... D / A converter
30 ... Command analysis processing unit
31 ... Data analysis processing unit
32. Output data generation processing unit
35 ... User interface section
Claims (10)
通信要求を受け付けるための情報をネットワーク上に公開する公開手段と、
他の端末装置から通信要求を受け付けた場合であって、その端末装置に関する情報を保有していない場合には、通話の開始に先立ち、その端末装置に対して、その端末装置に関する情報の要求を行なう情報要求手段とを備える着信端末装置と、
ネットワーク上に公開された通信要求を受け付けるための情報に基づいて、他の端末装置に対して通信要求を行なう通信要求手段と、
通信要求を行なった他の端末から自端末装置に関する情報の要求を受け付けた場合に、要求に係る情報を送信する情報要求応答手段とを備える発信端末装置とを有することを特徴とする分散型コミュニケーションシステム。A distributed communication system comprising a plurality of terminal devices capable of peer-to-peer calls,
A means for publishing information for accepting communication requests on the network;
When a communication request is received from another terminal device and information regarding the terminal device is not held, a request for information regarding the terminal device is made to the terminal device prior to the start of the call. A receiving terminal device comprising information requesting means to perform;
Communication request means for making a communication request to another terminal device based on information for accepting a communication request published on the network;
A distributed communication system comprising: an information request response means for transmitting information related to a request when a request for information on the terminal device is received from another terminal that has made a communication request; system.
通信要求を受け付けるための情報をネットワーク上に公開する公開手段と、
他の端末装置から通信要求を受け付けた場合であって、その端末装置に関する情報を保有していない場合には、通話の開始に先立ち、その端末装置に対して、その端末装置に関する情報の要求を行なう情報要求手段とを備えることを特徴とする端末装置。A terminal device that performs communication for communication with other terminal devices via a network,
A means for publishing information for accepting communication requests on the network;
When a communication request is received from another terminal device and information regarding the terminal device is not held, a request for information regarding the terminal device is made to the terminal device prior to the start of the call. An information requesting means for performing the terminal device.
前記情報要求手段は、
他の端末装置から通信要求を受け付けた場合であって、操作者からの指示を受け付けた場合にも、その端末装置に対して、その端末装置に関する情報の要求を行なうことを特徴とする端末装置。The terminal device according to claim 2,
The information request means includes
A terminal device characterized in that when a communication request is received from another terminal device and an instruction from an operator is received, a request for information on the terminal device is made to the terminal device. .
前記情報要求手段は、他の端末装置に対して要求すべきその端末装置に関する情報を操作者からの指示に基づいて決定することを特徴とする端末装置。The terminal device according to claim 2 or 3,
The terminal device according to claim 1, wherein the information requesting unit determines information on the terminal device to be requested from another terminal device based on an instruction from an operator.
他の端末装置と通話のための通信を行なった場合には、その端末装置に関する情報を記憶する記憶手段をさらに備えることを特徴とする端末装置。The terminal device according to any one of claims 2 to 4,
A terminal device further comprising storage means for storing information related to the terminal device when communication for communication with another terminal device is performed.
前記情報要求手段は、前記記憶装置に通信要求に係る他の端末装置に関する情報を記憶していない場合に、その端末装置に関する情報を保有していないものと判断することを特徴とする端末装置。The terminal device according to claim 5,
The information requesting means determines that the information requesting means does not hold information related to the terminal device when the information related to the other terminal device related to the communication request is not stored in the storage device.
前記情報要求手段が要求した他の端末装置に関する情報を受信した場合に、その情報を表示する要求情報表示手段をさらに備えることを特徴とする端末装置。The terminal device according to any one of claims 2 to 6,
A terminal device further comprising request information display means for displaying information on another terminal device requested by the information request means when the information is received.
前記要求情報表示手段は、他の端末装置に関する情報の表示に際し、通話の承諾、通話の拒否のいずれかの選択を操作者に促すことを特徴とする端末装置。The terminal device according to claim 7,
The request information display means prompts an operator to select either acceptance of a call or rejection of a call when displaying information related to another terminal device.
ネットワーク上に公開された通信要求を受け付けるための情報に基づいて、他の端末装置に対して通信要求を行なう通信要求手段と、
通信要求を行なった他の端末から自端末装置に関する情報の要求を受け付けた場合に、要求に係る情報を送信する情報要求応答手段をさらに備えることを特徴とする端末装置。The terminal device according to any one of claims 2 to 8,
Communication request means for making a communication request to another terminal device based on information for accepting a communication request published on the network;
A terminal device characterized by further comprising an information request response means for transmitting information related to a request when a request for information related to the terminal device is received from another terminal that has made a communication request.
前記情報要求応答手段は、操作者からの指示に基づいて要求に係る情報を送信することを特徴とする端末装置。The terminal device according to claim 9,
The information request response means transmits information related to a request based on an instruction from an operator.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003189425A JP2005026952A (en) | 2003-07-01 | 2003-07-01 | Distributed communication system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003189425A JP2005026952A (en) | 2003-07-01 | 2003-07-01 | Distributed communication system |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005026952A true JP2005026952A (en) | 2005-01-27 |
Family
ID=34187641
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003189425A Pending JP2005026952A (en) | 2003-07-01 | 2003-07-01 | Distributed communication system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005026952A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007267125A (en) * | 2006-03-29 | 2007-10-11 | Kyocera Corp | Portable communication terminal equipment, control method thereof, and multi-spot communication system |
JP2016524350A (en) * | 2013-03-15 | 2016-08-12 | マイクロソフト テクノロジー ライセンシング,エルエルシー | Peer-to-peer device mobile communication |
JP2018510394A (en) * | 2015-12-28 | 2018-04-12 | 小米科技有限責任公司Xiaomi Inc. | Method and apparatus for acquiring user information, terminal apparatus and server |
-
2003
- 2003-07-01 JP JP2003189425A patent/JP2005026952A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007267125A (en) * | 2006-03-29 | 2007-10-11 | Kyocera Corp | Portable communication terminal equipment, control method thereof, and multi-spot communication system |
JP2016524350A (en) * | 2013-03-15 | 2016-08-12 | マイクロソフト テクノロジー ライセンシング,エルエルシー | Peer-to-peer device mobile communication |
JP2018510394A (en) * | 2015-12-28 | 2018-04-12 | 小米科技有限責任公司Xiaomi Inc. | Method and apparatus for acquiring user information, terminal apparatus and server |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5079695B2 (en) | Contextual phone augmentation | |
JP5735016B2 (en) | System and method for peer-to-peer hybrid communication | |
US8451829B2 (en) | Routing a VoIP call with contextual information | |
US20090136016A1 (en) | Transferring a communication event | |
JP5623208B2 (en) | Integrate next-generation networks between different domains (enterprises and service providers) using application sequencing and IMS peering | |
US20070058637A1 (en) | Method for multi-channel multi-device call transfer | |
JP5072954B2 (en) | Data mining for services | |
US8379544B2 (en) | Communications | |
US20070253407A1 (en) | Enhanced VoIP services | |
JP2005318503A (en) | Presence server, session control server, packet relay system, server, and system | |
JP2010512689A (en) | Calling a mobile device to a computing device | |
JP4713463B2 (en) | Method for establishing communication between selected user terminals using a dedicated communication device | |
JP2009518879A (en) | Communication system and method | |
US8228824B2 (en) | VoIP contextual information processing | |
WO2009017181A1 (en) | Temporary connection number management system, terminal, temporary connection number management method, and temporary connection number management program | |
US20080117897A1 (en) | External data access information in a voip conversation | |
JP2009176289A (en) | Service providing system, service providing method, and service providing program | |
US7983247B2 (en) | Metadata collection | |
US20070288600A1 (en) | Telecommunications system and method of initiating file transfers from voice endpoints | |
JP4800332B2 (en) | Service providing system, service providing method, and service providing program | |
JP2005026952A (en) | Distributed communication system | |
JP5193182B2 (en) | VoIP client information | |
KR101017790B1 (en) | Voice packet service method for using messenger in mobile terminal | |
JP2011008695A (en) | Service providing system and method | |
JP5233714B2 (en) | Communication media conversion system, method and program |