(57)【要約】【課題】  複数のクライアントコンピュータのグループ分け、各グループの構成メンバーの随時変更などを可能とする。【解決手段】  通信プログラムであって、複数のクライアントコンピュータと情報の送受信が可能なサーバコンピュータを、１）第１ユーザＩＤと第１ＩＰアドレス、第２ユーザＩＤと第２ＩＰアドレス、をそれぞれ関連付けて記憶するＩＰアドレス記憶手段、２）第１ユーザＩＤと第２ユーザＩＤと第１グループＩＤを含むサーバ宛第１グルーピング開始情報を受信する受信手段、３）第１ユーザＩＤと第２ユーザＩＤを第１グループＩＤに関連付けて記憶するＩＤ記憶手段、４）第１ＩＰアドレスを宛先アドレスとし、第２ユーザＩＤを送信データとして第１ユーザ宛グルーピング開始情報を生成し、第２ＩＰアドレスを宛先アドレスとし、第１ユーザＩＤを送信データとして第２ユーザ宛グルーピング開始情報を生成する情報生成手段、として機能させる。【選択図】      図３
2005032078.tif 000002
【特許請求の範囲】
【請求項１】
複数のクライアントコンピュータと情報の送受信が可能なサーバコンピュータを、
第１ユーザの第１ユーザＩＤと第１ＩＰアドレス、第２ユーザの第２ユーザＩＤと第２ＩＰアドレス、をそれぞれ関連付けて記憶するＩＰアドレス記憶手段、
前記第１ユーザＩＤと、前記第２ユーザＩＤと、第１グループの第１グループＩＤを含むサーバ宛第１グルーピング開始情報を受信する情報受信手段、
前記第１ユーザＩＤと前記第２ユーザＩＤを、前記第１グループＩＤに関連付けて記憶するＩＤ記憶手段、
前記第１ＩＰアドレスを前記ＩＰアドレス記憶手段から読み出して宛先アドレスとし、前記第２ユーザＩＤを送信データとして第１ユーザ宛グルーピング開始情報を生成し、
前記第２ＩＰアドレスを前記ＩＰアドレス記憶手段から読み出して宛先アドレスとし、前記第１ユーザＩＤを送信データとして第２ユーザ宛グルーピング開始情報を生成する情報生成手段、
として機能させることを特徴とする通信プログラム。
【請求項２】
前記ＩＰアドレス記憶手段を、さらに第３ユーザの第３ユーザＩＤと第３ＩＰアドレスを関連付けて記憶する手段、
前記情報受信手段を、さらに前記第３ユーザが前記第１グループに追加されることを示す情報を含むサーバ宛メンバー追加情報を受信する手段、
前記サーバコンピュータを、さらに前記第３ユーザＩＤと前記第１グループＩＤとの関連付けを前記ＩＤ記憶手段に追加するＩＤ関連付け変更手段、
前記情報生成手段を、さらに
前記第１ＩＰアドレスを前記ＩＰアドレス記憶手段から読み出して宛先アドレスとし、前記第３ユーザＩＤを送信データとして第１ユーザ宛メンバー追加情報を生成し、
前記第２ＩＰアドレスを前記ＩＰアドレス記憶手段から読み出して宛先アドレスとし、前記第３ユーザＩＤを送信データとして第２ユーザ宛メンバー追加情報を生成し、
前記第３ＩＰアドレスを前記ＩＰアドレス記憶手段から読み出して宛先アドレスとし、前記第１，第２ユーザＩＤを前記ＩＤ記憶手段から読み出して送信データとして第３ユーザ宛メンバー追加情報を生成する手段、
として機能させることを特徴とする請求項１に記載の通信プログラム。
【請求項３】
複数のクライアントコンピュータと情報の送受信が可能なサーバコンピュータを、
第１ユーザの第１ユーザＩＤと第１ＩＰアドレス、第２ユーザの第２ユーザＩＤと第２ＩＰアドレス、第３ユーザの第３ユーザＩＤと第３ＩＰアドレス、をそれぞれ関連付けて記憶するＩＰアドレス記憶手段、
前記第１ユーザＩＤと前記第２ユーザＩＤと前記第３ユーザＩＤを第１グループの第１グループＩＤに関連付けて記憶するＩＤ記憶手段、
前記第３ユーザが前記第１グループから削除されることを示す情報を含むサーバ宛メンバー削除情報を受信する情報受信手段、
前記第１ＩＰアドレスを前記ＩＰアドレス記憶手段から読み出して送信先アドレスとし、前記第３ユーザが削除されることを示す情報を送信データとして、第１ユーザ宛メンバー削除情報を生成し、
前記第２ＩＰアドレスを前記ＩＰアドレス記憶手段から読み出して送信先アドレスとし、前記第３ユーザが削除されることを示す情報を送信データとして、第２ユーザ宛メンバー削除情報を生成し、
前記第３ＩＰアドレスを前記ＩＰアドレス記憶手段から読み出して送信先アドレスとし、前記第３ユーザが削除されることを示す情報を送信データとして、第３ユーザ宛メンバー削除情報を生成する情報生成手段、
前記第３ユーザＩＤと前記第１グループＩＤとの関連付けを前記ＩＤ記憶手段から削除するＩＤ関連付け変更手段、
として機能させることを特徴とする通信プログラム。
【請求項４】
前記情報受信手段を、さらに
前記第１ユーザＩＤと第１発言データを含むサーバ宛第１発言情報と、前記第２ユーザＩＤと第２発言データを含むサーバ第２宛発言情報を受信する手段、
前記情報生成手段を、さらに
前記第１ＩＰアドレスを前記ＩＰアドレス記憶手段から読み出して宛先アドレスとし、前記第２発言データを送信データとして第１ユーザ宛発言情報を生成し、
前記第２ＩＰアドレスを前記ＩＰアドレス記憶手段から読み出して宛先アドレスとし、前記第１発言データを送信データとして第２ユーザ宛発言情報を生成する手段、
として機能させることを特徴とする請求項１乃至３のいずれかに記載の通信プログラム。
【請求項５】
前記ＩＰアドレス記憶手段を、さらに管理者のＩＰアドレスを記憶する手段、
前記情報生成手段を、さらに
前記管理者のＩＰアドレスを前記ＩＰアドレス記憶手段から読み出して宛先アドレスとし、前記第１発言データを送信データとして管理者宛第１発言情報を生成し、
前記管理者のＩＰアドレスを前記ＩＰアドレス記憶手段から読み出して宛先アドレスとし、前記第２発言データを送信データとして管理者宛第２発言情報を生成する手段、
として機能させることを特徴とする請求項４に記載の通信プログラム。
【請求項６】
前記サーバコンピュータを、さらに
前記第１ユーザＩＤに関連付けられている第１アバターの仮想空間内における第１座標値と、前記第２ユーザＩＤに関連付けられている第２アバターの仮想空間内における第２座標値とを記憶する座標値記憶手段、
前記第１座標値と前記第２座標値とに基づいて前記第１アバターと前記第２アバターとの距離を算出する演算手段、
前記距離と所定値とを比較して、前記距離が所定値以下又は所定値未満であるかを判定する比較手段、として機能させ、
前記情報生成手段を、さらに前記距離が所定値以下又は所定値未満であると判断された場合にのみ前記ユーザ宛発言情報を生成する手段、
として機能させることを特徴とする請求項４又は５に記載の通信プログラム。
【請求項７】
前記情報受信手段を、さらに
全グループ又は所定のグループＩＤを示す情報とメッセージデータを含むサーバ宛メッセージ情報を受信する手段、
前記情報生成手段を、さらに
前記サーバ宛メッセージ情報に全グループを示す情報が含まれている場合に、全ユーザのＩＰアドレスを前記ＩＰアドレス記憶手段から読み出して宛先アドレスとし、前記メッセージデータを送信データとして全ユーザ宛メッセージ情報を生成し、また
前記サーバ宛メッセージ情報に所定のグループＩＤを示す情報が含まれている場合に、前記所定のグループＩＤに関連付けられているユーザＩＤにさらに関連付けられているＩＰアドレスを前記ＩＰアドレス記憶手段から読み出して宛先アドレスとし、前記メッセージデータを送信データとして所定のユーザ宛メッセージ情報を生成する手段、
として機能させることを特徴とする請求項１乃至６のいずれかに記載の通信プログラム。
【請求項８】
複数のクライアントコンピュータと情報の送受信が可能なサーバコンピュータにおいて、
ＩＰアドレス記憶手段が、第１ユーザの第１ユーザＩＤと第１ＩＰアドレス、第２ユーザの第２ユーザＩＤと第２ＩＰアドレス、をそれぞれ関連付けて記憶し、
情報受信手段が、前記第１ユーザＩＤと、前記第２ユーザＩＤと、第１グループの第１グループＩＤを含むサーバ宛第１グルーピング開始情報を受信し、
ＩＤ記憶手段が、前記第１ユーザＩＤと前記第２ユーザＩＤを、前記第１グループＩＤに関連付けて記憶し、
情報生成手段が、
前記第１ＩＰアドレスを前記ＩＰアドレス記憶手段から読み出して宛先アドレスとし、前記第２ユーザＩＤを送信データとして第１ユーザ宛グルーピング開始情報を生成し、
前記第２ＩＰアドレスを前記ＩＰアドレス記憶手段から読み出して宛先アドレスとし、前記第１ユーザＩＤを送信データとして第２ユーザ宛グルーピング開始情報を生成する、ことを特徴とする通信方法。
【請求項９】
前記ＩＰアドレス記憶手段が、さらに第３ユーザの第３ユーザＩＤと第３ＩＰアドレスを関連付けて記憶し、
前記情報受信手段が、さらに前記第３ユーザが前記第１グループに追加されることを示す情報を含むサーバ宛メンバー追加情報を受信し、
ＩＤ関連付け変更手段が、さらに前記第３ユーザＩＤと前記第１グループＩＤとの関連付けを前記ＩＤ記憶手段に追加し、
前記情報生成手段が、さらに
前記第１ＩＰアドレスを前記ＩＰアドレス記憶手段から読み出して宛先アドレスとし、前記第３ユーザＩＤを送信データとして第１ユーザ宛メンバー追加情報を生成し、
前記第２ＩＰアドレスを前記ＩＰアドレス記憶手段から読み出して宛先アドレスとし、前記第３ユーザＩＤを送信データとして第２ユーザ宛メンバー追加情報を生成し、
前記第３ＩＰアドレスを前記ＩＰアドレス記憶手段から読み出して宛先アドレスとし、前記第１，第２ユーザＩＤを前記ＩＤ記憶手段から読み出して送信データとして第３ユーザ宛メンバー追加情報を生成する、ことを特徴とする請求項８に記載の通信方法。
【請求項１０】
複数のクライアントコンピュータと情報の送受信が可能なサーバコンピュータにおいて、
ＩＰアドレス記憶手段が、第１ユーザの第１ユーザＩＤと第１ＩＰアドレス、第２ユーザの第２ユーザＩＤと第２ＩＰアドレス、第３ユーザの第３ユーザＩＤと第３ＩＰアドレス、をそれぞれ関連付けて記憶し、
ＩＤ記憶手段が、前記第１ユーザＩＤと前記第２ユーザＩＤと前記第３ユーザＩＤを第１グループの第１グループＩＤに関連付けて記憶し、
情報受信手段が、前記第３ユーザが前記第１グループから削除されることを示す情報を含むサーバ宛メンバー削除情報を受信し、
情報生成手段が、
前記第１ＩＰアドレスを前記ＩＰアドレス記憶手段から読み出して送信先アドレスとし、前記第３ユーザが削除されることを示す情報を送信データとして、第１ユーザ宛メンバー削除情報を生成し、
前記第２ＩＰアドレスを前記ＩＰアドレス記憶手段から読み出して送信先アドレスとし、前記第３ユーザが削除されることを示す情報を送信データとして、第２ユーザ宛メンバー削除情報を生成し、
前記第３ＩＰアドレスを前記ＩＰアドレス記憶手段から読み出して送信先アドレスとし、前記第３ユーザが削除されることを示す情報を送信データとして、第３ユーザ宛メンバー削除情報を生成し、
ＩＤ関連付け変更手段が、前記第３ユーザＩＤと前記第１グループＩＤとの関連付けを前記ＩＤ記憶手段から削除する、ことを特徴とする通信方法。
【請求項１１】
前記情報受信手段が、さらに
前記第１ユーザＩＤと第１発言データを含むサーバ宛第１発言情報と、前記第２ユーザＩＤと第２発言データを含むサーバ宛第２発言情報を受信し、
前記情報生成手段が、さらに
前記第１ＩＰアドレスを前記ＩＰアドレス記憶手段から読み出して宛先アドレスとし、前記第２発言データを送信データとして第１ユーザ宛発言情報を生成し、
前記第２ＩＰアドレスを前記ＩＰアドレス記憶手段から読み出して宛先アドレスとし、前記第１発言データを送信データとして第２ユーザ宛発言情報を生成する、ことを特徴とする請求項８乃至１０のいずれかに記載の通信方法。
【請求項１２】
前記ＩＰアドレス記憶手段が、さらに管理者のＩＰアドレスを記憶し、
前記情報生成手段が、さらに
前記管理者のＩＰアドレスを前記ＩＰアドレス記憶手段から読み出して宛先アドレスとし、前記第１発言データを送信データとして管理者宛第１発言情報を生成し、
前記管理者のＩＰアドレスを前記ＩＰアドレス記憶手段から読み出して宛先アドレスとし、前記第２発言データを送信データとして管理者宛第２発言情報を生成する、ことを特徴とする請求項１１に記載の通信方法。
【請求項１３】
座標値記憶手段が、前記第１ユーザＩＤに関連付けられている第１アバターの仮想空間内における第１座標値と、前記第２ユーザＩＤに関連付けられている第２アバターの仮想空間内における第２座標値とを記憶し、
演算手段が、前記第１座標値と前記第２座標値とに基づいて前記第１アバターと前記第２アバターとの距離を算出し、
比較手段が、前記距離と所定値とを比較して、前記距離が所定値以下又は所定値未満であるかを判定し、
前記情報生成手段が、さらに前記距離が所定値以下又は所定値未満であると判断された場合にのみ前記ユーザ宛発言情報を生成する、ことを特徴とする請求項１１又は１２に記載の通信方法。
【請求項１４】
前記情報受信手段が、さらに
全グループ又は所定のグループＩＤを示す情報とメッセージデータを含むサーバ宛メッセージ情報を受信し、
前記情報生成手段が、さらに
前記サーバ宛メッセージ情報に全グループを示す情報が含まれている場合に、全ユーザのＩＰアドレスを前記ＩＰアドレス記憶手段から読み出して宛先アドレスとし、前記メッセージデータを送信データとして全ユーザ宛メッセージ情報を生成し、また
前記サーバ宛メッセージ情報に所定のグループＩＤを示す情報が含まれている場合に、前記所定のグループＩＤに関連付けられているユーザＩＤにさらに関連付けられているＩＰアドレスを前記ＩＰアドレス記憶手段から読み出して宛先アドレスとし、前記メッセージデータを送信データとして所定のユーザ宛メッセージ情報を生成する、ことを特徴とする請求項８乃至１３のいずれかに記載の通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のクライアントコンピュータをグループ化してグループ構成メンバー間で会話をさせ、またそのメンバー間の会話を管理者が監視することを可能とする通信プログラム及び通信方法に関する。
【背景技術】
【０００２】
個人教育と集団教育の双方の利点を兼ね備えたコンピュータ通信を利用した教育システムに関する技術が開示されている（例えば、特許文献１参照。）。
【特許文献１】特開２００１−９２３４１（第１図）
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記従来技術においては、学習者を複数のグループに分け、各グループの構成メンバーを随時変更し、各グループの構成メンバー間で会話ができ、全メンバーや特定のグループに属するメンバーに管理者からメッセージを送信する技術が必要になる。
【０００４】
本発明は、上記課題に鑑みてなされたものであり、このようなグループ分け、各グループの構成メンバーの随時変更、メンバー間での会話、管理者からのメッセージ送信を可能とする通信プログラム及び通信方法の提供を目的とする。
【課題を解決するための手段】
【０００５】
本発明の第１の特徴は、通信プログラムであって、複数のクライアントコンピュータと情報の送受信が可能なサーバコンピュータを、（１）第１ユーザの第１ユーザＩＤと第１ＩＰアドレス、第２ユーザの第２ユーザＩＤと第２ＩＰアドレス、をそれぞれ関連付けて記憶するＩＰアドレス記憶手段、（２）前記第１ユーザＩＤと、前記第２ユーザＩＤと、第１グループの第１グループＩＤを含むサーバ宛第１グルーピング開始情報を受信する情報受信手段、（３）前記第１ユーザＩＤと前記第２ユーザＩＤを、前記第１グループＩＤに関連付けて記憶するＩＤ記憶手段、（４）前記第１ＩＰアドレスを前記ＩＰアドレス記憶手段から読み出して宛先アドレスとし、前記第２ユーザＩＤを送信データとして第１ユーザ宛グルーピング開始情報を生成し、（５）前記第２ＩＰアドレスを前記ＩＰアドレス記憶手段から読み出して宛先アドレスとし、前記第１ユーザＩＤを送信データとして第２ユーザ宛グルーピング開始情報を生成する情報生成手段、として機能させることにある。
【０００６】
ユーザ宛グルーピング開始情報を生成する際、ＩＰアドレスの取得は、
・サーバ宛第１グルーピング開始情報から第１ユーザＩＤを読み出し、
・第１ユーザＩＤに関連付けられている第１ＩＰアドレスをＩＰアドレス記憶手段から読み出しても良く、また
・サーバ宛第１グルーピング開始情報から第１グループＩＤを読み出し、
・第１グループＩＤに関連付けられている第１ユーザＩＤをＩＤ記憶手段から読み出し、
・第１ユーザＩＤに関連付けられている第１ＩＰアドレスをＩＰアドレス記憶手段から読み出しても良い。
【０００７】
かかる第１の特徴によれば、（１）第１グループに属する第１ユーザに、同じ第１グループに属する第２ユーザのユーザＩＤが通知され、（２）第１グループに属する第２ユーザに、同じ第１グループに属する第１ユーザのユーザＩＤが通知される。
【０００８】
本発明の第２の特徴は、（１）前記ＩＰアドレス記憶手段を、さらに第３ユーザの第３ユーザＩＤと第３ＩＰアドレスを関連付けて記憶する手段、（２）前記情報受信手段を、さらに前記第３ユーザが前記第１グループに追加されることを示す情報を含むサーバ宛メンバー追加情報を受信する手段、（３）前記サーバコンピュータを、さらに前記第３ユーザＩＤと前記第１グループＩＤとの関連付けを前記ＩＤ記憶手段に追加するＩＤ関連付け変更手段、（４）前記情報生成手段を、さらに（４−１）前記第１ＩＰアドレスを前記ＩＰアドレス記憶手段から読み出して宛先アドレスとし、前記第３ユーザＩＤを送信データとして第１ユーザ宛メンバー追加情報を生成し、（４−２）前記第２ＩＰアドレスを前記ＩＰアドレス記憶手段から読み出して宛先アドレスとし、前記第３ユーザＩＤを送信データとして第２ユーザ宛メンバー追加情報を生成し、（４−３）前記第３ＩＰアドレスを前記ＩＰアドレス記憶手段から読み出して宛先アドレスとし、前記第１，第２ユーザＩＤを前記ＩＤ記憶手段から読み出して送信データとして第３ユーザ宛メンバー追加情報を生成する手段、として機能させることにある。
【０００９】
ユーザ宛メンバー追加情報を生成する際、ＩＰアドレスの取得は、
・サーバ宛メンバー追加情報から第１グループＩＤを読み出し、
・第１グループＩＤに関連付けられている第１，２ユーザＩＤをＩＤ記憶手段から読み出し、
・第１，２ユーザＩＤに関連付けられている第１，２ＩＰアドレスをＩＰアドレス記憶手段から読み出しても良く、また
・サーバ宛メンバー追加情報から第３ユーザＩＤを読み出し、
・第３ユーザＩＤに関連付けられている第１，２ユーザＩＤをＩＤ記憶手段から読み出し、
・第１，２ユーザＩＤに関連付けられている第１ＩＰアドレスをＩＰアドレス記憶手段から読み出しても良い。
【００１０】
かかる第２の特徴によれば、（１）第１グループに属する第１，２ユーザに、第３ユーザの追加が通知され、（２）第３ユーザに、同じ第１グループに属する第１，２ユーザの存在が通知される。
【００１１】
本発明の第３の特徴は、複数のクライアントコンピュータと情報の送受信が可能なサーバコンピュータを、（１）第１ユーザの第１ユーザＩＤと第１ＩＰアドレス、第２ユーザの第２ユーザＩＤと第２ＩＰアドレス、第３ユーザの第３ユーザＩＤと第３ＩＰアドレス、をそれぞれ関連付けて記憶するＩＰアドレス記憶手段、（２）前記第１ユーザＩＤと前記第２ユーザＩＤと前記第３ユーザＩＤを第１グループの第１グループＩＤに関連付けて記憶するＩＤ記憶手段、（３）前記第３ユーザが前記第１グループから削除されることを示す情報を含むサーバ宛メンバー削除情報を受信する情報受信手段、（４−１）前記第１ＩＰアドレスを前記ＩＰアドレス記憶手段から読み出して送信先アドレスとし、前記第３ユーザが削除されることを示す情報を送信データとして、第１ユーザ宛メンバー削除情報を生成し、（４−２）前記第２ＩＰアドレスを前記ＩＰアドレス記憶手段から読み出して送信先アドレスとし、前記第３ユーザが削除されることを示す情報を送信データとして、第２ユーザ宛メンバー削除情報を生成し、（４−３）前記第３ＩＰアドレスを前記ＩＰアドレス記憶手段から読み出して送信先アドレスとし、前記第３ユーザが削除されることを示す情報を送信データとして、第３ユーザ宛メンバー削除情報を生成する情報生成手段、（５）前記第３ユーザＩＤと前記第１グループＩＤとの関連付けを前記ＩＤ記憶手段から削除するＩＤ関連付け変更手段、
として機能させることにある。
【００１２】
ユーザ宛メンバー削除情報を生成する際、ＩＰアドレスの取得は、
・サーバ宛メンバー削除情報から第１グループＩＤを読み出し、
・第１グループＩＤに関連付けられている第１，２ユーザＩＤをＩＤ記憶手段から読み出し、
・第１，２ユーザＩＤに関連付けられている第１，２ＩＰアドレスをＩＰアドレス記憶手段から読み出しても良く、また
・サーバ宛メンバー削除情報から第３ユーザＩＤを読み出し、
・第３ユーザＩＤに関連付けられている第１，２ユーザＩＤをＩＤ記憶手段から読み出し、
・第１，２ユーザＩＤに関連付けられている第１，２ＩＰアドレスをＩＰアドレス記憶手段から読み出しても良い。
【００１３】
かかる第３の特徴によれば、（１）第１グループに属する第１，２ユーザに、第３ユーザの削除が通知され、（２）第３ユーザに、第１グループからの削除が通知される。
【００１４】
本発明の第４の特徴は、（１）前記情報受信手段を、さらに（１−１）前記第１ユーザＩＤと第１発言データを含むサーバ宛第１発言情報と、（１−２）前記第２ユーザＩＤと第２発言データを含むサーバ宛第２発言情報を受信する手段、（２）前記情報生成手段を、さらに（２−１）前記第１ＩＰアドレスを前記ＩＰアドレス記憶手段から読み出して宛先アドレスとし、前記第２発言データを送信データとして第１ユーザ宛発言情報を生成し、（２−２）前記第２ＩＰアドレスを前記ＩＰアドレス記憶手段から読み出して宛先アドレスとし、前記第１発言データを送信データとして第２ユーザ宛発言情報を生成する手段、として機能させることにある。
【００１５】
ユーザ宛発言情報を生成する際、ＩＰアドレスの取得は、例えば
・サーバ宛発言情報から第１ユーザＩＤを読み出し、
・第１ユーザＩＤに関連付けられている第２ユーザＩＤをＩＤ記憶手段から読み出し、
・第２ユーザＩＤに関連付けられている第２ＩＰアドレスをＩＰアドレス記憶手段から読み出す。
【００１６】
かかる第４の特徴によれば、（１）第１ユーザの発言が、第１ユーザと同じグループに属する第２ユーザに通知され、（２）第２ユーザの発言が、第２ユーザと同じグループに属する第１ユーザに通知される。
【００１７】
本発明の第５の特徴は、（１）前記ＩＰアドレス記憶手段を、さらに管理者のＩＰアドレスを記憶する手段、（２）前記情報生成手段を、さらに（２−１）  前記管理者のＩＰアドレスを前記ＩＰアドレス記憶手段から読み出して宛先アドレスとし、前記第１発言データを送信データとして第１管理者宛発言情報を生成し、（２−２）前記管理者のＩＰアドレスを前記ＩＰアドレス記憶手段から読み出して宛先アドレスとし、前記第２発言データを送信データとして第２管理者宛発言情報を生成する手段、として機能させることにある。
【００１８】
かかる第５の特徴によれば、第１ユーザの第１発言データも、第２ユーザの第２発言データも管理者に通知される。
【００１９】
本発明の第６の特徴は、（１）前記コンピュータをさらに（１−１）前記第１ユーザＩＤに関連付けられている第１アバターの仮想空間内における第１座標値と、前記第２ユーザＩＤに関連付けられている第２アバターの仮想空間内における第２座標値とを記憶する座標値記憶手段、（１−２）前記座標値記憶手段から、前記第１座標値と前記第２座標値とを読み出し、前記第１座標値と前記第２座標値とに基づいて前記第１アバターと前記第２アバターとの距離を算出する演算手段、（１−３）前記距離と所定値とを比較して、前記距離が所定値以下又は所定値未満であるかを判定する比較手段、として機能させ、（２）前記パケット生成手段を、さらに前記距離が所定値以下又は所定値未満であることを示す情報を前記比較手段から受け取ったときにのみ前記ユーザ宛発言パケットを生成する手段、として機能させることにある。
【００２０】
かかる第６の特徴によれば、第１アバターと第２アバターとの仮想空間内における距離が所定値以下又は所定値未満である場合にのみ第１ユーザと第２ユーザ間で発言データが送受信される。
【００２１】
本発明の第７の特徴は、（１）前記情報受信手段を、さらに（１−１）全グループ又は所定のグループＩＤを示す情報とメッセージデータを含むサーバ宛メッセージ情報を受信する手段、（２）前記情報生成手段を、さらに（２−１）前記サーバ宛メッセージ情報に全グループを示す情報が含まれている場合に、全ユーザのＩＰアドレスを前記ＩＰアドレス記憶手段から読み出して宛先アドレスとし、前記メッセージデータを送信データとして全ユーザ宛メッセージ情報を生成し、また（２−２）前記サーバ宛メッセージ情報に所定のグループＩＤを示す情報が含まれている場合に、前記所定のグループＩＤに関連付けられているユーザＩＤにさらに関連付けられているＩＰアドレスを前記ＩＰアドレス記憶手段から読み出して宛先アドレスとし、前記メッセージデータを送信データとして所定のユーザ宛メッセージ情報を生成する手段、として機能させることにある。
【００２２】
かかる第７の特徴によれば、所定のグループに属するユーザのみに又は全ユーザにメッセージデータが送信される。
【発明の効果】
【００２３】
前記の如く、本発明の通信プログラム及び通信方法によれば、２以上のメンバーからなるグループを構成することができ、同一グループに属するメンバー間でチャットを行うことが可能となる。
【発明を実施するための最良の形態】
【００２４】
以下、図面を参照しながら本発明の実施の形態を説明する。
【００２５】
図１に示すように、本実施形態で使用するクライアントサーバシステムでは、多数のクライアントコンピュータ１０がＬＡＮ、ＷＡＮ、公衆回線などが接続されたインターネット８などの通信回線を介してサーバ１３にアクセスできる。クライアント１０とサーバ１３とは、ＨＴＴＰ(Hyper Text Transfer Protocol)やＵＤＰ(User Datagram Protocol)に従ってデータの送受信を行う。
【００２６】
クライアント１０は、先生側クライアント１１と生徒側クライアント１２の２種類が存在する。クライアント１０は、いずれもＷｅｂブラウザがインストールされており、情報ファイル記憶装置１６に記憶され、Ｗｅｂサーバ１４から配信された画面構成情報などの各種情報ファイルを受信し、それら情報ファイルに従って表示装置の画面に仮想空間やアバターを表示させることができる。また、クライアント１０は、動画ファイル記憶装置１７に記憶され、メディアサーバ１５から配信された動画ファイルなどを受信し、表示装置に動画を表示させることもできる。ここで「アバター」とは、仮想空間においてユーザの分身として動作するキャラクターのことを言う。
【００２７】
図２に示すように、本実施形態で使用するクライアント１０及びサーバ１３は、いずれもバス２０を介して全体の制御を行う制御手段である中央処理装置（ＣＰＵ）２１と、通信装置２２と、基本入出力システム（ＢＩＯＳ）などが記憶されるリードオンリーメモリ（ＲＯＭ）２３と、プログラム領域とデータ領域を有するランダムアクセスメモリ（ＲＡＭ）２４と、オペレーションシステム（ＯＳ）や通信プログラム等を格納するハードディスクドライブ（ＨＤＤ）２５と、外部記録媒体を制御する記録媒体ドライブ２６等を備える。外部記憶媒体には、コンパクトディスク−リードオンリーメモリ（ＣＤ−ＲＯＭ）、フレキシブルディスク（ＦＤ）、光磁気ディスク（ＭＯ）、ミニディスク（ＭＤ）、デジタルビデオディスク（ＤＶＤ）などが含まれる。そして、プログラムやデータは、これら外部記録媒体やＨＤＤ２５からＲＡＭ２４にロードされて実行されるとしても良い。また、クライアント１０は、発言等の入力に用いられるキーボードなどの入力装置２７と３Ｄ空間が表示されるＣＲＴディスプレイ、液晶ディスプレイ、プラズマディスプレイ、ＥＬディスプレイなどの表示装置２８を備え、クライアント１０のＨＤＤ２５にはＷｅｂブラウザが格納される。なお、これら構成要素は単なる例示である。
【００２８】
図３に示すように、本実施形態のプログラムが図２に例示するハードウェア構成のＷｅｂサーバ１４に読み込まれることにより、パケット受信手段３１、パケット生成手段３２、パケット送信手段３３、ＩＤ関連付け変更手段３４、演算手段３５、比較手段３６、ＩＰアドレス記憶手段３７、ＩＤ記憶手段３８、座標値記憶手段３９などの具体的手段を有する情報処理装置が構築される。なお、ＩＰアドレス記憶手段３７、ＩＤ記憶手段３８、座標値記憶手段３９は、物理的に別個の記憶装置である必要はなく、物理的には１つの記憶装置にＩＰアドレス記憶エリア、ＩＤ記憶エリア、座標値記憶エリアを設けるとしても良い。
【００２９】
（第１の実施形態）
第１の実施形態においては、先生側クライアント１１においてグループを構成するメンバーが決定され、その決定内容が生徒側クライアント１２ａ〜ｂに通知される。
【００３０】
まず、図３に示したＩＰアドレス記憶手段３７などについて説明する。
【００３１】
ＩＰアドレス記憶手段３７は、
・第１ユーザの第１ユーザＩＤと第１ＩＰアドレス、
・第２ユーザの第２ユーザＩＤと第２ＩＰアドレス、
をそれぞれ関連付けて記憶する。例えば、
・第１のレコードのユーザＩＤフィールドに第１ユーザＩＤを、ＩＰアドレスフィールドに第１ＩＰアドレスを記憶し、
・第２のレコードのユーザＩＤフィールドに第２ユーザＩＤを、ＩＰアドレスフィールドに第２ＩＰアドレスを記憶し、
ＩＰアドレス記憶手段３７は、さらに
・第３ユーザの第３ユーザＩＤと第３ＩＰアドレス、
・第４ユーザの第４ユーザＩＤと第４ＩＰアドレス、
をそれぞれ関連付けて記憶する。例えば、
・第３のレコードのユーザＩＤフィールドに第３ユーザＩＤを、ＩＰアドレスフィールドに第３ＩＰアドレスを記憶し、
・第４のレコードのユーザＩＤフィールドに第４ユーザＩＤを、ＩＰアドレスフィールドに第４ＩＰアドレスを記憶する。
【００３２】
パケット受信手段３１は、第１ユーザＩＤと、第２ユーザＩＤと、第１グループの第１グループＩＤを含むサーバ宛第１グルーピング開始パケットを受信する。かかるサーバ宛第１グルーピング開始パケットは、先生側クライアント１１から送信される。
【００３３】
パケット受信手段３１は、さらに、第３ユーザＩＤと、第４ユーザＩＤと、第２グループの第２グループＩＤを含むサーバ宛第２パケットを受信する。かかるサーバ宛第２パケットも、先生側クライアント１１から送信される。
【００３４】
ＩＤ記憶手段３８は、サーバ宛第１グルーピング開始パケットから読み出された第１ユーザＩＤと第２ユーザＩＤを、サーバ宛第１グルーピング開始パケットから読み出された第１グループＩＤに関連付けて記憶する。例えば、第１グループＩＤを記憶するグループＩＤフィールドと、第１ユーザＩＤと第２ユーザＩＤを記憶するユーザＩＤフィールドからなる１つのレコードとして記憶する。
【００３５】
ＩＤ記憶手段３８は、さらに、サーバ宛第２パケットから読み出された第３ユーザＩＤと第４ユーザＩＤを、サーバ宛第２パケットから読み出された第２グループＩＤに関連付けて記憶する。例えば、第２グループＩＤを記憶するグループＩＤフィールドと、第３ユーザＩＤと第４ユーザＩＤを記憶するユーザＩＤフィールドからなる１つのレコードとして記憶する。
【００３６】
パケット生成手段３２は、（１）第１ユーザＩＤに関連付けられている第１ＩＰアドレスをＩＰアドレス記憶手段３７から読み出して宛先アドレスとし、第１ユーザＩＤに関連付けられている第２ユーザＩＤをＩＤ記憶手段３８から読み出して送信データとして第１ユーザ宛グルーピング開始パケットを生成し、（２）第２ユーザＩＤに関連付けられている第２ＩＰアドレスをＩＰアドレス記憶手段３７から読み出して宛先アドレスとし、第２ユーザＩＤに関連付けられている第１ユーザＩＤをＩＤ記憶手段３８から読み出して送信データとして第２ユーザ宛パケットを生成する。
【００３７】
パケット生成手段３２は、さらに（３）第３ユーザＩＤに関連付けられている第３ＩＰアドレスをＩＰアドレス記憶手段３７から読み出して宛先アドレスとし、第３ユーザＩＤに関連付けられている第４ユーザＩＤをＩＤ記憶手段３８から読み出して送信データとして第３ユーザ宛パケットを生成し、（４）第４ユーザＩＤに関連付けられている第４ＩＰアドレスをＩＰアドレス記憶手段３７から読み出して宛先アドレスとし、第４ユーザＩＤに関連付けられている第３ユーザＩＤをＩＤ記憶手段３８から読み出して送信データとして第４ユーザ宛パケットを生成する。
【００３８】
パケット送信手段３３は、パケット生成手段３２が生成した第１ユーザ宛グルーピング開始パケット及び第２ユーザ宛パケットを送信する。第１ユーザ宛グルーピング開始パケットは第１ユーザの生徒側クライアント１２ａに送信され、第２ユーザ宛パケットは第２ユーザの生徒側クライアント１２ｂに送信される。
【００３９】
パケット送信手段３３は、さらに、パケット生成手段３２が生成した第３ユーザ宛パケット及び第４ユーザ宛パケットを送信する。第３ユーザ宛パケットは第３ユーザの生徒側クライアント１２ｃに送信され、第４ユーザ宛パケットは第４ユーザの生徒側クライアント１２ｄに送信される。
【００４０】
次に、先生側クライアント１１とＷｅｂサーバ１４と生徒側クライアント１２との間の送受信内容について概説する。
【００４１】
図４に示すように、Ｗｅｂサーバ１４は、まず
・先生側クライアント１１からグルーピング開始パケットを受信し（Ｙ１０１）、
・各生徒側クライアント１２ａ〜ｄにグルーピング開始パケットを送信する（Ｙ１０３〜９）。
【００４２】
生徒側クライアントに送信されるグルーピング開始パケットには、グルーピングの開始を示す情報と、同じグループに属する他の生徒のユーザＩＤが含まれる。具体的には、
・生徒側クライアント１２ａに送信されるグルーピング開始パケットには第２の生徒のユーザＩＤ、
・生徒側クライアント１２ｂに送信されるグルーピング開始パケットには第１の生徒のユーザＩＤ、
・生徒側クライアント１２ｃに送信されるグルーピング開始パケットには第４の生徒のユーザＩＤ、
・生徒側クライアント１２ｄに送信されるグルーピング開始パケットには第３の生徒のユーザＩＤがそれぞれ含まれる。  
これによって、各生徒側クライアント１２ａ〜ｄは、自分と同じグループに属する生徒のユーザＩＤを認識する。
【００４３】
Ｗｅｂサーバ１４は、続いて
・生徒側クライアント１２ａからサーバ宛発言パケットを受信し（Ｙ１１１）、
・生徒側クライアント１２ｂに第１の生徒のユーザＩＤと発言内容を含む生徒宛発言パケットを送信するとともに（Ｙ１１３）、
・先生側クライアント１１にも第１の生徒のユーザＩＤと発言内容を含む先生宛発言パケットを送信する（Ｙ１１５）。
【００４４】
これによって、生徒側クライアント１２ａから送信された発言内容が、第１の生徒の発言として、生徒側クライアント１２ｂの表示装置の画面と、先生側クライアント１１の表示装置の画面に表示可能となる。
【００４５】
Ｗｅｂサーバ１４は、続いて
・生徒側クライアント１２ｂからサーバ宛発言パケットを受信し（Ｙ１１７）、
・生徒側クライアント１２ａに第２の生徒のユーザＩＤと発言内容を含む生徒宛発言パケットを送信するとともに（Ｙ１１９）、
・先生側クライアント１１にも第２の生徒のユーザＩＤと発言内容を送信する（Ｙ１２１）。
【００４６】
これによって、生徒側クライアント１２ｂから送信された発言内容が、第２の生徒の発言として、生徒側クライアント１２ａの表示装置の画面と、先生側クライアント１１の表示装置の画面に表示可能となる。
【００４７】
このようにして、同じ第１のグループに属する第１の生徒と第２の生徒との間で会話が成立し、かつその会話を先生が監視することができる。
【００４８】
図４に示すように、Ｗｅｂサーバ１４は、続いて
・生徒側クライアント１２ｃからサーバ宛発言パケットを受信し（Ｙ１２３）、・生徒側クライアント１２ｄに第３の生徒のユーザＩＤと発言内容を含む生徒宛発言パケットを送信するとともに（Ｙ１２５）、
・先生側クライアント１１にも第３の生徒のユーザＩＤと発言内容を送信する（Ｙ１２７）。
【００４９】
これによって、生徒側クライアント１２ｃから送信された発言内容が、第３の生徒の発言として、生徒側クライアント１２ｄの表示装置の画面と、先生側クライアント１１の表示装置の画面に表示可能となる。
【００５０】
Ｗｅｂサーバ１４は、続いて
・生徒側クライアント１２ｄからサーバ宛発言パケットを受信し（Ｙ１２９）、・生徒側クライアント１２ｃに第４の生徒のユーザＩＤと発言内容を含む生徒宛発言パケットを送信するとともに（Ｙ１３１）、
・先生側クライアント１１にも第４の生徒のユーザＩＤと発言内容を送信する（Ｙ１３３）。
【００５１】
これによって、生徒側クライアント１２ｄから送信された発言内容が、第４の生徒の発言として、生徒側クライアント１２ｃの表示装置の画面と、先生側クライアント１１の表示装置の画面に表示可能となる。
【００５２】
このようにして、同じ第２のグループに属する第３の生徒と第４の生徒との間で会話が成立し、かつその会話を先生が監視することができる。
【００５３】
また、図４には示していないが、サーバと各生徒側クライアントは、アバターの位置情報に関するリアルタイム性を維持するために、アバターの位置情報と角度情報を常時、送受信している。つまり、
・生徒側クライアント１２がＷｅｂサーバ１４へアバターの位置情報及び角度情報を送信し、
・Ｗｅｂサーバ１４はアバターの位置情報及び角度情報を受信すると、すぐに生徒側クライアントコンピュー１２へアバターの位置情報及び角度情報を返信し、
・生徒側クライアント１２は、Ｗｅｂサーバ１４からの返信を受信すると、再びすぐにアバターの新たな位置情報及び角度情報をＷｅｂサーバ１４へ送信する。
【００５４】
アバターの位置情報とは、仮想空間内における（ｘ座標値、ｙ座標値、ｚ座標値）を言い、アバターの角度情報とは、仮想空間内においてアバターの視線が向いている方向を言う。
【００５５】
図５に基づいて、先生側クライアント内の処理の流れを説明する。
【００５６】
ステップＳ１０１では、グルーピングするワールド（グルーピング実行空間）と１グループ当たりの最低人数が選択され、その内容が記憶手段（図示せず）に記憶される。
【００５７】
図６に示すように、例えば、「ワールド選択」ウィンドウＷ１１１の「Ｖｉｒｔｕａｌ  Ｃａｍｐｕｓ」、「Ｒｏｔｈｅｎｂｕｒｇ」、「Ｐａｒｉｓ」の中からラジオボタン用いて「Ｖｉｒｔｕａｌ  Ｃａｍｐｕｓ」が選択され、また「グループ最低人数」ウィンドウＷ１１３のプルダウンメニューを用いてグループ最低人数として「２人」が選択される。
【００５８】
次いで、グルーピング方法が選択される。例えば、（１）先生側クライアントのユーザが、選択された空間に属するメンバーを複数のグループのいずれかに割り振る（手動割り振り）方法、又は（２）割り振り手段が、自動的に割り振る（自動割り振り）方法のいずれかの方法が選択される。
【００５９】
自動割り振り手段は、例えば生徒をログインタイム順にソートし、早くログインした者から順に２名ずつを各グループに割り振る。または、あらかじめ登録した成績順に所定数ずつを各グループに割り振るとしても良く、若しくは成績上位者と成績下位者をほぼ均等に各グループに割り振るとしても良い。成績上位者と成績下位者をほぼ均等に割り振るとは、例えば９名の生徒を３名ずつ３つのグループに割り振る場合に、成績順位が１，６及び８位の生徒を第１グループに、２，４及び９位の生徒を第２グループに、そして３，５及び７位の生徒を第３グループに、割り振る。
【００６０】
ステップＳ１０３では、必要な数だけグループが作成され、その内容が記憶手段に記憶される。なお、生徒数がグループ数で割り切れない場合は、各グループに属する生徒数が均一にはならなくても良い。そのような場合は、余った生徒をいずれかのグループに割り振れば良い。例えば、生徒数が１０人でグループ数が３の場合、生徒数が３人のグループが２つと、生徒数が４人のグループが１つとなる。
【００６１】
図７の「グループリスト」ウィンドウＷ１２１に示すように、例えば、「Ｖｉｒｔｕａｌ  Ｃａｍｐｕｓ」という選択空間に関して、
・グループ１が作成され、
・そのグループ１にオオ１（第１の生徒）とオオ２（第２の生徒）が割り振られる。
【００６２】
「メンバーリスト」の「出席」ウィンドウＷ１２３に表示されている出席者の中から１人又は複数人が選択され、次いで「追加」ボタンＢ１２１がクリックされることによって、選択された出席者が「グループリスト」ウィンドウＷ１２１に追加される。また、「グループリスト」ウィンドウＷ１２１に表示されている参加者の中から１人又は複数人が選択され、次いで「削除」ボタンＢ１２３がクリックされることによって、選択された出席者が「グループリスト」ウィンドウＷ１２１から削除される。
【００６３】
上記操作の結果、記憶手段には例えば以下のような内容が記憶される。
【００６４】
・空間ＩＤ＝０１、グループＩＤ＝０１、ユーザＩＤ＝０００１、イベントタイプ＝ＪＯＩＮ
・空間ＩＤ＝０１、グループＩＤ＝０１、ユーザＩＤ＝０００２、イベントタイプ＝ＪＯＩＮ
ここで、イベントタイプとは、グループに参加する場合は”ＪＯＩＮ”とし、グループから出る場合は”ＬＥＡＶＥ”とする。
【００６５】
ステップＳ１０５では、グルーピングスタートの指示が入力され、グルーピング開始パケットが生成される。グルーピングスタートの指示の入力とは、例えば、図７に示す「グルーピング開始」ボタンＢ１２５がクリックされることである。
【００６６】
グルーピング開始パケットには、
・グルーピングの開始を指示するグルーピング開始情報、
・グルーピングが行われる仮想空間のＩＤ、
・作成されるグループのＩＤ、
・各グループの生徒のＩＤ
が含まれる。例えば、
・空間ＩＤ＝０１、グループＩＤ＝０１、ユーザＩＤ＝０００１，０００２、イベントタイプ＝ＪＯＩＮ
が含まれる。
【００６７】
また、ユーザＩＤが０００３，０００４であるユーザからなる第２のグループが作成される場合は、
・空間ＩＤ＝０１、グループＩＤ＝０２、ユーザＩＤ＝０００３，０００４、イベントタイプ＝ＪＯＩＮ
が含まれる。
【００６８】
ステップＳ１０７では、生成されたグルーピング開始パケットがＷｅｂサーバに送信される。
【００６９】
ここまでが先生側クライアント１１におけるグループ作成に関する説明である。次に、先生側クライアント１１におけるチャット監視について説明する。
【００７０】
ステップＳ１０９では、チャット監視画面が起動され、ステップＳ１１１では、監視グループが選択される。
【００７１】
図８に示すように、チャット監視画面には、例えば「送信対象」ウィンドウＷ１３１、「メッセージ送信」ウィンドウＷ１３３、「グループリスト」ウィンドウＷ１３５、「グループメンバー」ウィンドウＷ１３７、「監視グループ」ウィンドウＷ１３９、「メッセージの選択・登録」ボタンＢ１３１、「送信」ボタンＢ１３３、「追加」ボタンＢ１３５、「全追加」ボタンＢ１３７、「削除」ボタン１３９、「全削除」ボタン１４１が表示される。「送信対象」ウィンドウＷ１３１、「メッセージ送信」ウィンドウＷ１３３、「メッセージの選択・登録」ボタンＢ１３１、「送信」ボタンＢ１３３については第４の実施形態の中で説明する。
【００７２】
「グループリスト」ウィンドウＷ１３５にはチャット監視候補のグループが表示される。「追加」ボタンＢ１３５がクリックされると、「グループリスト」ウィンドウＷ１３５に表示されたグループ中の選択されたグループが「監視グループ」ウィンドウＷ１３９に追加される。また、「全追加」ボタンＢ１３７がクリックされると、「グループリスト」ウィンドウＷ１３５に表示されている全てのグループが「監視グループ」ウィンドウＷ１３９に追加される。
【００７３】
「グループメンバー」ウィンドウＷ１３７には、「グループリスト」ウィンドウＷ１３５に表示されたグループの中から選択されたグループのメンバーが表示され、監視対象のグループを決定する際に参照される。
【００７４】
「削除」ボタンＢ１３９がクリックされると、「監視グループ」ウィンドウＷ１３９に表示されたグループの中から選択されたグループが「監視グループ」ウィンドウＷ１３９から削除される。また、「全削除」ボタンＢ１４１をクリックされると、「監視グループ」ウィンドウＷ１３９に表示されている全てのグループが「監視グループ」ウィンドウＷ１３９から削除される。
【００７５】
ステップＳ１１３では、通信手段が先生宛発言パケットを受信する。受信した発言パケットの発言内容は、発言者のユーザＩＤ及び発言者が属するグループのグループＩＤに関連付けて記憶手段に記憶される。
【００７６】
例えば、ユーザＩＤ＝００１、グループＩＤ＝０１、発言内容＝「元気？」
などが１つのレコードとして記憶される。
【００７７】
ステップＳ１１５では、チャットグループ毎に発言内容が発言者のハンドル名とともに表示装置の画面に表示される。
【００７８】
図９に示すように、チャット監視画面は、例えば、「全チャット」ウィンドウＷ１４１と、「グループ」ウィンドウＷ１４３とを表示する。
【００７９】
「グループ１」ウィンドウＷ１４３は、グループ１に属するメンバーのハンドル名とその発言内容を対応付けて表示する。例えば、記憶手段からグループＩＤ＝０１の条件を満たす発言だけが読み出され、表示装置の画面にハンドル名と発言内容が表示される。具体的には、
・第１のハンドル名：「元気？」
第２のハンドル名：「元気だよ。」
又は、
・「元気？」（第１のハンドル名）
「元気だよ。」（第２のハンドル名）
などの形式で表示される。
【００８０】
「全チャット」ウィンドウＷ１４１は、各グループに属する全メンバーのハンドル名とその発言内容を対応付けて表示する。記憶手段から全ての発言が読み出され、表示装置の画面にグループＩＤとハンドル名と発言内容が表示される。グループＩＤ＝０１に属するユーザの発言も、グループＩＤ＝０２に属するユーザの発言も表示される。例えば、
・グループ１，第１のハンドル名：「元気？」
グループ２，第３のハンドル名：「腹減った。」
グループ１，第２のハンドル名：「元気だよ。」
グループ２，第４のハンドル名：「俺も」
グループ１，第１のハンドル名：「そりゃ良かった。」
グループ２，第３のハンドル名：「じゃ、ラーメン食いに行こう。」
このように、全グループの発言を表示させるため、グループ１の第１ユーザの発言とグループ１の第２ユーザの発言との間に、グループ２の第３ユーザの発言が表示されることもある。
【００８１】
以上がグルーピングからチャット監視までに関する先生側クライアント１１についての説明である。
【００８２】
なお、グループ毎にチャット表示のウィンドウを区切って表示することも可能である。例えば、表示ウィンドウ数指定用のプルダウンメニューＭ１４５を用いて表示ウィンドウ数を指定した後、「表示」ボタンＢ１４７をクリックすることによって、所定数のウィンドウが表示された状態に画面を変化させる。例えば、
（１）表示ウィンドウ数「４」を指定した場合は、縦長のウィンドウを１行４列に並べて表示する。
【００８３】
（２）表示ウィンドウ数「８」を指定した場合は、表示ウィンドウ数「４」のときの縦長のウィンドウを上下に２分割したサイズとほぼ同程度のサイズのウィンドウを２行４列に並べて表示する。
【００８４】
（３）表示ウィンドウ数「１６」を指定した場合は、表示ウィンドウ数「８」のときのウィンドウを上下に２分割したサイズとほぼ同程度のサイズのウィンドウを４行４列に並べて表示する。
【００８５】
（４）表示ウィンドウ数「３２」を指定した場合は、表示ウィンドウ数「１６」のときのウィンドウを上下に２分割したサイズとほぼ同程度のサイズのウィンドウを８行４列に並べて表示する。
【００８６】
次に、Ｗｅｂサーバ１４内の処理について説明する。  
図１０に示すように、まずＷｅｂサーバ１４は、ステップＳ２０１で、パケット受信手段３１が、先生側クライアントからグルーピング開始パケットを受信する。  
ステップＳ２０３では、ＩＤ記憶手段が３８が、グルーピング開始パケットに含まれる
・作成されるグループのグループＩＤと
・各グループに属する生徒のユーザＩＤと
を関連付けて記憶する。なお、各生徒のユーザＩＤとＩＰアドレスが関連付けてＩＰアドレス記憶手段３７に予め記憶されている。
【００８７】
ステップＳ２０５では、パケット生成手段３２が、先生側クライアントから受信した情報に従って生徒宛グルーピング開始パケットを作成する。具体的には
・第１ユーザＩＤに対応付けられた第１ＩＰアドレスが、ＩＰアドレス記憶手段３７から読み出され、
・第１ユーザＩＤに関連付けられている第２ユーザＩＤが、ＩＤ記憶手段３８から読み出され、
・第１ＩＰアドレスを宛先アドレスとし、かつ第２ユーザＩＤを送信データとする生徒宛グルーピング開始パケットが作成される。
【００８８】
同様にして、
・第２ユーザＩＤに対応付けられた第２ＩＰアドレスが、ＩＰアドレス記憶手段３７から読み出され、
・第２ユーザＩＤに関連付けられている第１ユーザＩＤが、ＩＤ記憶手段３８から読み出され、
・第２ＩＰアドレスを宛先アドレスとし、かつ第１ユーザＩＤを送信データとする生徒宛グルーピング開始パケットが生成される。
【００８９】
ステップＳ２０７では、パケット送信手段３３が作成された生徒宛グルーピング開始パケットを送信する。この結果、第２ユーザＩＤを送信データとする生徒宛グルーピング開始パケットが第１ユーザの生徒側クライアント１２ａに送信され、第１ユーザＩＤを送信データとする生徒宛グルーピング開始パケットが第２ユーザの生徒側クライアント１２ｂに送信される。
【００９０】
以上が、Ｗｅｂサーバ１４が、サーバ宛グルーピング開始パケットを受信してから、生徒宛グルーピング開始パケットを送信するまでの処理の流れである。
【００９１】
次に、Ｗｅｂサーバ１４が、サーバ宛発言パケットを受信してから、先生側クライアント宛発言パケット及び生徒側クライアント宛発言パケットを送信するまでの処理の流れを説明する。
【００９２】
ステップＳ２０９では、パケット受信手段３１が、生徒側クライアント１２からサーバ宛第１，第２発言パケットを受信する。サーバ宛第１発言パケットには、発言者である第１の生徒の第１ユーザＩＤと第１発言データが含まれ、サーバ宛第２発言パケットには、発言者である第２の生徒の第２ユーザＩＤと第２発言データが含まれるものとする。
【００９３】
なお、各ユーザＩＤとそのユーザのＩＰアドレスは関連付けてＩＰアドレス記憶手段３７に記憶されているので、サーバ宛受信パケットに発言者のユーザＩＤが含まれていなくても、発言パケットから送信元ＩＰアドレスを抽出し、その送信元ＩＰアドレスから発言者のユーザＩＤを導出するとしても良い。
【００９４】
ステップＳ２１１では、パケット生成手段３２が先生宛発言パケットを生成する。具体的には、（１）ＩＰアドレス記憶手段３７が、管理者である先生のＩＰアドレスを予め記憶し、（２）パケット生成手段３２が、（２−１）ＩＰアドレス記憶手段３７から先生のＩＰアドレスを読み出して宛先アドレスとし、サーバ宛第１発言パケットから第１発言データを読み出して送信データとして第１先生宛発言パケットを生成し、（２−２）ＩＰアドレス記憶手段３７から先生のＩＰアドレスを読み出して宛先アドレスとし、サーバ宛第２発言パケットから第２発言データを読み出して送信データとして第２先生宛発言パケットを生成する。
【００９５】
先生宛発言パケットの生成は、サーバ宛発言パケットから発言データを抽出し、それを送信データとする。また、宛先アドレスは常に先生のＩＰアドレスとなる。
【００９６】
ステップＳ２１３では、パケット送信手段３３が、生成された先生宛発言パケットを送信する。この結果、全ての発言データが先生側クライアント１１に送られることになる。
【００９７】
ステップＳ２１５では、パケット生成手段３２が、生徒宛発言パケットを生成する。具体的には、パケット生成手段３２は、（１−１）サーバ宛第１発言パケットから第１ユーザＩＤを読み出し、第１ユーザＩＤに関連付けられている第２ユーザＩＤをＩＤ記憶手段３８から読み出し、第２ユーザＩＤに関連付けられている第２ＩＰアドレスをＩＰアドレス記憶手段３７から読み出して宛先アドレスとし、（１−２）サーバ宛第１発言パケットから第１発言データを読み出して送信データとして第１ユーザ宛発言パケットを生成し、（２−１）サーバ宛第２発言パケットから第２ユーザＩＤを読み出し、第２ユーザＩＤに関連付けられている第１ユーザＩＤをＩＤ記憶手段３８から読み出し、第１ユーザＩＤに関連付けられている第１ＩＰアドレスをＩＰアドレス記憶手段３７から読み出して宛先アドレスとし、（２−２）サーバ宛第２発言パケットから第２発言データを読み出して送信データとして第２ユーザ宛発言パケットを生成する。
【００９８】
生徒宛発言パケットの生成は、サーバ宛発言パケットから発言データを抽出し、それを送信データとする。また、宛先アドレスは、発言者である生徒と同じグループに属する他の生徒のＩＰアドレスとなる。
【００９９】
ステップＳ２１７では、パケット送信手段３３が、生成された生徒宛発言パケットを送信する。この結果、第１の生徒の発言データが第２の生徒の生徒側クライアント１２ｂに送られ、第２の生徒の発言データが第１の生徒の生徒側クライアント１２ａに送られる。
【０１００】
同様にして、第３の生徒の発言データが第４の生徒の生徒側クライアント１２ｄに送られ、第４の生徒の発言データが第３の生徒の生徒側クライアント１２ｃに送られる。
【０１０１】
このようにして同一グループに属する第１の生徒と第２の生徒との間でチャットが成立し、また第３の生徒と第４の生徒との間でチャットが成立する。
【０１０２】
なお、同一グループに属する他のユーザに発言データを送信する際に、仮想空間内において発言者のアバターから所定の距離内にいるアバターのユーザにのみ発言データを送信するとしても良い。
【０１０３】
具体的には、第１の生徒と第２の生徒が同一グループに属し、第１の生徒が発言した場合に、（１）第１ユーザＩＤに関連付けられている第１アバターの仮想空間内における第１座標値と、第２ユーザＩＤに関連付けられている第２アバターの仮想空間内における第２座標値とを記憶する座標値記憶手段３９から、演算手段３５が、第１座標値と第２座標値とを読み出し、第１座標値と第２座標値とに基づいて第１アバターと第２アバターとの距離を算出し、（２）比較手段３６が、算出された距離と所定値とを比較して、距離が所定値以下又は所定値未満であるかを判定し、（３）パケット生成手段３２が、算出された距離が所定値以下又は所定値未満であることを示す情報を比較手段３６から受け取ったときにのみ生徒宛発言パケットを生成する。
【０１０４】
より具体的には、座標値記憶手段３９から、第１アバターの仮想空間座標値｛Ｘ１，Ｙ１，Ｚ１｝と第２アバターの仮想空間座標値｛Ｘ２，Ｙ２，Ｚ２｝とを読み出し、下記式より第１アバターと第２アバターとの距離を算出し、
ｄ12＝{(X1-X2)^2+(Y1-Y2)^2+(Z1-Z2)^2｝^(1/2)
算出されたｄ12と所定値とを比較する。
【０１０５】
以上が、Ｗｅｂサーバ１４が、生徒側クライアント１２から発言パケットを受信してから、先生側クライアント１１及び同一グループに属する他の生徒側クライアント１２へ発言パケットを送信する場合の処理の流れである。
【０１０６】
次に、生徒側クライアント１２が、生徒宛グルーピング開始パケットを受信してから、サーバ宛発言パケットの送信を経て、生徒宛発言パケットを受信するまでの処理の流れを説明する。
【０１０７】
図１１に示すように、まず生徒側クライアント１２は、ステップＳ３０１で、ログインする。
【０１０８】
ステップＳ３０３で、Ｗｅｂサーバ１４から他のユーザに関する情報を受信する。例えば、
・第１の生徒側クライアント１２ａはログイン後、Ｗｅｂサーバ１４から第２〜４の生徒のユーザ情報を受信し、
・第２の生徒側クライアント１２ｂはログイン後、Ｗｅｂサーバ１４から第１，３，４の生徒のユーザ情報を受信し、
・第３の生徒側クライアント１２ｃはログイン後、Ｗｅｂサーバ１４から第１，２，４の生徒のユーザ情報を受信し、
・第４の生徒側クライアント１２ｄはログイン後、Ｗｅｂサーバ１４から第１〜３の生徒のユーザ情報を受信する。
【０１０９】
ユーザ情報は、ユーザ基本情報とユーザアバター情報を含む。例えば、
・ユーザ基本情報は、ユーザＩＤ、ユーザ名、ハンドル名、言語コード、所属ＩＤ、Ｅメールアドレス、ユーザ画像ファイル名、自己紹介文、暗号化ユーザパスワード、ユーザ権限ＩＤを含み、
・ユーザアバター情報は、性別、ヘアスタイル、ヘアカラー、フェイスパターン、肌の色、上着パターン、パンツ・スカートパターン、靴パターン、頭部アイテム、右手アイテム、左手アイテムを含む。
【０１１０】
ステップＳ３０５では、空間ＩＤを送信する。  
例えば、図１２に示すような画面が生徒側クライアント１２の表示装置の画面に表示され、第１の生徒が、プルダウンメニューＭ３０１の中から「Ｖｉｒｔｕａｌ  Ｃａｍｐｕｓ」を選択すると、「Ｖｉｒｔｕａｌ  Ｃａｍｐｕｓ」に対応する空間ＩＤが送信される。
【０１１１】
ステップＳ３０７では、サーバからグルーピング開始パケットを受信する。生徒側クライアント１２が受信するグルーピング開始パケットは、そのグルーピング開始パケットを受信した生徒側クライアントのユーザと同じグループに属する他のメンバーのＩＤを含む。
【０１１２】
例えば、第１の生徒が受信するグルーピング開始パケットには｛グループＩＤ＝０１，ユーザＩＤ＝０２｝という情報が含まれ、第２の生徒が受信するグルーピング開始パケットには｛グループＩＤ＝０１，ユーザＩＤ＝０１｝という情報が含まれ、第３の生徒が受信するグルーピング開始パケットには｛グループＩＤ＝０２，ユーザＩＤ＝０４｝という情報が含まれ、第４の生徒が受信するグルーピング開始パケットには｛グループＩＤ＝０２，ユーザＩＤ＝０３｝という情報が含まれる。
【０１１３】
ステップＳ３０９では、グルーピング開始パケットから自分が所属するグループ名とそのグループに所属する自分以外のメンバーのＩＤを取得する。そして、ログイン時に受信したユーザ基本情報に基づいて、自分以外のユーザのハンドル名などが表示装置の画面に表示される。
【０１１４】
図１２に示す例では、
・第１のユーザ自身のハンドル名「オオ１」、
・同じグループに属する第２のユーザのハンドル名「オオ２」
が表示装置の画面の「ＮＡＭＥ」ウィンドウＷ２１１に、
・第１、第２のユーザが属するグループ名「３Ｄ−ＩＥＳ／管理者」
が「ＧＲＯＵＰ」ウィンドウＷ２１３に表示されている。
【０１１５】
次に、アバターが選択した仮想空間に移動する。図１３は、第１のユーザのアバターがジャンプして、「Ｖｉｒｔｕａｌ  Ｃａｍｐｕｓ」へ移動する例を示す。
【０１１６】
ステップＳ３１１では、表示装置の画面に、仮想空間と自分のアバター及び他のメンバーのアバターが表示される。
【０１１７】
図１４に示す例では、ハンドル名「オオ１」に対応するアバターａｖ１の背後から、アバターａｖ１の視点方向を見た場合の
・「Ｖｉｒｔｕａｌ  Ｃａｍｐｕｓ」の画像と、
・アバターａｖ１の画像と、
・ハンドル名「オオ２」に対応するアバターａｖ２の画像
が表示装置の画面に表示されている。
【０１１８】
アバターａｖ１の画像は、ユーザＩＤ＝０１に対応付けられているユーザアバター情報に基づいて、生成される。アバターａｖ２の画像は、ユーザＩＤ＝０２に対応付けられているユーザアバター情報に基づいて、生成される。
【０１１９】
各アバターが配置される場所については、例えば以下のようにして求める。まず、仮想空間内にグループの中心位置となる１又は２以上のグルーピングポイントを定める。そして、各グループにいずれかのグルーピングポイントがランダムに割り当てられる。
【０１２０】
次に、グルーピングポイントを中心として下記式によって求められたＬｅｎ（距離）とＴｕｒｎ（角度）の値によって、グルーピングポイントからの角度と距離の位置にアバターが配置される。
【０１２１】
Len = (Avatar_MovSpeed * 20.0) * (L div 8 + 1);
Case (L mod 8) of
0 : Turn = try + DegToRad(  0) + DegToRad(180); end
1 : Turn = try + DegToRad(180) + DegToRad(180); end
2 : Turn = try + DegToRad(270) + DegToRad(180); end
3 : Turn = try + DegToRad( 90) + DegToRad(180); end
4 : Turn = try + DegToRad(315) + DegToRad(180); end
5 : Turn = try + DegToRad(135) + DegToRad(180); end
6 : Turn = try + DegToRad(225) + DegToRad(180); end
7 : Turn = try + DegToRad( 45) + DegToRad(180); end
else Turn = try + DegToRad(  0) + DegToRad(180); end ;
end ;
"L"はグループ内の重複しない番号である。"DegToRad"は通常の角度（例えば、９０°）からラジアンに変換する関数である。"Avatar_MovSpeed"はアバターの移動するスピードである。"try"は、グループポイントY軸回転値の基本値（ここでは0.0とする）である。そして、第１のアバターの"L"が0で、"Avatar_MovSpeed"が5.0である場合、"Len"は100.0となり、"Turn"は3.14となる。また、第２のアバターの"L"が1で、"Avatar_MovSpeed"が5.0である場合、"Len"は100となり、"Turn"は6.28となる。さらに、第9アバターの”L”が8 で、"Avatar_MovSpeed"が5.0である場合、"Len"は200となり、”Turn”は3.14となる。第１〜８のアバターはLen=100の円上に表示され、第９〜１６のアバターはLen=200の円（2列目の円）上に表示される。
【０１２２】
このようにして、各生徒側クライアントの表示装置の画面に、「自分のアバター」と「同じグループに属する他の生徒のアバター」が表示される。
【０１２３】
次に、自分が発言した場合の発言パケットの送信及び他の生徒が発言した場合の発言パケットの受信について説明する。
【０１２４】
ステップＳ３１３では、サーバ宛発言パケットを生成し、送信する。具体的には、生徒側クライアントのキーボードを用いて、図１４に示す発言入力ウィンドウＷ２３１に発言内容が入力され、「Ｓｅｎｄ」ボタンＢ２３１がクリックされると、発言入力ウィンドウ内の文字が発言内容となる。
【０１２５】
発言内容は、発言者のハンドル名と共にチャットウィンドウＷ２３３に表示される。例えば、「オオ１：元気？」のように表示される。また、発言内容は、発言者のアバターの近くにも表示されることが好ましい。つまり、ハンドル名「オオ１」の発言であるならアバターａｖ１の画像の近くに表示されることが好ましい。さらに、発言内容をデータとする発言パケットが生成され、サーバに送信される。発言パケットには、発言者のユーザＩＤと発言データが含まれる。ただし、前記の如く、Ｗｅｂサーバ１４のＩＰアドレス記憶手段３７にユーザＩＤとＩＰアドレスが関連付けて記憶されているから、発信元ＩＰアドレスを検索キーとして、発言者のユーザＩＤを探し出すことができるから、サーバ発言パケットに発言者のユーザＩＤが含まれることは必須ではない。
【０１２６】
ステップＳ３１５では、Ｗｅｂサーバ１４によって生成された生徒宛発言パケットをＷｅｂサーバ１４から受信する。生徒宛発言パケットから発言者のＩＤと発言内容が取得される。記憶されているユーザ情報に基づいて、発言者のＩＤから発言者のハンドル名が取得され、そのハンドル名と共に発言内容がチャットウィンドウＷ２３３に表示される。また、前記の如く、発言内容は、発言者のアバターの近くにも表示されることが好ましい。
【０１２７】
図１４に示す例では、ハンドル名「オオ２」とその発言内容がチャットウィンドウＷ２３３に表示される。また、その発言内容がアバターａｖ２の画像の近くに表示されることが好ましい。
【０１２８】
このようにして、第１ユーザの生徒側クライアント１２ａは、Ｗｅｂサーバ１４を介して、同一グループに属する第２ユーザの発言データを受信し、第２ユーザの発言内容が生徒側クライアント１２ａの表示装置の画面に表示される。
【０１２９】
同様にして、第２ユーザの生徒側クライアント１２ｂは、Ｗｅｂサーバ１４を介して、同一グループに属する第１ユーザの発言データを受信し、第１ユーザの発言内容が生徒側クライアント１２ｂの表示装置の画面に表示される。
【０１３０】
同様にして、第３ユーザの生徒側クライアント１２ｃは、Ｗｅｂサーバ１４を介して、同一グループに属する第４ユーザの発言データを受信し、第４ユーザの発言内容が生徒側クライアント１２ｃの表示装置の画面に表示される。
【０１３１】
同様にして、第４ユーザの生徒側クライアント１２ｄは、Ｗｅｂサーバ１４を介して、同一グループに属する第３ユーザの発言データを受信し、第３ユーザの発言内容が生徒側クライアント１２ｄの表示装置の画面に表示される。
【０１３２】
前記の如く、第１の実施形態によれば、２以上のユーザを適宜選択してグループを構成させることができ、同一グループに属するメンバー間でチャットを行うことができる。
【０１３３】
（第２の実施形態）
第２の実施形態においては、先生側クライアント１１において既存のグループに新たなメンバーを追加する旨の決定がされ、その決定内容が生徒側クライアント１２ａ〜ｃに通知される。なお、重複説明を避けるため、第１の実施形態と同じ点については説明を省略する。
【０１３４】
図３に示すパケット受信手段３１は、さらに第３ユーザが第１グループに追加されることを示す情報を含むサーバ宛メンバー追加通知パケットを受信する。
【０１３５】
ＩＤ記憶手段３８は、さらにサーバ宛メンバー追加通知パケットから読み出された第３ユーザＩＤを第１グループＩＤに関連付けて記憶する。つまり、第１グループＩＤに第１〜３ユーザＩＤが関連付けて記憶されている。
【０１３６】
パケット生成手段３３は、さらに
（１）第１グループＩＤに関連付けられている第１ユーザＩＤをＩＤ記憶手段３８から読み出し、第１ユーザＩＤに関連付けられている第１ＩＰアドレスをＩＰアドレス記憶手段３７から読み出して宛先アドレスとし、第３ユーザＩＤを送信データとして第１ユーザ宛メンバー追加通知パケットを生成し、
（２）第１グループＩＤに関連付けられている第２ユーザＩＤをＩＤ記憶手段３８から読み出し、第２ユーザＩＤに関連付けられている第２ＩＰアドレスをＩＰアドレス記憶手段３７から読み出して宛先アドレスとし、第３ユーザＩＤをＩＤ記憶手段３８から読み出して送信データとして第２ユーザ宛メンバー追加通知パケットを生成し、
（３）第３ユーザＩＤに関連付けられている第３ＩＰアドレスをＩＰアドレス記憶手段３７から読み出して宛先アドレスとし、第１グループＩＤに関連付けられている第１，第２ユーザＩＤをＩＤ記憶手段３８から読み出して送信データとして第３ユーザ宛メンバー追加通知パケットを生成する。
【０１３７】
ＩＤ関連付け変更手段３４は、第３ユーザＩＤと第１グループＩＤとの関連付けをＩＤ記憶手段に追加する。
【０１３８】
このようにして、新たなメンバーが追加されたグループの既存のメンバーに、追加されたメンバーのユーザＩＤが通知される。また、新たなメンバーには既存の全メンバーのユーザＩＤが通知される。新たなメンバーのユーザＩＤとグループとの関連付けがＩＤ記憶手段に追加される。具体的には、
・第１，２ユーザには第３ユーザのユーザＩＤが通知され、
・第３ユーザには第１，２ユーザのユーザＩＤが通知され、
・サーバには第１グループに第３ユーザが追加された旨が記憶される。
【０１３９】
図１５に示すように、先生側クライアント１１からメンバー追加通知パケットがＷｅｂサーバ１４に送信される（Ｙ２０１）。メンバー追加通知パケットには第１グループに第３ユーザが追加されるという情報が含まれているものとする。
【０１４０】
Ｗｅｂサーバ１４は、各生徒側クライアント１２ａ〜ｃに生徒宛メンバー追加通知パケットを送信する。具体的には、
・第１グループに第３ユーザが追加されるという情報を含む生徒宛メンバー追加通知パケットが、生徒側クライアント１２ａ，ｂに送信され（Ｙ２０３，２０５）、
・第１グループには既に第１，２ユーザが属しているという情報を含む生徒宛メンバー追加通知パケットが、生徒側クライアント１２ｃに送信される（Ｙ２０７）。
【０１４１】
このようにして、生徒側クライアント１２ａ，ｂに、第３ユーザがグループに新たに参加することが通知され、生徒側クライアント１２ａ，ｂの表示装置の画面に第３ユーザのアバターが登場する。また、生徒側クライアント１２ｃの表示装置の画面には、第１ユーザのアバターと第２ユーザのアバターが登場する。
【０１４２】
また、Ｗｅｂサーバ１４により送信される生徒宛発言パケットの送信先も変わる。具体的には、Ｗｅｂサーバ１４は、ＩＤ記憶手段３８において第１〜３ユーザＩＤが関連付けて記憶されているから、第１ユーザの生徒側クライアント１２ａから発言パケットを受信すると（Ｙ２０９）、第２ＩＰアドレスを宛先アドレスとし、第１ユーザの発言データを送信データとする生徒宛発言パケットを生成して、送信し（Ｙ２１１）、また、第３ＩＰアドレスを宛先アドレスとし、第１ユーザの発言データを送信データとする生徒宛発言パケットを生成して、送信し（Ｙ２１３）、さらに、管理者ＩＰアドレスを宛先アドレスとし、第１ユーザの発言データを送信データとする先生宛発言パケットを生成して、送信する（Ｙ２１５）。
【０１４３】
同様にして、Ｗｅｂサーバ１４は、第２ユーザの生徒側クライアント１２ｂから発言パケットを受信すると（Ｙ２１７）、第１ＩＰアドレスを宛先アドレスとし、第２ユーザの発言データを送信データとする生徒宛発言パケットを生成して、送信し（Ｙ２１９）、また、第３ＩＰアドレスを宛先アドレスとし、第２ユーザの発言データを送信データとする生徒宛発言パケットを生成して、送信し（Ｙ２２１）、さらに、管理者ＩＰアドレスを宛先アドレスとし、第２ユーザの発言データを送信データとする先生宛発言パケットを生成して、送信する（Ｙ２２３）。
【０１４４】
同様にして、Ｗｅｂサーバ１４は、第３ユーザの生徒側クライアント１２ｃから発言パケットを受信すると（Ｙ２２５）、第１ＩＰアドレスを宛先アドレスとし、第３ユーザの発言データを送信データとする生徒宛発言パケットを生成して、送信し（Ｙ２２７）、また、第２ＩＰアドレスを宛先アドレスとし、第３ユーザの発言データを送信データとする生徒宛発言パケットを生成して、送信し（Ｙ２２９）、さらに、管理者ＩＰアドレスを宛先アドレスとし、第３ユーザの発言データを送信データとする先生宛発言パケットを生成して、送信する（Ｙ２３１）。
【０１４５】
このようにして、既存のグループに新たなメンバーが追加された後は、既存のメンバー及び新たなメンバー間で発言パケットが送受信される。具体的には、第１〜３ユーザ間で発言パケットが送受信される。そして、
・第１ユーザの発言は、第２，３ユーザの生徒側クライアント１２ｂ，ｃの表示装置の画面に第１ユーザのハンドル名と共に表示され、
・第２ユーザの発言は、第１，３ユーザの生徒側クライアント１２ａ，ｃの表示装置の画面に第２ユーザのハンドル名と共に表示され、
・第３ユーザの発言は、第１，２ユーザの生徒側クライアント１２ａ，ｂの表示装置の画面に第３ユーザのハンドル名と共に表示される。
【０１４６】
前記の如く、第２の実施形態によれば、先生側クライアントにおいてなされた決定に基づいて既存のグループに新たなメンバーを追加することができ、追加されたメンバーを含む新たなメンバー間でチャットを行うことができる。
【０１４７】
（第３の実施形態）
第３の実施形態においては、先生側クライアント１１において既存のグループからメンバーを削除する旨の決定がされ、その決定内容が生徒側クライアント１２ａ〜ｃに通知される。
【０１４８】
図３に示すＩＰアドレス記憶手段３７は、第１ユーザの第１ユーザＩＤと第１ＩＰアドレス、第２ユーザの第２ユーザＩＤと第２ＩＰアドレス、第３ユーザの第３ユーザＩＤと第３ＩＰアドレス、をそれぞれ関連付けて記憶する。
【０１４９】
ＩＤ記憶手段３８は、第１ユーザＩＤと第２ユーザＩＤと第３ユーザＩＤを第１グループの第１グループＩＤに関連付けて記憶する。
【０１５０】
パケット受信手段３１は、第３ユーザが第１グループから削除されることを示す情報を含む第３サーバ宛パケットを受信する。
【０１５１】
パケット生成手段３２は、
・第１グループＩＤに関連付けられている第１ユーザＩＤをＩＤ記憶手段３８から読み出し、第１ユーザＩＤに関連付けられている第１ＩＰアドレスをＩＰアドレス記憶手段３７から読み出して送信先アドレスとし、第３ユーザが削除されることを示す情報を送信データとして、第１ユーザ宛メンバー削除通知パケットを生成し、
・第１グループＩＤに関連付けられている第２ユーザＩＤをＩＤ記憶手段３８から読み出し、第２ユーザＩＤに関連付けられている第２ＩＰアドレスをＩＰアドレス記憶手段３７から読み出して送信先アドレスとし、第３ユーザが削除されることを示す情報を送信データとして、第２ユーザ宛メンバー削除通知パケットを生成する。
【０１５２】
ＩＤ関連付け変更手段３４は、第３ユーザＩＤと第１グループＩＤとの関連付けをＩＤ記憶手段から削除する。
【０１５３】
このようにして、既存のメンバーが削除されたグループの残存するメンバーに、あるメンバーが削除された旨が通知される。また、削除されたメンバー自身にも自分が削除された旨が通知される。削除されたメンバーのユーザＩＤはグループとの関連付けがＩＤ記憶手段から削除される。具体的には、
・第１，２ユーザには第３ユーザが削除された旨が通知され、
・第３ユーザＩＤには、自身が第１グループから削除された旨が通知され、
・サーバには第１グループから第３ユーザが削除された旨が記憶される。
【０１５４】
なお、第１，２ユーザに第３ユーザが削除された旨が通知する際、削除されたユーザＩＤを通知するとしても良く、また削除されずに残るユーザＩＤを通知するとしても良い。生徒側クライアント１２は、（１）削除されたユーザＩＤを通知された場合は、自己が属するグループのメンバーのユーザＩＤリストから通知されたユーザＩＤのみを削除すれば良く、（２）また、削除されずに残るユーザＩＤリストを通知された場合は、自己が属するグループのメンバーのユーザＩＤリストを、通知されたユーザＩＤリストで上書きすれば良い。
【０１５５】
図１６に示すように、先生側クライアント１１からメンバー削除通知パケットがＷｅｂサーバ１４に送信される（Ｙ３０１）。メンバー削除通知パケットには第１グループから第３ユーザが削除されるという情報が含まれている。
【０１５６】
Ｗｅｂサーバ１４は、各生徒側クライアント１２ａ〜ｃに生徒宛メンバー削除通知パケットを送信する。具体的には、
・第１グループから第３ユーザが削除されるという情報を含む生徒宛メンバー削除通知パケットが、生徒側クライアント１２ａ〜ｃに送信され（Ｙ３０３〜３０７）。
【０１５７】
このようにして、生徒側クライアント１２ａ〜ｃに、第３ユーザが第１グループから脱退することが通知され、生徒側クライアント１２ａ，ｂの表示装置の画面から第３ユーザのアバターが消滅する。
【０１５８】
また、Ｗｅｂサーバ１４により送信される生徒宛発言パケットの送信先も変わる。具体的には、Ｗｅｂサーバ１４は、ＩＤ記憶手段３８において第１，２ユーザＩＤだけが関連付けて記憶されているから、第１ユーザの生徒側クライアント１２ａから発言パケットを受信すると（Ｙ３０９）、第２ＩＰアドレスを宛先アドレスとし、第１ユーザの発言データを送信データとする生徒宛発言パケットを生成して、送信し（Ｙ３１１）、また、管理者ＩＰアドレスを宛先アドレスとし、第１ユーザの発言データを送信データとする先生宛発言パケットを生成して、送信する（Ｙ３１３）。
【０１５９】
同様にして、Ｗｅｂサーバ１４は、第２ユーザの生徒側クライアント１２ｂから発言パケットを受信すると（Ｙ３１５）、第１ＩＰアドレスを宛先アドレスとし、第２ユーザの発言データを送信データとする生徒宛発言パケットを生成して、送信し（Ｙ３１７）、また、管理者ＩＰアドレスを宛先アドレスとし、第２ユーザの発言データを送信データとする先生宛発言パケットを生成して、送信する（Ｙ３１９）。
【０１６０】
このようにして、既存のグループからメンバーが削除された後は、残存するメンバー間で発言パケットが送受信される。具体的には、第１〜２ユーザ間で発言パケットが送受信される。そして、
・第１ユーザの発言は、第２ユーザの生徒側クライアント１２ｂの表示装置の画面に第１ユーザのハンドル名と共に表示され、
・第２ユーザの発言は、第１ユーザの生徒側クライアント１２ａの表示装置の画面に第２ユーザのハンドル名と共に表示される。
【０１６１】
前記の如く、第３の実施形態によれば、先生側クライアントにおいてなされた決定に基づいて既存のグループから特定のメンバーを削除することができ、残存するメンバー間でチャットを行うことができる。
【０１６２】
（第４の実施形態）
第４の実施形態では、先生側クライアント１１からＷｅｂサーバ１４を経由して各生徒側クライアント１２に、メッセージパケットが送信される。なお、重複説明を避けるため、第１の実施形態と同じ点については説明を省略する。
【０１６３】
図３に示すパケット受信手段３１は、さらに全グループ又は所定のグループＩＤを示す情報とメッセージデータを含むサーバ宛メッセージパケットを受信する。
【０１６４】
パケット生成手段３２は、さらに
（１）サーバ宛メッセージパケットに全グループを示す情報が含まれている場合に、全ユーザのＩＰアドレスをＩＰアドレス記憶手段３７から読み出して宛先アドレスとし、メッセージデータを送信データとして全生徒宛メッセージパケットを生成し、また
（２）サーバ宛メッセージパケットに所定のグループＩＤを示す情報が含まれている場合に、所定のグループＩＤに関連付けられているユーザＩＤにさらに関連付けられているＩＰアドレスをＩＰアドレス記憶手段３７から読み出して宛先アドレスとし、メッセージデータを送信データとして所定の生徒宛メッセージパケットを生成する。
【０１６５】
このようにして、先生側クライアント１１から送信されたメッセージが、全生徒側クライアント１２、又は、所定の生徒側クライアント１２に通知される。
【０１６６】
図１７に示すように、先生側クライアント１１からグルーピング開始パケットがＷｅｂサーバ１４に送信される（Ｙ４０１）。グルーピング開始パケットには、第１，２ユーザが第１グループに属し、第３，４ユーザが第２グループに属するという情報が含まれているものとする。
【０１６７】
Ｗｅｂサーバ１４は、各生徒側クライアント１２ａ〜ｄに生徒宛グルーピング開始パケットを送信する。具体的には、
・第１グループに第１，２ユーザが含まれるという情報を含む生徒宛グルーピング開始パケットが、生徒側クライアント１２ａ，ｂに送信され（Ｙ４０３，４０５）、
・第２グループに第３，４ユーザが含まれるという情報を含む生徒宛グルーピング開始パケットが、生徒側クライアント１２ｃ，ｄに送信される（Ｙ４０７，４０９）。
【０１６８】
このようにして、生徒側クライアント１２ａ，ｂに、第１グループに属することが通知され、生徒側クライアント１２ａの表示装置の画面に第２ユーザのアバターが登場し、生徒側クライアント１２ｂの表示装置の画面に第１ユーザのアバターが登場する。同様に、生徒側クライアント１２ｃの表示装置の画面に第４ユーザのアバターが登場し、生徒側クライアント１２ｄの表示装置の画面に第３ユーザのアバターが登場する。この状態で、先生側クライアントから全生徒側クライアントに向けてメッセージが発信される場合について説明する。
【０１６９】
まず先生側クライアント１１において、メッセージ送信対象が決定され、メッセージが入力され、メッセージの送信が指示され、サーバ宛メッセージパケットが作成され、送信される。
【０１７０】
例えば、図８に示すように、「送信対象」ウィンドウＷ１３１に、プルダウンメニュー中から選択してメッセージの送信先を表示させる。「送信対象」ウィンドウＷ１３１に「全チャット」と表示されている場合は、全ての生徒側クライアントに同一のメッセージが送信される。「送信対象」ウィンドウＷ１３１に特定のグループ名が表示されている場合は、そのグループに属する生徒側クライアントにのみ同一のメッセージが送信される。
【０１７１】
「メッセージ送信」ウィンドウＷ１３３には、送信されるメッセージが表示される。送信されるメッセージは、
・先生側クライアントのキーボードなどの入力装置を用いて入力され、又は、
・「メッセージの選択・登録」ボタンＢ１３１をクリックすることによって表示されるメッセージの中から選択される。
【０１７２】
「送信」ボタンＢ１３３がクリックされると、「メッセージ送信」ウィンドウＷ１３３に表示されているメッセージが、Ｗｅｂサーバ１４に送信される（Ｙ４１１，４２１，４２７）。具体的には、
・「全チャット」又は「グループ１」などの送信対象を特定する送信対象を特定する情報と、
・メッセージデータ
を含むメッセージパケットがＷｅｂサーバ１４に送信される。
【０１７３】
送信対象が全チャット、つまり全ての生徒側クライアント１１ａ〜ｄであるなら、全ての生徒側クライアント１１ａ〜ｄに同一メッセージを含むメッセージパケットが送信される（Ｙ４１３〜４１９）。
【０１７４】
送信対象が第１グループ、つまり生徒側クライアント１１ａ，ｂであるなら、生徒側クライアント１１ａ，ｂに同一メッセージを含むメッセージパケットが送信される（Ｙ４２３，４２５）。
【０１７５】
送信対象が第２グループ、つまり生徒側クライアント１１ｃ，ｄであるなら、生徒側クライアント１１ｃ，ｄに同一メッセージを含むメッセージパケットが送信される（Ｙ４２９，４３１）。
【０１７６】
図１８に基づいて、生徒宛メッセージパケットの作成について説明する。
【０１７７】
サーバ宛メッセージパケットを受信したら、ステップＳ２５１では、メッセージパケットからメッセージ内容と送信対象を読み出す。
【０１７８】
ステップＳ２５３では、送信対象が全チャットかを判定する。
【０１７９】
ステップＳ２５５では、送信対象が全チャットである場合に、パケット生成手段３２は、ＩＰアドレス記憶手段３７から全ての生徒のＩＰアドレスを読み出す。
【０１８０】
ステップＳ２５７では、送信対象が特定のグループである場合に、パケット生成手段３２は、ＩＤ記憶手段３８から送信対象であるグループに属する生徒のユーザＩＤを読み出す。
【０１８１】
ステップＳ２５９では、ステップＳ２５７で読み出されたユーザＩＤに関連付けられているＩＰアドレスをＩＰアドレス記憶手段３７から読み出す。
【０１８２】
具体的には、送信対象が第１グループであれば、パケット生成手段は、
・ＩＤ記憶手段３８から、第１グループＩＤに関連付けられている第１ユーザＩＤと第２ユーザＩＤを読み出し、次に
・ＩＰアドレス記憶手段３７から、第１ユーザＩＤに関連付けられている第１ＩＰアドレスと第２ユーザＩＤに関連付けられている第２ＩＰアドレスを読み出す。
【０１８３】
ステップＳ２６１では、ステップＳ２５５又はステップＳ２５９で読み出されたＩＰアドレスを送信先とし、ステップＳ２５１で読み出されたメッセージ内容を送信データとする生徒宛メッセージパケットを作成する。
【０１８４】
生徒側クライアントにおいて、生徒宛メッセージパケットが受信されると、メッセージが生徒側クライアントの表示装置の画面に表示される。
【０１８５】
例えば、図１４に示す仮想空間表示ウィンドウＷ２３５の底部付近に各種メッセージが表示される。
【０１８６】
前記の如く、第４の実施形態によれば、全ての生徒側クライアントの表示装置の画面に同一メッセージを表示させたり、選択されたグループに属する生徒側クライアントの表示装置の画面に同一メッセージを表示させることができる。
【図面の簡単な説明】
【０１８７】
【図１】本発明の実施形態にかかるクライアントサーバシステムの構成例を示すブロック図である。
【図２】本発明の実施形態にかかるクライアント、サーバのハードウェアの構成例を示すブロック図である。
【図３】本発明の実施形態にかかるサーバ内に構築される具体的手段の構成例を示すブロック図である。
【図４】第１実施形態における先生側クライアントとＷｅｂサーバと生徒側クライアントとの間の送受信内容を示すシーケンス図である。
【図５】第１実施形態における先生側クライアント内の処理の流れを示すフローチャートである。
【図６】第１実施形態において、先生側クライアントの表示装置に表示されるグルーピング開始画面である。
【図７】第１実施形態において、先生側クライアントの表示装置に表示されるグルーピングメンバー選択画面である。
【図８】第１実施形態において、先生側クライアントの表示装置に表示されるチャット監視グループ選択画面である。
【図９】第１実施形態において、先生側クライアントの表示装置に表示される監視チャット表示画面である。
【図１０】第１実施形態におけるＷｅｂサーバ内の処理の流れを示すフローチャートである。
【図１１】第１実施形態における生徒側クライアント内の処理の流れを示すフローチャートである。
【図１２】第１実施形態において、生徒側クライアントの表示装置の画面であって、仮想空間選択画面が表示されている。
【図１３】第１実施形態において、生徒側クライアントの表示装置の画面であって、仮想空間移動画面が表示されている。
【図１４】第１実施形態において、生徒側クライアントの表示装置の画面であって、選択した仮想空間と同じグループに属するアバターが表示されている。
【図１５】第２実施形態における先生側クライアントとＷｅｂサーバと生徒側クライアントとの間の送受信内容を示すシーケンス図である。
【図１６】第３実施形態における先生側クライアントとＷｅｂサーバと生徒側クライアントとの間の送受信内容を示すシーケンス図である。
【図１７】第４実施形態における先生側クライアントとＷｅｂサーバと生徒側クライアントとの間の送受信内容を示すシーケンス図である。
【図１８】第４実施形態におけるＷｅｂサーバ内の生徒宛メッセージパケット生成処理の流れを示すフローチャートである。
【符号の説明】
【０１８８】
１１…先生側クライアント  １２…生徒側クライアント
１４…Ｗｅｂサーバ       １５…メディアサーバ
２１…ＣＰＵ            ２２…通信装置
２３…ＲＯＭ            ２４…ＲＡＭ
２５…ＨＤＤ            ２６…記憶媒体ドライブ
２７…入力装置                   ２８…表示装置
３１…パケット受信手段    ３２…パケット生成手段
３３…パケット送信手段    ３４…ＩＤ関連付け変更手段
３５…演算手段           ３６…比較手段
３７…ＩＰアドレス記憶手段  ３８…ＩＤ記憶手段
３９…座標値記憶手段
【図１】
2005032078.tif 000003
【図２】
2005032078.tif 000004
【図３】
2005032078.tif 000005
【図４】
2005032078.tif 000006
【図５】
2005032078.tif 000007
【図６】
2005032078.tif 000008
【図７】
2005032078.tif 000009
【図８】
2005032078.tif 000010
【図９】
2005032078.tif 000011
【図１０】
2005032078.tif 000012
【図１１】
2005032078.tif 000013
【図１２】
2005032078.tif 000014
【図１３】
2005032078.tif 000015
【図１４】
2005032078.tif 000016
【図１５】
2005032078.tif 000017
【図１６】
2005032078.tif 000018
【図１７】
2005032078.tif 000019
【図１８】
2005032078.tif 000020