(57)【要約】【課題】従来の多者間音声通信システムやＩＭシステムは、会議を管理するサーバあるいはサーバ機能を有する端末が必要であり、サーバレスの環境で実現することができない。【解決手段】端末がアドホックネットワークへのオンラインまたはオフライン時には、他の全ての端末に対して、オンラインまたはオフラインコマンドをブロードキャストする。オンライン時にはあらかじめ承知している複数のチャネルで用いるリソース（バッファ等）を確保し、自分が参加したいチャネル番号を含む参加表明コマンドを、あらかじめ割り当てられているアドレスに対してマルチキャストし、それと同時に該アドレスへ音声、ＩＭデータを送信する。他の端末が該チャネルに参加している場合は、それらの端末からの複数の音声、ＩＭデータを受信し、音声である場合には、複数の音声の混合音声を再生し、離脱する際は、離脱コマンドを当該アドレスへ送信する。【選択図】図２０
2004178236.tif 000002
【特許請求の範囲】
【請求項１】
マルチキャスト可能な通信網に、複数の端末が接続して通信を行う分散型コミュニケーションシステムであって、
一つの前記端末は、前記通信網への接続コマンドをブロードキャストアドレスを宛先としてブロードキャストして、前記通信網に接続する手段と、
前記通信網へ接続した後に、前記通信網に接続している他の前記端末の通信状況を示すプレゼンス情報を要求するプレゼンス要求コマンドをブロードキャストアドレスを宛先としてブロードキャストする手段と、
前記通信網へ接続している他の前記端末による、前記プレゼンス要求コマンドへの応答を受信し、前記応答に含まれる他の前記端末のプレゼンス情報を取得する手段と、
前記取得した他の前記端末のプレゼンス情報に基づいて、当該端末のユーザによる、予め定められた複数の通信方法のいずれかを選択可能にする手段と、
前記通信網への接続を切断するときに、切断コマンドを前記ブロードキャストアドレスを宛先として送信する手段を備える
ことを特徴とする分散型コミュニケーションシステム。
【請求項２】
請求項１に記載の分散型コミュニケーションシステムであって、
前記複数の通信方法は、
各々に所定のマルチキャストアドレスが割り当てられた一つ以上の多者間通信チャネルを用いた、他の前記端末との音声通信、または他の複数の前記端末とのテキストメッセージ交換であるか、または、
一つの前記端末とのテキストメッセージ交換、
のいずれかであることを特徴とする分散型コミュニケーションシステム。
【請求項３】
請求項２に記載の分散型コミュニケーションシステムであって、
一つの前記端末は、
他の前記端末からブロードキャストされた前記通信網への接続コマンドを受信した場合、自端末のアドレス情報を含めた応答コマンドをブロードキャストする手段を備えることを特徴とする分散型コミュニケーションシステム。
【請求項４】
請求項３に記載の分散型コミュニケーションシステムであって、一つの前記端末は、
他の前記端末から、前記プレゼンス要求コマンドを受信した場合に、自端末の通信状況を示すプレゼンス応答コマンドを、前記ブロードキャストアドレスを宛先としてブロードキャストする手段と、を備えることを特徴とする分散型コミュニケーションシステム。
【請求項５】
請求項４に記載の分散型コミュニケーションシステムであって、一つの前記端末は、
音声入力手段と、
他の前記端末と音声通信を行う場合、参加する前記多者間通信チャネルを示す情報を含む参加コマンドと、自端末が参加している前記多者間通信チャネルから離脱する情報を含む離脱コマンドと、前記音声入力手段により取得した音声データから生成した音声パケットと、のいずれかをあらかじめ定められたマルチキャストアドレスに対してマルチキャストする手段と、
前記マルチキャストアドレスに対する前記音声パケットを受信する手段と、
受信した前記音声パケットのうち、自端末以外の複数の前記端末が送信した音声パケットに含まれる音声データを混合処理し、前記混合処理した音声データを音声出力手段へ出力する手段とを備えることを特徴とする分散型コミュニケーションシステム。
【請求項６】
請求項４に記載の分散型コミュニケーションシステムであって、
一つの前記端末は、いずれかの前記多者間通信チャネルへの参加者を問い合わせる問い合わせコマンドを前記マルチキャストアドレスに対してマルチキャストする手段と、
該問い合わせコマンドを受信した場合に、自端末が前記多者間通信チャネルに参加している場合には、自端末を特定する情報を含めた応答するコマンドを前記マルチキャストアドレスに対してマルチキャストする手段とを備えることを特徴とする分散型コミュニケーションシステム。
【請求項７】
請求項６に記載の分散型コミュニケーションシステムであって、一つの前記端末は、
他の一つ以上の前記端末とテキストメッセージを交換する手段を備え、
前記テキストメッセージを交換する手段は、他の一つの前記端末とのテキストメッセージ交換には、ＴＣＰを用い、他の複数の前記端末間とのテキストメッセージ交換には、マルチキャストを用いることを特徴とする分散型コミュニケーションシステム。
【請求項８】
請求項４に記載の分散型コミュニケーションシステムであって、一つの前記端末は、
前記通信網への接続が完了した際に、
いずれか一つの他の前記端末からのテキストメッセージ交換要求の受信を待機する手段と、
ユーザからテキストメッセージ交換を、通信相手情報を伴って要求された場合に、テキストメッセージ交換要求コマンドを、該通信相手情報から得た他の前記端末のアドレスに対して、送信する手段と、
前記テキストメッセージ交換要求コマンドを受信した場合に、該コマンドに含まれる他の前記端末情報を前記ユーザに提供し、前記ユーザが要求に応じることを選択した場合、テキストメッセージ交換肯定応答を生成する手段と、ユーザが要求に応じないことを選択した場合、テキストメッセージ交換拒否応答を生成する手段と、前記生成したいずれかの応答を送信する手段と、
前記ユーザがテキストメッセージ交換を終了することを選択した場合に、テキストメッセージ交換終了コマンドを生成する手段と、該テキストメッセージ交換終了コマンドを、通信相手である他の前記端末のアドレスに対して送信する手段とを備えることを特徴とする分散型コミュニケーションシステム。
【請求項９】
請求項４に記載の分散型コミュニケーションシステムであって、一つの前記端末は、
前記プレゼンス応答コマンドは、少なくとも、自端末が通信をなにも行っていないことを示す識別子、または、他の端末と音声通信中であることを示す識別子、他の端末とテキストメッセージ交換中であることを示す識別子のいずれかを有することを特徴とする分散型コミュニケーションシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、マルチキャストをサポートする通信網におけるコミュニケーション制御システム及び制御方法に関する。
【０００２】
【従来の技術】
昨今のブロードバンドネットワークの普及により、各家庭からも高速なデータ通信が可能となっている。端末も、従来のデスクトップＰＣではなく、携帯可能なノートＰＣ、ＰＤＡ、携帯電話が広く利用されている。これに伴い、ネットワーク自体も、有線ではなく、無線のネットワークが急激に広まっており、駅や喫茶店のような公共の場で無線ネットワークが利用できるサービスも始まっている。
【０００３】
このような背景から、無線ネットワークが利用できる端末を複数使って、一時的な多者間ネットワークを組み、通信を行う仕組みとしてアドホック（ａｄ  ｈｏｃ）ネットワークが注目されている。従来、無線ネットワークを利用しようとしても、基地局からの電波が届く範囲外であったり、基地局と通信できる範囲にあっても、そのときの状況から電波が届きにくくなっていることもある。アドホックネットワークとは、そのようなときに、互いに近くにある端末それぞれが基地局やルータの役目を果たし、電波の届かない範囲でも通信を確立することができるネットワークである。すなわち、無線通信におけるアドホックネットワークとは、基地局など特定のインフラに依存せず、中継機能を持つ端末だけからなる一時的なネットワークを意味する。
【０００４】
上記アドホックネットワークにおける通信方法に関して、例えば、特許文献１に記載されているように、不特定の複数の通信端末間で自律的に閉域通信網を構築できるグループ通信方法の提供を目的とする技術がある。
【０００５】
一方、現在広く普及している電子メールとは異なり、ほぼリアルタイムにメッセージ交換が出来るチャット（ｃｈａｔ）と呼ばれる通信方法がある。チャットシステムの管理方法は、一般的には「会議室」と呼ばれるグループがあり、ここにユーザがアクセスしてグループメンバの間でメッセージを交換する。チャットに参加するユーザの管理は、管理サーバが行っている。
【０００６】
また、特定ユーザのプレゼンス情報（ネットワークに接続して、通信できる状態にあるかなど）を予め知ることができるプレゼンスサービスと上記メッセ―ジ交換サービスとからなるインスタントメッセージングサービス（以下、ＩＭという）があり、普及しつつある。
【０００７】
上記の通信方法について、多者間通信という観点からは、通常は通信を管理するＭＣＵ（Ｍｅｄｉａ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）のようなサーバが必要となる。ＬＡＮ上のマルチメディア通信の規格を定めるＩＴＵ−Ｔ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｕｎｉｔ）では、Ｈ．３２３において集中型と非集中型のマルチポイント会議を規定している。集中型では、各端末がＭＣＵとｐｏｉｎｔ−ｔｏ−ｐｏｉｎｔのセッションを張り、セッション制御とメディアの双方のデータをＭＣＵが管理する。非集中型では、各端末がマルチキャスト機能を用いて、音声映像データを送受信する。但し、制御チャネルに関するデータ、例えば、受信できる映像や音声ストリームの数などは、Ｈ．２４５により、ＭＣ（Ｍｕｌｔｉｐｏｉｎｔ  Ｃｏｎｔｒｏｌ）と呼ばれる管理ユニットに集められる。ＭＣはＭＣＵにあってもよいし、端末にあってもよいが、端末にある場合は、会議に参加するグループ内に少なくとも一つは必要である。非集中型をサポートする端末には、受信した複数の音声データのミキシングや映像データの選択等を処理する責任を持つ。
【０００８】
マルチキャスト通信という観点では、非特許文献１にて開示されている、マルチキャスト用ネットワークであるＩｎｔｅｒｎｅｔ  Ｍｕｌｔｉｃａｓｔ  Ｂａｃｋｂｏｎｅ（Ｍ−ＢＯＮＥ）上のマルチキャスト音声通信ソフトウェアＶＡＴが知られている。また、マルチキャスト通信は、たとえば、ＤＶＭＲＰ（Ｄｉｓｔａｎｃｅ  Ｖｅｃｔｏｒ  Ｍｕｌｔｉｃａｓｔ  Ｒｏｕｔｉｎｇ  Ｐｒｏｔｏｃｏｌ）と呼ばれるプロトコルで提案されている。
【０００９】
さらに、特許文献２に開示されている技術は、ＡＴＭをベースとした資源予約可能なネットワークにおいて、テレビ会議機能のある複数の端末が多地点テレビ会議を行う場合、各端末間にスター状にコネクションを張って帯域を確保し、各テレビ会議端末において、複数拠点からの映像、音声データを処理する。映像の場合は、映像ストリーム数に応じて画面を分割し、音声の場合はミキシング処理を行う。
【００１０】
ＩＭという観点からは、通常のＩＭシステムは、サーバ―クライアント型の通信形態を取り、クライアントは一旦プレゼンス情報を管理するプレゼンスサーバに自端末の情報を登録し、あらかじめプレゼンスサーバに登録してあるバディリスト（友達リスト）の現在の状態を受け取り、誰がプレゼンスサーバにオンラインしているのかを知ることが出来る。このバディリストの情報に従って、ＩＭで通信したい相手を選択し、相手に届けるメッセージを作成、ＩＭサーバ（プレゼンスサーバと物理的に同じ装置に含まれていてもよい）を経由して相手に送信される。メッセージを受けたＩＭサーバは、送信先の情報をプレゼンスサーバから取得し、送信先を決定する。クライアントからあるクライアントに送信されたデータはすべて、ＩＭサーバを経由する。
【００１１】
【特許文献１】
特開２００２−１１１６７９号公報
【特許文献２】
特開平１１−３３１１５５号公報
【非特許文献１】
“ＶＡＴ（Ｖｉｓｕａｌ  Ａｕｄｉｏ  Ｔｏｏｌ）”、［ｏｎｌｉｎｅ］、ＵＣ  Ｂｅｒｋｅｌｅｙ，  Ｌａｗｒｅｎｃｅ  Ｂｅｒｋｅｌｅｙ  Ｎａｔｉｏｎａｌ  Ｌａｂｏｒａｔｏｒｙ、［  平成１４年１１月１４日検索］、インターネット＜  ＵＲＬ  ：  ｈｔｔｐ：／／ｗｗｗ−ｎｒｇ．ｅｅ．ｌｂｌ．ｇｏｖ／ｖａｔ／＞
【００１２】
【発明が解決しようとする課題】
特許文献１が開示する技術は、ある端末が他の端末と何らかのグループ通信を行いたいと希望した場合、あるグループを形成するという呼びかけをブロードキャストし、所定時間内に該呼びかけに応答した端末間でグループを形成する。すでに何らかのグループが存在する場合には、他の不特定多数の端末から既存グループの情報がユニキャストで送られてくる。グループに参加後、ユーザデータをマルチキャストで送受信する。しかし、他のユーザのプレゼンス情報を知ることが出来ない。
【００１３】
上記非特許文献１が開示するソフトウェアを使っても話をできる人は一人で、ある人が話をしている場合は、他の人は聞く状態となり、利便性に欠ける。
【００１４】
従来の通信端末で音声通信を行う場合、多者間の音声通信を行うには、会議を管理するＭＣＵのようなサーバ、あるいはサーバ機能を有する通信端末が、少なくとも１台は必要となる。また、従来のＩＭシステムにおいてもサーバは必要である。しかし、アドホックネットワークのような一時的に構築されるネットワーク上で多者間音声通信を行う場合、サーバレスでサービスを提供する必要がある。
【００１５】
また、各通信端末間でスター状にコネクションを設定する方式では、ユニキャストで各通信端末間を接続するため、端末数の増加に伴う通信データ量の増加は、アドホックネットワークのような、実際にアプリケーションを実行していない中継端末へも負荷がかかるとともに、通信品質の劣化の一因となる。
【００１６】
したがって、アドホックネットワークに適した多者間通信方法が必要である。
【００１７】
【課題を解決するための手段】
本発明は、従来サーバを必要とした、多者間音声通信や、１対１のテキストメッセージ交換、多者間テキストメッセージ交換を、マルチキャスト可能なネットワーク環境で、サーバ機能を有しないクライアント端末のみで実現する技術を提供する。なお、以下の説明では、テキストメッセージの送受信、すなわちテキストメッセージ交換のことをＩＭと表す。したがって、１対１のテキストメッセージ交換と多者間テキストメッセージ交換は、それぞれ１対１ＩＭ、多者間ＩＭという。
【００１８】
本発明の分散型コミュニケーションシステムは、マルチキャスト可能なネットワークへの接続（オンラインという）または離脱（オフラインという）時には、他の全ての端末に対して、オンラインまたはオフラインコマンドをブロードキャストし、オンライン時にはあらかじめ承知している複数のチャネルで用いるリソース（バッファ、マルチキャスト用、１対１のＩＭ用のＴＣＰ受信待機ソケット等）を確保する。さらに、他のユーザのプレゼンス情報を、要求をブロードキャストすることにより取得し、取得したプレゼンス情報に基づき通信方法を選択する。
【００１９】
多者間通信の場合には、ＩＭの場合も音声通信の場合も、自分が参加したいチャネル番号を含む参加表明コマンドを、あらかじめ該チャネルに割り当てられ、自クライアント端末へ予め設定しているマルチキャストアドレスを宛先としたパケットを送信し、それと同時に該マルチキャストアドレスへテキストメッセージや音声データを送信する。
【００２０】
さらに、もし他の端末が該チャネルに参加している場合は、それらの端末からの複数のテキストメッセージや音声データを受信し、音声通信の場合には、定期的に受信した複数の音声データを混合して、混合音声データを再生し、該チャネルから離脱する際は、離脱コマンドをマルチキャストアドレスへ送信し、１対１のＩＭの場合は、通信相手となるクライアント端末との間にＴＣＰコネクションを張り、ＴＣＰ上でテキストメッセージの送受信を行うことを特徴とする。
【００２１】
【発明の実施の形態】
本発明の実施形態について、図を参照して説明する。
【００２２】
図１は、本発明の実施形態に関わる分散型コミュニケーションシステムの構成例を示すもので、マルチキャスト通信可能なパケット網１と、パケット網１に接続する複数（本実施形態では８台）のクライアント端末２−ｎが接続されている。各クライアント端末２は、マルチキャストを利用できる機能、例えば、自クライアント端末が参加しているマルチキャストグループを宛先とするパケットの送受信を行う機能と、パケットデータの転送を行う機能（ルーティング機能）を有する。
【００２３】
図２は、クライアント端末２の内部構成を示すもので、通信プログラム９が格納または展開されるメモリ１０と、通信プログラム９を実行するＣＰＵ１１と、蓄積装置１２と、キーボード、マウス、ペン、マイク等の文字、音声などを入力するための入力装置１３と、スピーカ、ディスプレイ等の音出力や文字表示を行うための出力装置１４と、パケット網１で通信を行うためのパケット網インタフェース１５と、ディジタル化されている音声データをアナログ音声データに変換するＤ／Ａ変換部２９と、アナログ音声データをディジタルデータへ変換するＡ／Ｄ変換部１６と、により構成され、各構成要素はバスなどの内部通信線により接続する。
【００２４】
メモリ１０上に展開される通信プログラム９は、セッション制御を行うセッション管理部３３と、受信処理として、パケット網インタフェース１５を介して受信したパケットからネットワークヘッダ情報を取り除くネットワークパケット分解部２３と、ネットワークヘッダ情報を取り除いたあとのパケットの内容から音声データ、コマンド、データとに振分ける音声データ／データ／コマンド振分け部２４からなる。
【００２５】
さらに、受信したパケットの内容が音声データである場合に、音声データ／データ／コマンド振分け部２４が個々の送信クライアント端末２単位に個別に音声データを一時的に格納する複数の出力データキュー２５と、ある単位時間毎に格納された音声データを取り出し、音声データに付加されている情報と音声データとを分解する音声データヘッダ除去部２６と、格納している音声データのうちで先頭の音声データを取り出して混合処理するＭｉｘｉｎｇ部２７と、混合された音声データが符号化されている場合には復号化処理を行うＤＥＣＯＤＥＲ２８と、を備える。
【００２６】
また、振り分けられたパケットの内容がコマンドである場合にコマンド種別を解析するコマンド解析部３０と、データである場合にデータ種別を解析するデータ解析部３１と、これらのコマンドやデータがユーザへ通知する必要のある場合に上記出力装置１４へ出力するデータを作成する出力データ生成部３２とを備える。
【００２７】
また、通信プログラム９は、送信処理として、ディジタルデータに変換された音声データを符号化するＣＯＤＥＲ１７と、ＣＯＤＥＲ１７による符号化された音声データをパケット網１へ送出するための音声データパケット化部１８と、パケットにされた音声データに通信相手のアドレス情報やパケットシーケンス番号や送信者識別子等を示すヘッダ情報を付与するネットワークパケット化部１９と、ユーザが入力したイベントを解析するイベント解析部２０と、該イベントが音声通信のセッション制御に関するコマンドである場合には、該コマンドを作成するコマンドパケット化部２１と、他のＩＭ処理によるデータである場合には、該データを作成するデータパケット化部２２とから構成する。
【００２８】
上記処理部は、ＣＰＵ１１が通信プログラム９を実行することにより具現化される。これらのプログラムは、予め蓄積装置１２に格納されていても良いし、パケット網１経由で他の装置から、または、図示していない着脱可能な記憶媒体から導入しても良い。
【００２９】
なお、Ａ／Ｄ変換部１６及びＤ／Ａ変換部２９はハードウェアで構成するが、その他の構成要素はハードウェアまたはソフトウェアの実行いずれで具現化しても構わない。
【００３０】
上記クライアント端末２の上記蓄積装置１２には、少なくとも図３〜図６に例示する管理テーブルが記憶される。
【００３１】
図３は該通信プログラム９における多者間通信のセッション制御に用いる情報を示すセッション管理テーブルである。５０は自クライアント端末２を利用するユーザの名称、５１はクライアント端末を識別する時と画面に表示する時に用いるユーザのニックネーム、５２はパケット網１へのオンラインまたはオフラインコマンドを送受信する際に用いるブロードキャストアドレスのポート番号、５３は多者間通信に用いるマルチキャストアドレス、５４は多者間通信のセッション制御コマンドを送受信する際に用いるマルチキャストアドレスのポート番号、５５は多者間通信の音声データ通信に用いるポート番号のオフセット、５６は利用可能なＣＯＤＥＣを示す。
【００３２】
インターネット上で利用されるアドレス資源（ＩＰアドレス、ドメイン名、ポート番号など）の標準化や割り当てを行う組織であるＩＡＮＡ（Ｉｎｔｅｒｎｅｔ  Ａｓｓｉｇｎｅｄ  Ｎｕｍｂｅｒｓ  Ａｕｔｈｏｒｉｔｙ、ｈｔｔｐ：／／ｗｗｗ．ｉａｎａ．ｏｒｇ／ｉｐａｄｄｒｅｓｓ／ｉｐ−ａｄｄｒｅｓｓｅｓ．ｈｔｍｌ）によるアドレスの割り当て方法に従えば、自クライアント端末のＩＰアドレスを、例えば、
（１５３．２５．７．１００）とすると、
ブロードキャストアドレスは
（１５３．３５．７．２５５）となり、マルチキャストアドレスは、クラスＤのアドレス
（２２４．０．０．０  〜  ２３９．２５５．２５５．２５５）
となる。
【００３３】
つまり、自クライアント端末２のネットワークアドレスが決まれば一意に決まるので、上記セッション管理テーブル中にブロードキャストアドレスの項目は不要であるが、他の決定方法による特定のアドレスを明示的に指定してもよい。また、ニックネーム５１は、ＩＰアドレスなどのネットワークアドレスやホスト名より分かりやすく一般的であるので、用いるのが望ましい。
【００３４】
オフセット５５は、チャネル１に割り当てられ、チャネル１のポート番号に当該オフセット値を加えることにより、チャネルｎのポート番号を表すために用いる。しかし、オフセット５５を使わず、各チャネルのポート番号をそれぞれ指定してもよい。
【００３５】
本実施例においてチャネルとは、多者間通信に参加している者同士、例えば建築現場においては同じ仕事をしている者同士や、各作業の取り纏めをしている者同士が、会話や、業務連絡を行なうために設けた通信路を示す。
【００３６】
図４は各チャネルの参加状況を示すチャネル管理テーブルである。６０はチャネル番号、６１はコミュニケーション方法の種別、６２は該チャネルに参加しているクライアント端末２の数、６３は該チャネルで用いられている音声ＣＯＤＥＣを示す。
【００３７】
図５は自クライアント端末２が参加しているチャネルに参加している他のクライアント端末２からの音声パケットの受信状況を示す受信管理テーブルである。７０は該チャネルに参加しているクライアント端末２のニックネーム、７１は該クライアント端末２に割り当てられている出力データキュー２５の先頭のアドレス、７２は該出力データキュー２５の終端アドレス、７３はＩＥＴＦのＲＦＣ１８８９で規定されるＲｅａｌｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ（以下、ＲＴＰ）に従った音声パケットであるＲＴＰパケットのヘッダ情報の一つであるＳＳＲＣ（Ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ  ｓｏｕｒｃｅ）、７４はＲＴＰヘッダ情報の一つであるタイムスタンプ、７５はＲＴＰヘッダ情報の一つであるシーケンス番号を示すエリアである。
【００３８】
図６は自クライアント端末２が送信する音声パケットの送信管理テーブルである。８０は自クライアント端末２が参加しているチャネルの番号、８１は送信用バッファのアドレス、８２は自クライアント端末２が送信するＲＴＰ音声パケットのヘッダ情報のＳＳＲＣ、８３はＲＴＰヘッダ情報のタイムスタンプ、８４はＲＴＰヘッダ情報のシーケンス番号を示すエリアである。
【００３９】
図７〜図１１に、通信プログラム９にて処理されるセッション制御に関するコマンドのパケットフォーマットを例示する。
【００４０】
図７は、パケット網１への接続または切断に用いるコマンドを示す。９０はＩＰヘッダ、９１はＵＤＰヘッダ、９２はコマンド種別、９３は「ＯＮＬＩＮＥ」コマンドの場合に用いるクライアント端末２のユーザ名、９４はニックネームを示すエリアである。
【００４１】
図８は、多者間通信セッション制御に用いるコマンドを示す。１００は多者間通信のコマンド種別、１０１は該コマンドを発信したクライアント端末２を利用しているユーザのニックネーム、１０２は参加するまたはしているチャネルの番号を示すエリアである。
【００４２】
図９は、音声パケットのフォーマットである。１１０はＲＴＰヘッダ、１１１は音声データを格納するエリアである。
【００４３】
図１０は、１対１のＩＭに関するセッション制御に用いるコマンドを示す。１２０はＩＰヘッダ、１２１はＴＣＰヘッダ、１２２はコマンド種別、１２３は該コマンドを発信したクライアント端末２を利用しているユーザのニックネームを示すエリアである。
【００４４】
図１１は、ＩＭのテキストメッセージのパケットフォーマットを示す。１３０、１３３は、ＩＰアドレス、１３１はＴＣＰヘッダ、１３２，１３６はテキストメッセージを示すエリア、１３４はＵＤＰヘッダ、１３５は多者間ＩＭ（グループチャットともいう）のチャネル番号を示すエリアである。上記テキストメッセージとは、文字修飾等の属性情報を含んでもよい。
【００４５】
図１２〜図１８は、通信プログラム９の出力データ生成部３２により出力装置１４に表示される画面である。
【００４６】
図１２はメイン画面であって、１４０はパケット網１への接続処理、または切断処理を要求するための「オンライン」メニュー、１４１は通信で用いる際のアドレス情報を設定するための「設定」メニュー、１４２はパケット網１へ接続している他の端末のプレゼンス情報を取得するための「プレゼンス」メニュー、１４３は「多者間音声通信」あるいは、「ＩＭ」すなわち１対１のＩＭ、あるいは、「ＩＭ−Ｃｏｎｆｅｒｅｎｃｅ」すなわち多者間ＩＭのいずれかを選択するための「通信」メニュー、１４４はパケット網１に接続している他のクライアント端末２のユーザニックネームを表示するエリア、１４５は自クライアント端末２の通信状況を示すエリアである。本実施例におけるプレゼンス情報とは、「通信していない」、「多者間音声通信中」、「ＩＭ中」のいずれかを示す。
【００４７】
図１３は、１４１の「設定」メニューが選択された際に表示されるコンフィギュレーション画面である。１５０は多者間音声通信、グループチャットに用いるマルチキャストアドレス、１５１はセッション制御コマンドの送受信に用いるポート番号、１５２は多者間音声通信で用いるＲＴＰ音声パケットの送受信に用いるポート番号のオフセットを入力するためのエリア、１５３、１５４は１対１のＩＭに用いるＴＣＰ用ＩＰアドレスとＴＣＰのポート番号、１５５は、多者間ＩＭに用いるポート番号のオフセットを入力するためのエリア、１５６は表示内容を登録する際にクリックなどにより選択する「ＯＫ」ボタン、１５７は処理をキャンセルする際に選択する「Ｃａｎｃｅｌ」ボタンである。本画面が表示される場合は、あらかじめ登録されている値、あるいは前回登録された値が表示される。
【００４８】
図１４は、１４０の「オンライン」メニューが選択された際に表示されるオンライン画面である。１６０はユーザ名称、１６１は画面表示に用いられるニックネーム、１６２は１６０，１６１に表示されている内容でパケット網１へ接続する際に選択する「ＯＮＬｉｎｅ」ボタン、１６３は接続中のパケット網１から切断する際に選択する「ＯＦＦＬｉｎｅ」ボタン、１６４は処理をキャンセルする際に選択する「Ｃａｎｃｅｌ」ボタンである。
【００４９】
図１５は、１４３の「通信」メニュー中の「多者間音声通信」（ＶｏＩＰ）が選択され、さらに「チャネル１」が選択された際に表示される「通信：ＶＯＩＰ」画面である。１７０はチャネルに参加しているユーザのリストを示すエリア、１７１は、この端末のユーザがこのチャネルでの多者間音声通信に参加する際に選択する「Ｊｏｉｎ」ボタン、１７２は該チャネルに参加しているユーザの最新のリストを要求する際に選択する「Ｌｉｓｔ」ボタン、１７３は参加しているチャネルを離脱して多者間音声通信を終了する際に選択する「ＢＹＥ」ボタンである。
【００５０】
図１６は、１４３の「通信」メニュー中の「ＩＭ」、すなわち１対１のＩＭが選択された際に表示される「通信：ＩＭ」画面である。１８０は通信相手のニックネームを示すエリア、１８１はこの端末のユーザと通信相手とのやり取りしたメッセージを表示するエリア、１８２はこの端末のユーザが入力するテキストエリア、１８３はＩＭ要求に応答する場合「ＩＭＡＣＫ」コマンドを送信する際に選択する「ＯＫ」ボタン、１８４はＩＭ要求への拒否応答「ＩＭＲＥＦＵＳＥＤ」コマンドを送信する際に選択する「ＳＯＲＲＹ」ボタン、１８５は入力されたテキストを「ＭＥＳＳＡＧＥ」コマンドにして送信する際に選択する「ＳＥＮＤ」ボタン、１８６はＩＭを終了する際に選択する「ＢＹＥ」ボタンである。
【００５１】
図１７は、１４２の「通信」メニュー中の「ＩＭ−Ｃｏｎｆｅｒｅｎｃｅ」、すなわち、多者間ＩＭが選択された際に表示される「通信：ＩＭ−Ｃｏｎｆｅｒｅｎｃｅ」画面である。１９０はチャネルに参加しているユーザのリストを示すエリア、１９１はこのチャネルでの多者間ＩＭに参加する際に選択する「Ｊｏｉｎ」ボタン、１９２は該チャネルに参加しているユーザの最新のリストを要求する際に選択する「Ｌｉｓｔ」ボタン、１９３は参加している多者間ＩＭ（グループチャット）のチャネルを離脱してグループチャットを終了する際に選択する「ＢＹＥ」ボタンである。１９４は該多者間ＩＭに参加している端末から送信されてきたメッセージを表示するエリア、１９５は自分が入力するテキストエリア、１９６は１９５で入力されたテキストを「ＭＥＳＳＡＧＥ」コマンドにして送信する際に選択する「ＳＥＮＤ」ボタンである。
【００５２】
図１８は、１４３の「プレゼンス」メニューが選択された際に表示されるメイン画面である。１９９のオンラインユーザリスト表示エリアに、オンライン（パケット網１へ接続）中のユーザのニックネーム毎にプレゼンス情報が追加表示される。
【００５３】
図１９は、本実施例におけるセッション制御のシーケンスの一例を示すもので、上記クライアント端末２に搭載されている通信プログラム９を起動すると、セッション管理部３３は、計算機リソースの初期化を行う（ステップ２００）。例えば、送受信それぞれのバッファ確保、ワークエリアの確保等を行う。各クライアント端末は、各チャネルの情報（業務報告用などのチャネルの用途、マルチキャストアドレス、ポート番号、オフセット値など）をあらかじめ知っており、クライアント端末２がパケット網１に接続した段階で、各チャネルはオープンされており、明示的なチャネルのオープンまたは、クローズは行わないものとする。
【００５４】
チャネルの情報を得る方法としては、デフォルト値を使う方法や、別の通信方法、例えば企業内であればメールやｗｅｂ、ＩＭ（Ｉｎｓｔａｎｔ  Ｍｅｓｓａｇｉｎｇ）等を用いる、街角であればそのエリアにポスター等で広告する、アドホックネットワークであればアドホックネットワークを構築した際のグループ構成（○○に興味のある人たちのグループ、このエリアにいる２０代などのグループ等）時に通知したりする方法がある。
【００５５】
前記セッション管理部３３は、図１２のメイン画面を表示し（ステップ２０１）、ユーザからのイベント入力、あるいはパケット網１を介して送信されてくる他のクライアント端末２のコマンド受信を待つ。ユーザからのイベントを検出した場合（ステップ２０２、ｙｅｓ）、図２０〜図２２に示すユーザイベント処理（ステップ２０３）を行う。ネットワークからのイベントを検出した場合（ステップ２０４、ｙｅｓ）、図２３、図２４に示すネットワークイベント処理（ステップ２０４）を行う。
【００５６】
図２０〜図２２に、ユーザイベント処理のシーケンスの一例を示す。
【００５７】
図２０において、前記セッション管理部３３は、ユーザから入力されたイベントが何であるかを判定する。「設定」メニュー１４１である場合（ステップ２１０、ｙｅｓ）、前記入力装置１３に、図１３のコンフィギュレーション画面を表示させ、ユーザによる入力を待つ（ステップ２１１）。入力後「ＯＫ」ボタン１５６が選択された場合（ステップ２１２、ｙｅｓ）、前記セッション管理部３３は、入力され、表示されているデータを図３の多者間通信セッション管理テーブルへ格納し（ステップ２１３）、次のイベントを待つ。
【００５８】
ユーザからのイベントが「オンライン」メニュー１４０である場合（ステップ２１４、ｙｅｓ）、前記セッション管理部３３は、図１４のオンライン画面を表示する（ステップ２１５）。「ＯＮＬｉｎｅ」ボタン１６２が選択された場合（ステップ２１６、ｙｅｓ）、前記セッション管理部３３は、表示されているデータを図３の多者間通信セッション管理テーブルへ格納して画面をクローズする（ステップ２１７）。つぎにコマンドパケット化処理部２１は、「ＯＮＬＩＮＥ」コマンドを生成し、あらかじめ登録してあるブロードキャストアドレスのポート番号に対してブロードキャストする。これによりパケット網１へ接続したことになり、上記「ＯＮＬＩＮＥ」コマンドを受信した他のユーザと通信が出来るようになる（ステップ２１８）。その後、セッション管理部３３は、１対１のＩＭで用いるＴＣＰ受信待機ソケットを生成し、受信待機する（ステップ２１９）。
【００５９】
「ＯＦＦＬｉｎｅ」ボタン１６３が選択された場合（ステップ２２０、ｙｅｓ）、コマンドパケット化処理部２１は、送信者情報を含めた「ＯＦＦＬＩＮＥ」コマンドを生成し、ブロードキャストする（ステップ２２１）。これにより、パケット網１への接続を切断したことになる。その後、セッション管理部３３はステップ２１９で生成したＴＣＰ受信待機ソケットをクローズし（ステップ２２２）、ステップ２００で確保したリソースを開放する（ステップ２２３）。
【００６０】
図２１において、パケット網１へ接続した状態でユーザからのイベントが「通信」メニュー１４３である場合（ステップ２３０、ｙｅｓ）、さらにサブメニューの「ＶＯＩＰ」が選択された場合（ステップ２３１、ｙｅｓ）、セッション管理部３３は図１５の「通信：ＶＯＩＰ」画面を表示する（ステップ２３２）。「Ｊｏｉｎ」ボタン１７１が選択された場合（ステップ２３３、ｙｅｓ）、コマンドパケット化処理部２１は「ＪＯＩＮ」コマンドを生成し、あらかじめ定められ、自端末へ登録してあるマルチキャストアドレスのセッション制御コマンド用のポート番号を宛先としてマルチキャストする（ステップ２３４）。その後、音声データの送受信を行う（ステップ２３５）。上記マルチキャストアドレスを持つマルチキャストグループに参加しているクライアント端末２は、これに応えた音声データの送受信を行う。
【００６１】
「Ｌｉｓｔ」ボタン１７２が選択された場合（ステップ２３６、ｙｅｓ）、コマンドパケット化処理部２１は、所望のチャネル番号を含み、該チャネルに参加している人のリストの取得を要求する「ＷＨＯＩＳＨＥＲＥ」コマンドを生成し、上記チャネル番号に対応する宛先へマルチキャストする（ステップ２３７）。「ＢＹＥ」ボタン１７３が選択された場合（ステップ２３８、ｙｅｓ）、コマンドパケット化処理部２１は「ＢＹＥ」コマンドを生成してマルチキャストし（ステップ２３９）、音声処理モジュールの終了処理を行う（ステップ２４０）。
【００６２】
メイン画面の「通信」メニュー１４３→「ＩＭ」が選択された場合（ステップ２４１、ｙｅｓ）、セッション管理部３３は図１６の「通信：ＩＭ」画面を表示し（ステップ２４２）、ＩＭのテキストメッセージ送受信用のＴＣＰソケットを生成し（ステップ２４３）、コマンドパケット化処理部２１は１対１のＩＭの開始を要求する「ＩＭＲＥＱ」コマンドを生成して、パケット網１に接続している他の接続者から選んだ通信要求相手に対して、ステップ２４３で生成したＴＣＰソケットを用いて送信する（ステップ２４４）。
【００６３】
メイン画面の「通信」メニュー１４３→「ＩＭ−Ｃｏｎｆｅｒｅｎｃｅ」が選択された場合（ステップ２４５、ｙｅｓ）、セッション管理部３３は図２２に示すＩＭ−Ｃｏｎｆｅｒｅｎｃｅ処理を行う。メイン画面の「プレゼンス」メニュー１４２が選択された場合（ステップ２４６、ｙｅｓ）、コマンドパケット化処理部２１は送信者情報およびプレゼンス取得要求からなる「ＰＲＥＳＥＮＣＥＲＥＱ」コマンドを生成してブロードキャストする（ステップ２４７）。
【００６４】
図２２において、ステップ２４５においてサブメニュー「ＩＭ−Ｃｏｎｆｅｒｅｎｃｅ」が選択された場合、セッション管理部３３は「通信：ＩＭ−Ｃｏｎｆｅｒｅｎｃｅ」画面を表示する（ステップ２５０）。「ＪＯＩＮ」ボタン１９１が選択された場合（ステップ２５１、ｙｅｓ）、コマンドパケット化処理部２１は送信者情報およびチャネル番号を含む「ＪＯＩＮ」コマンドを生成して、あらかじめ登録してあるマルチキャストアドレスのセッション制御コマンド用のポート番号に対してマルチキャストする（ステップ２５２）。その後、データパケット化部２２とデータ解析部３１とからなるＩＭデータ処理モジュールが図２８に示す処理を行う（ステップ２５３）。
【００６５】
「Ｌｉｓｔ」ボタン１９２が選択された場合（ステップ２５４、ｙｅｓ）、コマンドパケット化処理部２１は送信者情報およびチャネル番号を含む「ＷＨＯＩＳＨＥＲＥ」コマンドを生成し、マルチキャストする（ステップ２５５）。
【００６６】
「ＢＹＥ」ボタン１９３が選択された場合（ステップ２５６、ｙｅｓ）、コマンドパケット化処理部２１は、送信者情報を含む「ＢＹＥ」コマンドを生成してマルチキャストし（ステップ２５７）、ＩＭデータ処理モジュールの終了処理を行う（ステップ２５８）。
【００６７】
図２３、図２４に、ネットワークイベントに対する処理の流れを示す。
【００６８】
図２３において、パケット網１から受信したパケットが「ＯＮＬＩＮＥ」コマンドである場合（ステップ２６０、ｙｅｓ）、前記コマンド解析処理部３０は該コマンドに含まれるユーザ情報を取得し（ステップ２６１）、図１２のメイン画面の「オンラインユーザ」エリアにニックネームを追加表示し（ステップ２６２）、自クライアント端末２の情報を含み、自分が参加しているということを応答する「ＡＣＫ」コマンドを生成してブロードキャストする（ステップ２６３）。
【００６９】
これにより、「ＯＮＬＩＮＥ」コマンドを送信したクライアント端末２は、パケット網１に接続している各クライアント端末２から応答を受信し、接続者を知ることが出来る。いずれかのクライアント端末２が、パケット網１へ接続しているクライアント端末２のリストと共に応答するようにしても良く、その場合は、全ての他のクライアント端末２が応答する必要はない。
【００７０】
受信パケットが「ＡＣＫ」コマンドである場合（ステップ２６４、ｙｅｓ）、コマンド解析処理部３０は該コマンドに含まれるユーザ情報を取得し（ステップ２６５）、図１２のメイン画面の「オンラインユーザ」エリアに未表示の場合（「ＯＮＬＩＮＥ」コマンドを送信したクライアント端末２である場合）、ニックネームを追加表示する（ステップ２６６）。
【００７１】
受信パケットが「ＪＯＩＮ」コマンドである場合（ステップ２６７、ｙｅｓ）、コマンド解析処理部３０は該コマンドに含まれる情報（ニックネーム、チャネル番号等）を取得し（ステップ２６８）、図４に示すチャネル管理テーブルの、該コマンド送信者が参加希望のチャネルの参加者数をインクリメントする（ステップ２６９）。
【００７２】
受信パケットが「ＷＨＯＩＳＨＥＲＥ」コマンドである場合（ステップ２７０、ｙｅｓ）、コマンド解析処理部３０は該コマンドに含まれるチャネル番号を取得し（ステップ２７１）、自クライアント端末２が該チャネルに参加している場合、自分が参加していることを示す「ＩＡＭ」コマンドを生成してマルチキャストする（ステップ２７２）。これにより、「ＷＨＯＩＳＨＥＲＥ」コマンドを送信したクライアント端末２のニックネームエリア１４４に、「ＩＡＭ」コマンドを返信したクライアント端末２のユーザのニックネームが表示される。自クライアント端末２が該チャネルに参加していなければ、なにもコマンドは送らない。
【００７３】
受信パケットが「ＩＡＭ」コマンドである場合（ステップ２７３、ｙｅｓ）、コマンド解析処理部３０は該コマンドの送信者情報を取得し（ステップ２７４）、図１５の「通信：ＶＯＩＰ」画面の参加者リスト表示エリア１７０に未表示の場合、ニックネームを追加表示する（ステップ２７５）。
【００７４】
受信パケットが「ＢＹＥ」コマンドである場合（ステップ２７６、ｙｅｓ）、コマンド解析処理部３０は該コマンドの送信者情報を取得し（ステップ２７７）、図１５の「通信：ＶＯＩＰ」画面の参加者リストから、当該ニックネームを削除する（ステップ２７８）。
【００７５】
受信パケットが「ＯＦＦＬＩＮＥ」コマンドである場合（ステップ２７９、ｙｅｓ）、コマンド解析処理部３０は該コマンドの送信者情報を取得し（ステップ２８０）、図１２のメイン画面の「オンラインユーザ」リストから、当該ニックネームを削除する（ステップ２８１）。
【００７６】
図２４において、受信パケットが、「ＩＭＡＣＫ」コマンドである場合（ステップ２９０、ｙｅｓ）、図２９に示すＩＭデータ処理モジュールによる処理を行う（ステップ２９１）。
【００７７】
受信パケットが「ＩＭＲＥＦＵＳＥＤ」コマンドである場合（ステップ２９２、ｙｅｓ）、「通信：ＩＭ」画面をクローズして、ステップ２４３で生成したＴＣＰソケットをクローズする（ステップ２９３）。
【００７８】
受信パケットが「ＰＲＥＳＥＮＣＥＲＥＱ」コマンドである場合（ステップ２９４、ｙｅｓ）、現在の自端末の通信状況を検出し、特に通信していない場合には「ＰＲＥＳＥＮＣＥ／ＮＯＰ」コマンドを、多者間音声通信中の場合には「ＰＲＥＳＥＮＣＥ／ＶＯＩＰ」コマンドを、ＩＭ中の場合には「ＰＲＥＳＥＮＣＥ／ＩＭ」コマンドを生成してブロードキャストする（ステップ２９５）。
【００７９】
受信パケットが、「ＰＲＥＳＥＮＣＥ／ＮＯＰ」コマンド、「ＰＲＥＳＥＮＣＥ／ＶＯＩＰ」コマンド、「ＰＲＥＳＥＮＣＥ／ＩＭ」コマンドのいずれかである場合（ステップ２９６、ｙｅｓ）、該コマンドに含まれる発信側の端末情報を取得し（ステップ２９７）、図１２のメイン画面の「オンラインユーザ」リストに追加表示する（ステップ２９８）。
【００８０】
受信パケットが「ＩＭＲＥＱ」コマンドである場合（ステップ２９９、ｙｅｓ）、コマンド内の発信者情報およびテキストデータを取得して（ステップ３００）、「通信：ＩＭ」画面の発信者情報表示エリア１８０、テキスト表示エリア１８１に表示する（ステップ３０１）。
【００８１】
図２５に、「ＩＭＲＥＱ」コマンドを受信した際のユーザからのイベントによる処理を示す。「通信：ＩＭ」画面が表示されている時に（ステップ４００）、ユーザが図１６の「ＯＫ」ボタン１８３を選択した場合（ステップ４０１、ｙｅｓ）、ニックネームとＩＭ要求を示すテキストを含む「ＩＭＡＣＫ」コマンドをＴＣＰで送信し（ステップ４０２）、ＩＭデータ処理モジュールを起動する（ステップ４０３）。ユーザが図１６の「ＳＯＲＲＹ」ボタン１８４を選択した場合（ステップ４０４、ｙｅｓ）、ニックネームとＩＭ要求拒否応答を示すテキストとを含む「ＩＭＲＥＦＵＳＥＤ」コマンドをＴＣＰで送信する（ステップ４０５）。
【００８２】
図２６は、音声送信処理のシーケンスを示すもので、Ｃｏｄｅｒ１７と音声データパケット化部１８とからなる音声処理モジュールが呼び出された場合、音声データ読込み用タイマを設定し、音声混合処理用のバッファを確保する（ステップ３１０）。一定時間経ったら（タイムアウトしたら）（ステップ３１１、ｙｅｓ）、上記ＣＯＤＥＲ１７から１パケット分のデータを読込み（ステップ３１２）、ＲＴＰヘッダ情報を送信管理テーブルから取得して（ステップ３１３）、ＲＴＰパケットを生成（ステップ３１４）、マルチキャストアドレスに対して送信する（ステップ３１５）。その後、ＲＴＰヘッダ情報を更新する（ステップ３１６）。「ＢＹＥ」ボタンが選択されるユーザイベントが発生するまで、ステップ３１１に戻り、ユーザからのイベントで「ＢＹＥ」ボタンが選択された場合（ステップ３１７、ｙｅｓ）、該音声送信処理を終了する。
【００８３】
図２７は、音声受信処理のシーケンスを示すもので、音声処理モジュールが呼び出された場合、ＲＴＰパケット受信用のポートをオープンし、パケット受信を待つ（ステップ３２０）。ＲＴＰパケットを受信した場合、受信したポート番号からどのチャネルへのパケットであるかを判定する（ステップ３２１）。自分が参加しているチャネルへのパケットである場合（ステップ３２２、ｙｅｓ）、該ＲＴＰパケットのヘッダ情報のうちＳＳＲＣを取得して送信クライアント端末２を特定する（ステップ３２３）。多者間通信セッション管理テーブルから、自端末以外のクライアント端末２に割り当てた出力データキューの終端アドレスを取得し、受信データをバッファリングする（ステップ３２４）。ユーザからのイベントで「ＢＹＥ」ボタンが選択された場合（ステップ３２５、ｙｅｓ）、該音声受信処理を終了する。
【００８４】
図２８は、受信音声データの再生処理のシーケンスを示すもので、音声処理モジュールが呼び出された場合、音声データをＤＥＣＯＤＥＲ２８へ渡すタイミングを計るタイマを設定し、複数の音声データをミキシング（混合）する際に用いるバッファを確保する（ステップ３３０）。タイムアウトしたら（ステップ３３１、ｙｅｓ）、自分が参加している会議の参加者に割り当てられている出力データキュー２５それぞれの先頭アドレスを取得する（ステップ３３２）。出力データキュー２５の先頭アドレスに格納されている各音声データを取得し（ステップ３３３）、混合処理を行う（ステップ３３４）。混合音声データをＤＥＣＯＤＥＲ２８へ渡して再生する（ステップ３３５）。その後、各出力データキュー２５の先頭アドレスをインクリメントし、次の再生に備える（ステップ３３６）。ユーザが「ＢＹＥ」ボタンを選択した場合（ステップ３３７、ｙｅｓ）、該音声再生処理を終了する。
【００８５】
図２９、図３０は、ＩＭデータ処理モジュールのシーケンスを示すもので、ＩＭデータ処理モジュールは呼び出されると、テキストメッセージ送信用、受信用、表示用のバッファを確保する（ステップ３４０）。ユーザから「通信：ＩＭ」あるいは「通信：ＩＭ−Ｃｏｎｆｅｒｅｎｃｅ」画面の「Ｓｅｎｄ」ボタンを選択された場合（ステップ３４１、ｙｅｓ）、ユーザテキスト入力エリア１８１、あるいは１９４に入力されたテキストデータを取得して（ステップ３４２）、テキストメッセージを生成する（ステップ３４３）。「ＭＥＳＳＡＧＥ」コマンドヘッダを付加して「ＭＥＳＳＡＧＥ」コマンドを生成し（ステップ３４４）、１対１のＩＭの場合にはＴＣＰを用いて通信相手のアドレスに対して、多者間ＩＭ（グループチャット）の場合には該チャネルに対応するマルチキャストアドレスとポート番号を宛先とした「ＭＥＳＳＡＧＥ」コマンドを送信する（ステップ３４５）。送信したテキストメッセージをテキストメッセージ表示エリア１８１、あるいは１９４に追加表示する（ステップ３４６）。
【００８６】
ステップ３４７でユーザが「ＢＹＥ」ボタンを選択するか、通信相手から「ＢＹＥ」コマンドを受信した場合、ＩＭデータ処理モジュールによる処理を終了する（ステップ３４７）。
【００８７】
通信相手からあるいは、マルチキャストアドレスを宛先とした「ＭＥＳＳＡＧＥ」コマンドを受信した場合（ステップ３４８、ｙｅｓ）、該コマンドに含まれる発信端末の情報を取得し（ステップ３４９）、該コマンドに含まれるテキストメッセージを取得する（ステップ３５０）。該コマンドが属するセッションは１対１のＩＭなのか、多者間ＩＭ（グループチャット）なのかを判定して（ステップ３５１、ｙｅｓ）、グループチャットである場合には、「通信：ＩＭ−Ｃｏｎｆｅｒｅｎｃｅ」画面のテキストメッセージ表示エリア１９４に、受信テキストメッセージを発信端末のユーザのニックネームと共に追加表示する（ステップ３５２）。該コマンドが属するセッションが１対１のＩＭである場合（ステップ３６０、ｙｅｓ）、「通信：ＩＭ」画面のテキストメッセージ表示エリア１８１に、受信テキストメッセージを発信端末のユーザのニックネームと共に追加表示する（ステップ３６１）。
【００８８】
以上の実施例ではパケット網１としてアドホックネットワークを想定したが、マルチキャストが可能であるならば他のネットワーク、例えば、クライアント端末がマルチキャストサービスに参加するためのプロトコルであるＩＧＭＰ（Ｉｎｔｅｒｎｅｔ  Ｇｒｏｕｐ  Ｍｅｍｂｅｒｓｈｉｐ  Ｐｒｏｔｏｃｏｌ）メッセージをルータに発行し、ＩＧＭＰメッセージを受けたルータが、当該クライアント端末にマルチキャストデータを送信するように構成された既存のマルチキャスト対応ネットワーク
であっても構わない。
【００８９】
以上の通り、上記実施例によれば、サーバレスの環境においても、多者間音声通信、１対１のＩＭ、多者間ＩＭを行うことができる。
【００９０】
【発明の効果】
本発明によれば、アドホックネットワークに適した多者間通信が可能になる。
【図面の簡単な説明】
【図１】実施形態に係る分散型コミュニケーションシステムの全体構成図である。
【図２】クライアント端末の内部構成図の一例である。
【図３】多者間通信セッション管理テーブルのフォーマットの一例である。
【図４】チャネル管理テーブルのフォーマットの一例である。
【図５】受信管理テーブルのフォーマットの一例である。
【図６】送信管理テーブルのフォーマットの一例である。
【図７】マルチキャストネットワークへの接続または、切断コマンドのフォーマットの一例である。
【図８】多者間通信セッション制御コマンドのフォーマットの一例である。
【図９】音声データのパケットフォーマットの一例である。
【図１０】ＩＭセッション制御コマンドのフォーマットの一例である。
【図１１】ＩＭテキストデータのパケットフォーマットの一例である。
【図１２】「メイン画面」の一例である。
【図１３】「設定」画面の一例である。
【図１４】マルチキャストネットワークへの接続、切断処理画面の一例である。
【図１５】「通信：ＶＯＩＰ」画面の一例である。
【図１６】「通信：ＩＭ」画面の一例である。
【図１７】「通信：ＩＭ−Ｃｏｎｆｅｒｅｎｃｅ」画面の一例である。
【図１８】メイン画面のうち、プレゼンス情報を表示した際の画面の一例である。
【図１９】セッション制御のシーケンスの一例である。
【図２０】セッション制御のうち、ユーザからのイベントに対する処理のシーケンスの一例である。
【図２１】セッション制御のうち、ユーザからのイベントに対する処理のシーケンスの一例である。
【図２２】セッション制御のうち、ユーザからのイベントに対する処理のシーケンスの一例である。
【図２３】セッション制御のうち、ネットワークからのイベントに対する処理のシーケンスの一例である。
【図２４】セッション制御のうち、ネットワークからのイベントに対する処理のシーケンスの一例である。
【図２５】ＩＭデータの処理のシーケンスの一例である。
【図２６】音声データの送信処理のシーケンスの一例である。
【図２７】音声データの受信処理のシーケンスの一例である。
【図２８】音声データの混合再生処理のシーケンスの一例である。
【図２９】ＩＭデータの処理のシーケンスの一例である。
【図３０】ＩＭデータの処理のシーケンスの一例である。
【符号の説明】
１…パケット網、２…クライアント端末
【図１】
2004178236.tif 000003
【図２】
2004178236.tif 000004
【図３】
2004178236.tif 000005
【図４】
2004178236.tif 000006
【図５】
2004178236.tif 000007
【図６】
2004178236.tif 000008
【図７】
2004178236.tif 000009
【図８】
2004178236.tif 000010
【図９】
2004178236.tif 000011
【図１０】
2004178236.tif 000012
【図１１】
2004178236.tif 000013
【図１２】
2004178236.tif 000014
【図１３】
2004178236.tif 000015
【図１４】
2004178236.tif 000016
【図１５】
2004178236.tif 000017
【図１６】
2004178236.tif 000018
【図１７】
2004178236.tif 000019
【図１８】
2004178236.tif 000020
【図１９】
2004178236.tif 000021
【図２０】
2004178236.tif 000022
【図２１】
2004178236.tif 000023
【図２２】
2004178236.tif 000024
【図２３】
2004178236.tif 000025
【図２４】
2004178236.tif 000026
【図２５】
2004178236.tif 000027
【図２６】
2004178236.tif 000028
【図２７】
2004178236.tif 000029
【図２８】
2004178236.tif 000030
【図２９】
2004178236.tif 000031
【図３０】
2004178236.tif 000032