JP2002335283A - 同報通信方法およびシステム - Google Patents

同報通信方法およびシステム

Info

Publication number
JP2002335283A
JP2002335283A JP2001141512A JP2001141512A JP2002335283A JP 2002335283 A JP2002335283 A JP 2002335283A JP 2001141512 A JP2001141512 A JP 2001141512A JP 2001141512 A JP2001141512 A JP 2001141512A JP 2002335283 A JP2002335283 A JP 2002335283A
Authority
JP
Japan
Prior art keywords
data
terminal
broadcast
transmitting
receiving terminal
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
Application number
JP2001141512A
Other languages
English (en)
Inventor
Yoshimitsu Aoyanagi
慶光 青柳
Hideki Fujioka
秀樹 藤岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Software Engineering Co Ltd
Original Assignee
Hitachi Software Engineering Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Software Engineering Co Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP2001141512A priority Critical patent/JP2002335283A/ja
Publication of JP2002335283A publication Critical patent/JP2002335283A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Communication Control (AREA)
  • Digital Computer Display Output (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

(57)【要約】 【課題】 コネクション数を増やさずに、グループ内の
限定されたメンバにだけ選択的にデータ転送するなどの
柔軟な同報通信を実現すること。 【解決手段】 同報通信データを送信する送信側端末
と、同報通信データを受信する複数の受信側端末とを備
え、送信画側端末から1ないし複数の受信側端末を指定
して同報通信データをマルチキャストプロトコルで送信
する同報通信方法において、前記送信側端末から送信す
る同報通信データの先頭に受信側端末を指定するパラメ
ータを付加して送信するステップと、それぞれの受信側
端末において、送信側端末から受信した同報通信データ
の先頭に付加されたパラメータを解析し、当該同報通信
データを受信するか廃棄するかを決定するステップとを
備える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、先生端末と生徒端
末がパソコンなどの端末を利用して授業を支援する教育
支援システムなどのように、1対多の端末相互間で通信
を行うシステムにおいてデータ通信の信頼性や柔軟性を
向上させることに貢献する同報通信方法およびシステム
に関するものである。
【0002】
【従来の技術】例えば、先生端末と生徒端末がパソコン
などの端末を利用して授業を支援する教育支援システム
などのように、1台の先生端末と複数台の生徒端末との
間でデータ通信する場合、すべての生徒端末は同一のデ
ータを先生端末から受信し、その受信データを自分が使
用する生徒端末のスクリーンに描画することが多い。こ
の時、先生端末と生徒端末間のセッションを生徒端末毎
に確立する方法では、同一のデータを転送する場合も生
徒端末の台数分のパケットを先生端末から転送する必要
があり、トラフィック増大の原因となる。
【0003】これに対して、同報通信のプロトコルで
は、先生端末から送信されるパケットを複数の生徒端末
が共有することができるため、リアルタイムアプリケー
ションのデータ通信への適用が可能である。ここで、端
末間でリアルタイム性が要求される画面を共有して授業
を進める際の同報通信を行うことを考えた場合、通信の
信頼性を確保する仕組みとして、3WAYハンドシェイ
クを利用するTCP/IPプロトコルを適用する方法が想定さ
れる。しかし、このTCP/IPプロトコルでは、通信プロト
コル処理によるオーバヘッドや応答確認のための複数回
通信が必要になり、スループットの低下を招くという問
題が発生する。また、TCP/IPプロトコルをマルチメディ
ア通信のような大容量かつリアルタイム性が要求される
データ通信を提供するシステムに適用する場合、転送遅
延の問題がネックとなり、ネットワークのスループット
の向上を妨げることになる。これに対して、ブロードキ
ャストやマルチキャストを利用した同報通信方式では、
プロトコルレベルでの応答確認を実行しないUDP/IP(UD
P:User Datagram Protocol)での通信を実行するため、
プロトコル処理によるオーバヘッドが軽減できる利点が
あり、リアルタイム性が要求される高速データ通信に適
している。
【0004】
【発明が解決しようとする課題】しかしながら、UDP/IP
プロトコルではデータ通信の信頼性が保証されないた
め、データ転送オーバランによるネットワークの輻輳や
パケットロスなどの障害を回避することができない。す
なわち、同報通信を性能面から考慮した場合、マルチキ
ャストのような信頼性のないプロトコルで不用意にパケ
ットの転送間隔を短くしてしまうと、オーバランによる
パケットロスが発生してしまう。これを回避するため
に、パケットの転送間隔を調節するのだが、必ずパケッ
トロスを「0」にできるわけではない。
【0005】また、同報通信を信頼性の面から考慮した
場合、応答確認を実行する手段がない。同報通信の上位
で応答確認の機能を追加する場合にも、データを送信し
た端末だけではなく、すべての端末に応答を返すことし
かできない。このアーキテクチャでは、ある端末が複数
の端末に同一のデータを送信する場合には、1つのパケ
ットを複数の端末で共有するという同報通信の利点を活
用することができるが、複数の端末が1台の端末に応答
確認パケットを送信する場合には、それぞれの端末ごと
に応答確認パケットが送信されるため、結局、同報通信
の利点を活用できなくなる。
【0006】また、同報通信を柔軟性の面から考慮した
場合、グループに属するメンバ全員にデータを送信する
ことはできるが、グループ中の特定のメンバにだけデー
タを送信することができない。この場合、端末ごとにコ
ネクションを張るユニキャストのような接続方式では、
データを送信するメンバを柔軟に選択することができる
が、複数のメンバにデータを送信する場合、メンバ数と
同一のパケットを送信しなくてはならず、ネットワーク
トラフィックを増大させてしまう。ここで、データ転送
時の性能を向上させる方法としては、ATM(非同期転
送モード)を利用する方法が考えられる。ATMではハ
ードウェアレベルでのフロー制御がなされるため、通信
プロトコル処理のオーバヘッドが軽減されるが、現在の
LAN/Ethernetのアーキテクチャが主流になっているシス
テムにおいては、ATMへの移行はコスト面などから考
慮しても最善の解決策とは言えない。すなわち、現在の
システムを流用しつつ、いかにマルチメディアデータ通
信に適したソフトウェア的な解決を行うかが重要である
が、ATMでは解決できない。
【0007】また、マルチキャストプロトコルに高信頼
性を確保する方法として、RMTP(Reliable Multicast T
ransfer Protocol)が存在するが、マルチキャストプロ
トコルの上位で信頼性を確保するための冗長な制御機構
を保持しており、TCP/IPと同様、プロトコル処理のオー
バヘッドにより性能が劣化する問題が発生する。また、
同報通信時の柔軟性を向上する方法としてデータ転送を
中継して振り分ける方法が考えられるが、中継機器を考
慮することで、システムの汎用性が失われてしまうとい
う新たな問題が発生する。
【0008】本発明は、このような問題を解決するため
になされたものであり、その第1の目的は、コネクショ
ン数を増やさずに、グループ内の限定されたメンバにだ
け選択的にデータ転送するなどの柔軟な同報通信を実現
できる同報通信方法およびシステムを提供することにあ
る。第2の目的は、データ転送レートを向上させた場合
に発生するパケットロスの増大を抑制し、同報通信デー
タのスループットを向上させることができる同報通信方
法およびシステムを提供することにある。第3の目的
は、データ転送フロー制御を端末内で稼動するリアルタ
イムアプリケーションが直接実行することにより、リア
ルタイムアプリケーション実行時の品質の向上を図り、
ネットワークの状態に依存しないシームレスな描画表示
を行うことができる同報通信方法およびシステムを提供
することにある。第4の目的は、同報通信のTTL(Tim
e To Live)の設定を動的に変更することで同報通信の応
答パケットが送信される範囲を隣接ノードの端末だけに
限定できることを利用し、ネットワークのトラフィック
削減することができる同報通信方法およびシステムを提
供することにある。
【0009】
【課題を解決するための手段】上記目的を達成するため
に、本発明の同報通信方法は、同報通信データを送信す
る送信側端末と、同報通信データを受信する複数の受信
側端末とを備え、送信画側端末から1ないし複数の受信
側端末を指定して同報通信データをマルチキャストプロ
トコルで送信する同報通信方法において、前記送信側端
末から送信する同報通信データの先頭に受信側端末を指
定するパラメータを付加して送信するステップと、それ
ぞれの受信側端末において、送信側端末から受信した同
報通信データの先頭に付加されたパラメータを解析し、
当該同報通信データを受信するか廃棄するかを決定する
ステップとを備えることを特徴とする。また、前記送信
側端末の表示画面情報をウインドウ単位またはアイコン
単位で分類し、その分類結果をオブジェクトに変換し、
オブジェクト単位で受信側端末に送信するステップを備
えることを特徴とする。また、同一のセグメント上に存
在している受信側端末のプロセッサスケジューリングを
制御し、受信側端末からの送信データを一時的に停止
し、送信側端末から送信されるデータの転送レートの限
界値を一定時間に限り上昇させるステップを備えること
を特徴とする。また、送信側端末が同報通信データを送
信している間、受信側端末のコンテキストスイッチの切
り替えを禁止し、受信側端末のCPUをネットワークイ
ンタフェース中のバッファ領域を開放する処理に割り当
てるステップを備えることを特徴とする。また、受信側
端末においてネットワークインタフェースバッファ中の
受信側端末を示すパラメータの領域に直接アクセスし、
ネットワークインタフェースバッファ中の同報通信デー
タをカーネルバッファにコピーせずに、受信したパケッ
トが必要なパケットか否かを判断するステップを備える
ことを特徴とする。また、送信側端末及び受信側端末に
おけるネットワークインタフェースとアプリケーション
の中間に設けたバッファリング層においてアプリケーシ
ョンデータをバッファリングするステップを備えること
を特徴とする。また、送信側端末及び受信側端末におけ
るアプリケーションへのデータ受信通知のインターバル
を変更するステップを備えることを特徴とする。また、
送信側端末において同報通信データの他にパケットの優
先度テーブルを送信するステップと、受信側端末におい
て受信した優先度テーブルに基づき動的にサービス品質
を変更するステップを備えることを特徴とする。また、
送信側端末に対する確認応答または再送要求を自受信側
端末に近いノードの他の受信側端末に送信するステップ
を備えることを特徴とする。
【0010】本発明に係る同報通信システムは、同報通
信データを送信する送信側端末と、同報通信データを受
信する複数の受信側端末とを備え、送信画側端末から1
ないし複数の受信側端末を指定して同報通信データをマ
ルチキャストプロトコルで送信する同報通信システムに
おいて、前記送信側端末が、送信する同報通信データの
先頭に受信側端末を指定するパラメータを付加して送信
する手段を備え、それぞれの受信側端末が、送信側端末
から受信した同報通信データの先頭に付加されたパラメ
ータを解析し、当該同報通信データを受信するか廃棄す
るかを決定する手段を備えることを特徴とする。また、
前記送信側端末が、自端末の表示画面情報をウインドウ
単位またはアイコン単位で分類し、その分類結果をオブ
ジェクトに変換し、オブジェクト単位で受信側端末に送
信する手段を備えることを特徴とする。また、送信側端
末が、同一のセグメント上に存在している受信側端末の
プロセッサスケジューリングを制御し、受信側端末から
の送信データを一時的に停止し、送信側端末から送信さ
れるデータの転送レートの限界値を一定時間に限り上昇
させる手段を備えることを特徴とする。また、受信側端
末が、同報通信データを受信している間、受信側端末の
コンテキストスイッチの切り替えを禁止し、受信側端末
のCPUをネットワークインタフェース中のバッファ領
域を開放する処理に割り当てる手段を備えることを特徴
とする。また、受信側端末が、ネットワークインタフェ
ースバッファ中の受信側端末を示すパラメータの領域に
直接アクセスし、ネットワークインタフェースバッファ
中の同報通信データをカーネルバッファにコピーせず
に、受信したパケットが必要なパケットか否かを判断す
る手段を備えることを特徴とする。また、送信側端末及
び受信側端末が、ネットワークインタフェースとアプリ
ケーションの中間に設けたバッファリング層においてア
プリケーションデータをバッファリングする手段を備え
ることを特徴とする。また、送信側端末及び受信側端末
が、アプリケーションへのデータ受信通知のインターバ
ルを変更する手段を備えることを特徴とする。また、送
信側端末が同報通信データの他にパケットの優先度テー
ブルを送信する手段を備え、受信側端末が、受信した優
先度テーブルに基づき動的にサービス品質を変更する手
段を備えることを特徴とする。また、受信側端末が、送
信側端末に対する確認応答または再送要求を自受信側端
末に近いノードの他の受信側端末に送信する手段を備え
ることを特徴とする。
【0011】
【発明の実施の形態】以下、本発明の実施の形態を、図
面を用いて詳細に説明する。図1は、本発明の一実施形
態を示すシステム構成図である。この実施形態は、1つ
の先生端末と複数の生徒端末とから成る教育支援システ
ムに本発明を適用したものである。図1に示すシステム
は、同報通信を用いるため、ネットワーク101上に、
マルチキャスト対応ルータ(1)102、マルチキャス
ト対応ルータ(2)103が複数配置され、それぞれの
マルチキャスト対応ルータにつながるサブネットワーク
(1)104、サブネットワーク(2)105が存在す
る。これらのサブネットワーク(1)104には、端末
(11)104A、端末(12)104B、…、端末
(1n)104Cが、サブネットワーク2には端末(2
1)105A、端末(22)105B、…、端末(2
n)105Cが接続されている。これらの端末104A
〜105Cは、生徒端末に相当する。また、ネットワー
ク101には、先生端末に相当する端末106が接続さ
れている。
【0012】図2は、各端末104A〜105Cおよび
106の内部構成の例を示すブロック構成図である。以
下、生徒端末104A〜105Cについては1つの生徒
端末を代表して生徒端末104と言う。各生徒端末10
4、105および先生端末106は、ユーザ管理プログ
ラム11A、画面共有プログラム11Bからなる教育シ
ステムプログラム11とを備え、さらに、アプリケーシ
ョンインタフェース12、同報通信拡張プログラム13
A、タスク管理プログラム13B、キャッシュバッファ
13C、共有バッファ13D、端末CPU13Eからな
るオペレーティングシステムカーネル13と、ネットワ
ークインタフェースバッファ14A、ネットワークイン
タフェースCPU14B、ネットワークインタフェース
14Cからなるネットワークインタフェースカード14
とを備えている。
【0013】本発明の目的は前述の通りであるが、具体
的には次の通りになる。 (1)1つのグループへのデータ転送で、データを受信
する端末を選択できるようにする。 (2)リアルタイムアプリケーションの転送データ量を
削減する。 (3)OSのコンテキストスイッチ時間を軽減する。 (4)デバイスドライバ内バッファからアプリケーショ
ン領域へのデータコピー時間を軽減する。 (5)通信プロトコル処理のオーバヘッドを回避する。 (6)輻輳ウインドウ制御などでフローアルゴリズムで
利用されている、直感的な使用帯域見積を訂正し、厳密
に帯域の見積を実現する。 (7)端末内でアプリケーションへの転送レートを制御
し、シームレスな画面表示を提供する。 (8)データ受信の応答確認のパケットがグループ全体
に送信されるのを回避する。
【0014】そこで、本実施形態のシステムでは、先生
端末106が複数の生徒端末104、105を選択して
個別指導を実行する機能を実現するために、先生端末1
06が生徒端末104、105のグループに送信した送
信データがどの生徒端末104、105に必要かどうか
の判断を生徒端末側で判断する。なお、複数の生徒端末
からなる1つの生徒端末グループに同じデータを送信す
る場合は、生徒端末グループに一意なIDを割り当て、
データの先頭にパラメータとして挿入すると、対象とな
る生徒端末グループではパラメータを参照して自分宛の
データであることを判断できる。また、対象外の生徒端
末では、自分宛のデータではないことを判断できるた
め、パケットを廃棄する。
【0015】ユーザ管理プログラム11Aでは、生徒端
末104、105がユーザ管理テーブル(図3で後述)
を利用して、送信されたデータが必要なデータか必要で
ないデータかの判断を行うことができるように、グルー
プに参加している生徒端末104、105を把握し、ユ
ーザ管理テーブル(図3)の作成、生徒端末へユーザ管
理テーブルを送信する機能を保持する。先生端末106
上で稼動する画面共有プログラム11Bは、先生端末1
06の画面を生徒端末104とで共有するために、一定
の間隔で画面データを取得し、生徒端末104に送信す
る機能が設けられている。また、生徒端末104上で稼
動する画面共有プログラム11Bでは、先生端末106
から送信された画面データを表示させる機能が設けられ
ている。
【0016】また本システムでは、1回の画面データの
データ転送量を削減するため、画面共有プログラム11
Bは、画面データをウインドウ単位に切り分け、画面情
報を保持したオブジェクトに変換してデータを転送する
機能が設けられている。各オブジェクトはウインドウテ
ーブル(図5で後述)上で管理され、状態や座標に変更
がある度に、ウインドウテーブルが書き換えられる。同
報通信拡張プログラム13Aは、先生端末106と生徒
端末104間のデータ転送の性能、信頼性、柔軟性向上
を目的として、データ転送のプロトコルレベルでの制御
を実現する。グループ内の生徒端末104を一意に特定
するMember IDを保持し、Member IDを利用してネットワ
ークインタフェースバッファ14Aにデータがある状態
で、必要なデータか必要でないデータかを判断すること
で、バッファコピーのオーバヘッドを回避する。
【0017】高レートデータ転送時には、タスク管理プ
ログラム13Bにコンテキストスイッチの禁止を要求
し、ネットワークインタフェースバッファ14Aの処理
だけを実行する。データを受信した生徒端末104は近
隣ノードの端末だけにACK(応答確認)を送信し、グル
ープ全体にACKが送信されることによる冗長なトラフ
ィックの増大を回避する。データの再送要求に関しても
同様に、データを正しく受信した生徒端末104の情報
を共有することで、グループ全体にデータ再送要求を送
信するのではなく、一番近いノードに対して再送を要求
する。タスク管理プログラム13Bは、高レートデータ
転送時にネットワークインタフェースバッファが溢れて
パケットロスが発生するのを回避するために、OSのコ
ンテキストスイッチの切替を制御する機能を備えてい
る。
【0018】図3(a)は、先生端末106内のユーザ
管理プログラム11Aが作成するユーザ管理テーブル3
00の構成を示した図である。ユーザ管理テーブル30
0は、Member項目301、Member ID項目302、Dista
nce項目303、Node ID項目304、Max Node項目30
5を保持するようになっている。生徒端末104が新規
にグループに参加した場合、先生端末106に対し「He
lloパケット」を送信する。先生端末106は生徒端末
104からの「Helloパケット」を受信すると、その端
末のアドレス(socket名)をMember項目301に格納し、
また生徒端末104に一意なMember IDを割り当て、そ
の割り当てたMemberIDをMember ID項目302に格納す
る。さらに、先生端末106と生徒端末104との間の
ネットワーク距離をDistance項目303に格納し、また
生徒端末104が存在するNodeごとに一意に割り振った
IDをNode ID項目304に、また同一Nodeに存在する端
末数をMax Node項目305に格納する。これらの項目3
01〜305から成るレコードは生徒端末104が新規
に参加するたびに追加される。なお、Member ID項目3
02の上位8bitはマルチキャストグループ中のサブグル
ープを表し、上位8bitは生徒端末の識別子が格納され
る。Member ID項目302の上位8bitの各bitは1つのサ
ブグループに対応しており、1つのマルチキャストアド
レスに最大8つのサブグループを定義できる。先生端末
106におけるユーザ管理テーブル300が更新された
場合、更新後の内容は全グループのメンバ宛て(生徒端
末)に送信される。
【0019】図3(b)は、本実施形態でデータの転送
に用いるパケットフォーマットの一例を示す図である。
同報通信時に転送するパケットは、Protocol Header3
11、Member ID312、Transfer Info313、Data3
14から構成される。Protocol Header311には、マ
ルチキャストプロトコルのヘッダ(UDPヘッダ)、Member
ID312にはパケットを受信すべき端末を識別するため
のMember ID302、Transfer Info313には高レート
データ転送やデータ転送時の信頼性を向上するための制
御情報、Data314には実データが格納される。Transf
er Info313は、High Rate Flag315、Transfer Ra
te316、Total Data317、Sequence Number318
から構成される。High Rate Flag315、は高レートデ
ータ転送開始のフラグ、Transfer Rate316は高レー
トデータ転送時のデータ転送レート、Total Data317
は高レートデータ転送が終了するまでに転送されるデー
タ量、Sequence Number318は転送データの順序情報
が格納される。
【0020】図4は、同報通信拡張プログラム13A内
に存在するネットワークインタフェースバッファ14A
の開放ルーチン222の構成を示す図である。同報通信
拡張プログラム13Aは、内部にバッファ開放ルーチン
222を保持している。バッファ開放ルーチン222に
端末CPU13Eが割り当てられると、ネットワークイ
ンタフェースバッファ(受信用)14ARに格納されたデ
ータを参照し、各パケットのMember IDフィールド31
2(パラメータ)を参照し、自端末のMember ID値とビ
ット積を計算し、“0”以外であった場合はデータを共
有バッファ13Dにコピーする。すなわち、自端末宛の
データであればデータを共有バッファ13Dにコピーす
る。ビット積が“0”の場合はネットワークインタフェ
ースバッファ(受信用)14ARの領域を開放する。図
4の例では、網掛け部分のMember ID=2のデータのみが
コピーされ、他は廃棄されることを示している。
【0021】このように、同報通信データの先頭バイト
をデータ受信メンバを示すパラメータとし、データを受
信した生徒端末104がパラメータを解析し、当該受信
データを受信バッファに取り込むか、廃棄するかを決定
する仕組みを設けたことにより、前記パラメータに基づ
き、1つのマルチキャストグループを複数のサブグルー
プに分類することが可能になり、グループ数の増加によ
るパケット数の増大を回避し、サブグループの動的な変
更を容易にすることが可能になる。
【0022】図5(a)は、画面共有プログラム11B
が表示画面をウインドウ単位に切り分ける場合に、切り
分ける対象となるデスクトップ領域を示した図である。
表示画面を共有する端末上のデスクトップ領域511に
は、複数のアイコン512、513と複数のウインドウ
514,515が存在している。画面共有プログラム1
1Bは、1つ1つのアイコンやウインドウを単位とし
て、オブジェクトを作成する。個々のオブジェクトには
画面表示データや座標データが格納されている。図5
(b)は画面共有プログラム11Bが作成するウインド
ウテーブルの構成を示した図である。ウインドウテーブ
ル520には、Window項目521、WindowID項目52
2、x項目523、y項目524、sx項目525、sy項目
526、Depth項目527、Handle項目528を保持す
るようになっている。
【0023】デスクトップ領域511から切り分けられ
たウインドウ(アイコン)名をWindow項目521に格納
し、また個々のウインドウオブジェクトを一意に識別す
るための識別子をWindow ID項目522に格納し、さら
にウインドウの左上のx座標をx項目523、ウインド
ウの左上のy座標をy項目524、ウインドウの右下の
x座標をsx項目525、ウインドウの右下のy座標をsy
項目526、ウインドウが重なりが存在する場合の階層
の深さをDepth項目527、各オブジェクトが格納され
ているメモリ領域のハンドルをHandle項目528にそれ
ぞれ格納する。画面共有プログラム11Bはウインドウ
作成、ウインドウ削除、ウインドウアクティブ、ウイン
ドウ再描画などのユーザイベントを捕捉しており、イベ
ントが発生するたびにウインドウテーブル520の該当
するレコードを更新し、オブジェクトの更新、オブジェ
クト転送を実行する。
【0024】このように、先生端末106の表示画面情
報をウインドウ単位またはアイコン単位で分類し、その
分類結果をオブジェクトに変換し、オブジェクト単位で
生徒端末104に送信することにより、先生端末106
と生徒端末104とで画面情報を共有している時に画面
情報全体を転送する必要がなくなり、変更があったオブ
ジェクトデータだけを転送するだけで画面共有を実現す
ることができる。また、1回の転送データ量を削減する
ことが可能になる。
【0025】図6は、高レートデータ受信時に同報通信
拡張プログラム13Aがコンテキストスイッチを禁止す
る時の仕組を示す図である。同報通信拡張プログラム1
3Aは、内部にデータ処理ルーチン402とバッファコ
ピールーチン403を保持している。タスク管理プログ
ラム13Bは、内部にタイマー割込みルーチン405を
保持している。同報通信拡張プログラム13Aのデータ
処理ルーチン402に端末CPU13Eが割り当てられ
ると、データ処理ルーチン402は共有バッファ(受信
用)14ARに格納されているデータのTransfer Infoフ
ィールドを参照する。TransferInfoフィールドのHigh R
ate Flag(図3(b)の315)が“0”でない場合、
高レートデータ転送の開始を意味するので、タスク管理
プログラム13Bに高レートデータ転送開始を通知す
る。
【0026】タスク管理プログラム13Bは通知を受信
すると、速やかにバッファコピールーチン403にCP
U割り当てを行い、割込み時間を設定する。割込み時間
はデータ処理ルーチン402が指定した時間が予約値よ
りも小さい場合、指定時間を設定するが、データ処理ル
ーチン402が指定した時間が予約値よりも大きい場
合、予約値を設定する。この制御により、バッファコピ
ールーチン403が長時間にわたって端末CPU13E
を占有することから回避できる。バッファコピールーチ
ン403は端末CPU13Eが割り当てられると、割込
みが発生するまでネットワークインタフェースバッファ
(受信用)14ARの受信データを処理し、共有バッフ
ァ(受信用)13DRにコピーする。タスク管理プログ
ラム13Bのタイマー割込みルーチン405は、割込み
時間に達したならば、バッファコピールーチン403に
割込みを行う。
【0027】このように、先生端末106が同報通信デ
ータを送信している間、生徒端末104のコンテキスト
スイッチの切り替えを禁止し、生徒端末104のCPU
をネットワークインタフェース中のバッファ領域を開放
する処理に割り当てることにより、ネットワークインタ
フェース中のバッファが溢れてパケットロスが発生する
ことを回避するが可能になる。
【0028】図7は、高レートデータ送信時に同報通信
拡張プログラム13Aの動作の仕組を示す図である。同
報通信拡張プログラム13Aは、データ送信ルーチン4
12を保持している。同報通信拡張プログラム13Aの
データ送信ルーチン412に端末CPU13Eが割り当
てられると、共有バッファ(送信用)13DTに格納され
ているデータ量が予約値以上かどうか判断し、予約値よ
りも大きい場合、高レートデータ転送開始パケットを作
成し、ネットワークインタフェースバッファ14ATに
転送し、このネットワークインタフェースバッファ14
ATを通じた送信を実行する。以後、データ転送レート
を高レートデータ転送開始パケットで設定した転送間隔
を保持するためのSleep時間を守り、データ転送を持続
する。
【0029】このように、先生端末は生徒端末104、
105のプロセッサスケジューリングを制御するため、
生徒端末104、105へ制御通知パケットを送信する
方法等を利用して生徒端末104からの送信データを一
時的に停止し、先生端末106から送信されるデータの
転送レートの限界値を一定時間に限り上昇させることに
より、単位時間でのデータ転送量を保証しつつシステム
の効率を向上し、データのコリジョンの発生を抑制する
ことが可能になる。
【0030】図8(a)は、同報通信拡張プログラム1
3Aが画面共有プログラム11Bにデータ受信通知を実
行するときの動作の仕組を示す図である。画面共有プロ
グラム11Bは、同報通信拡張プログラム13Aが保持
するデータ受信通知ルーチン531からのデータ受信通
知を待っている。同報通信拡張プログラム13Aのデー
タ受信通知ルーチン531に端末CPU13Eが割り当
てられると、データ受信通知ルーチン531は、共有バ
ッファ(受信用)13DRに格納されているデータの実
データ領域の先頭番地を指すポインタPのリストを作成
する。画面共有プログラム11Bへのデータ受信通知間
隔は、あらかじめバッファの総データ量dの関数fを定義
しておき、T=f(d)の間隔でデータ受信通知を実行する。
この制御により、共有バッファ13DR内のデータが少
ない場合は、長い間隔でデータが処理され、共有バッフ
ァ13DR内のデータが多い場合は、短い間隔でデータ
が処理される。
【0031】したがって、共有バッファ13DRが溢れ
難くなる。また、端末内のデータ転送レートの動的制御
が可能となり、ネットワークのスループットに依存しな
い伝送品質をアプリケーションに提供することが可能に
なる。
【0032】図8(b)は、同報通信拡張プログラム1
3Aが画面共有プログラム11Bからデータ送信通知を
実行するときの動作の仕組を示す図である。画面共有プ
ログラム11Bは、同報通信拡張プログラム13Aが保
持するデータ送信通知ルーチン532に送信データを与
えるために、共有バッファ(送信用)13DT内に領域を
確保し、データを格納する。画面共有プログラム11B
は格納したデータのポインタPを同報通信拡張プログラ
ム13Aのデータ送信通知ルーチン532に通知する。
データ送信通知ルーチン532は与えられたポインタP
を利用して送信対象のデータにアクセスし、そのデータ
を転送する単位に分割して、それぞれのブロックの先頭
番地を示すポインタリストを作成する。
【0033】図9(a)は、同報通信拡張プログラム1
3Aが作成するパケット優先度テーブル600の構成を
示す図である。パケット優先度テーブル600は、Sequ
enceNumber項目601、Packet Priority項目602を
保持するようになっている。データを送信する端末(主
に、先生端末)は、共有バッファ13D中のデータに一
意なSequence Numberを割り当て、転送するパケットを
区別できる手段を提供する。Packet Priority602
は、本実施形態では3段階のプライオリティを設定し、
パケットを受信した端末のパケットの扱い方を規定して
いる。
【0034】Packet Priority=1の場合、全ての端末
はデータを受信できなかった場合、再送要求などによっ
てデータを必ず取得しなければならない。また、受信デ
ータをキャッシュバッファ13Cに保持しなければなら
ない。これに相当するのは、共有する画面データが大き
く変動した場合などが考えられる。Packet Priority=
2の場合、同一ノードの1台の端末だけが受信データを
キャッシュ保存する。データの受信に失敗した端末はノ
ード内にある他の端末のキャッシュバッファ13Cから
データを取得できればよい。Packet Priority=3の場
合、データの受信に失敗した場合、データの再送要求を
実行しなくてもよい。また、受信データをキャッシュし
なくてもよい。これに相当するのは、共有する画面デー
タがほとんど変動していない場合など、データを廃棄し
ても表示には影響が少ない場合が考えられる。
【0035】図9(b)はパケット優先度テーブル60
0を利用して、受信データをキャッシュ保存する様子を
示す図である。ノード611には端末(11)104
A、端末(12)104B、端末(13)104Cが存
在している。端末(11)104Aにはキャッシュバッ
ファ13C1、端末(12)104Bにはキャッシュバ
ッファ13C2、端末(13)104Cにはキャッシュ
バッファ13C3がある。図示の例では、Sequence Num
ber n、Packet Priority iのパケットPi(n)を5回送信
した場合にキャッシュバッファ13C1〜13C3に格
納されるデータを表している。図ではパケットP1(1)は
全ての端末にキャッシュ保存されているが、P2(2)、P
2(3)、P2(4)は各端末に分散されており、P3(5)はどの端
末にもキャッシュされていない。Packet Priority=2
のパケットを端末ごとに振り分ける処理として本実施形
態では、同報通信拡張プログラム13A内でMod([Seque
nce Number]/[Max Node]) = Node IDの端末がデータを
キャッシュ保存するというアルゴリズムを採用してい
る。
【0036】このように、同報通信データの他にパケッ
トの優先度テーブルを送信し、受信側において受信した
優先度テーブルに基づき動的にサービス品質を変更する
ことにより、同一ノード中に存在する各端末が異なる優
先度テーブルを受信することで、同一ノード中の端末で
はキャッシュされるデータが端末ごとに異なることにな
り、キャッシュ使用メモリ領域が削減されるとともに、
あるパケットの再送を受付ける端末がノード内に1台だ
けであり、ノード内の他の端末はパケット再送受付てい
る端末からパケットを取得すればよく、データ再送要求
によるトラフィックの増加を防ぐことができる。
【0037】図10(a)は同報通信時のACK(応答確
認)を各端末が送信するときの様子を示す図である。図
示の例では、同報通信するデータを送信するノードとし
てノード1(701)、同報通信するデータの受信に成功
したノードとしてノード2(702)、ノード3(70
3)、ノード5(705)、同報通信するデータの受信に
失敗したノードとしてノード4(704)、ノード6(7
06)の構成を仮定している。図中の(1)はTTL=
2でACKを同報通信で転送することを示し、(2)は
ノード4から見てホップ数1のノードがデータを受信し
たことを隣接ノードに同報通信で転送することを示し、
(3)はホップ数2を指定してデータ再送要求を出す
(ノード2が再送要求に応答する)ことを示している。
【0038】ノード1から送出するACKパケットはTTL
=2である。つまり、ACKパケットは2つのノード中を
送信できるが、3つ目のノードに転送されることはな
く、ルータ等で自動的に廃棄される。つまり、ACKが
2つのノードをまたいで転送されることはない。ノード
4(704)ではデータの受信に失敗しているが、ノー
ド2(702)からACKを受信しているので、ノード
6(706)にはノード2(702)に受信データの再
送要求を出せばデータが得られることを通知する。通知
を受信したノード6(706)は、ノード2(702)
にデータの再送要求を送信すればよく、データを送信し
たノード1(701)からデータを取得する必要がなく
なる。また、ACKをグループ全体に送信する方法と比べ
トラフィック量も削減できる。
【0039】図10(b)は同報通信拡張プログラム1
3Aが作成する受信データテーブルを示す図である。受
信データテーブル700は、Sequence Number項目71
1、Hop項目712を保持するようになっている。デー
タを区別するためのSequence Numberとデータをキャッ
シュ保存しているノードとの距離を表すHopがある。デ
ータを受信した端末で、そのデータをキャッシュ保存す
る端末は隣接ノードにACKを送信する。ACKを受信
した隣接ノードの端末は、受信データテーブル700の
該当するレコードのHop712を“1”に設定する。ま
た、自端末がデータを受信できた場合、該当するレコー
ドのHopを“0”に設定する。受信データをキャッシュ
しているノードまでの距離の通知を受信した場合、Hop
712に距離値を設定する(但し、変更するHop値が既に
格納されているHop値より大きい場合、変更は実行しな
い)。
【0040】このような制御により、Hop項目712に
はデータ再送要求を送信すべき最も近いノードの距離が
格納されるので、データ受信タイムアウトでデータ再送
要求を出さなければならない場合も、効率的にデータを
取得することができる。また、レコードを更新した場合
だけ、近隣ノードに距離の通知を実行することで、無駄
なトラフィックを回避できる。また、データを送信する
先生端末が遠隔地にある場合のACK(確認応答)やデ
ータの再送要求を送信時に、端末は遠隔地にある先生端
末にパケットを送信するのではなく、最も近いノードに
ある端末にACKやデータ再送要求を送信するようなT
TL値を設定することで、ネットワークの冗長なトラフ
ィックを削減するとともに、データを受信することがで
きた端末が代理でデータ再送要求に対してデータを再送
することが可能となり、このようなデータを再送するこ
とができる近隣ノード端末を効率的に発見することがで
きる。
【0041】図11(a)は、生徒端末104、105が
新規にグループに参加した場合の先生端末106上で稼
動するユーザ管理プログラム11Aの処理を示すフロー
チャートである。生徒端末104、105は起動時にユ
ーザ管理プログラム11Aが実行されマルチキャストグ
ループに参加する処理を実行する(ステップ1101)。
グループに参加後、Hello Packetをマルチキャストグル
ープに送信する(ステップ1102)。先生端末106上
で稼動するユーザ管理プログラム11Aは、生徒端末1
04からのHello Packetを受信すると、生徒端末10
4、105に一意なMember IDを割り当て、図3のユー
ザ管理テーブル200に新規メンバの情報を追加する
(ステップ1103)。先生端末106上ではユーザ管理
テーブル200が更新されたのを契機に、先生端末10
6上のユーザ管理プログラム11Aがマルチキャストグ
ループに対して、ユーザ管理テーブル200の情報を転
送する(ステップ1104)。以降、ステップ1101か
ら繰り返す。
【0042】図11(b)は生徒端末104が新規にグ
ループに参加した場合の生徒端末104上で稼動するユ
ーザ管理プログラム11Aの処理を示すフローチャート
である。生徒端末104上で稼動するユーザ管理プログ
ラム11Aは、先生端末106からユーザ管理テーブル
200の情報が受信されるのを待ち(ステップ111
1)、先生端末106からグループに転送されたユーザ
管理テーブル200の情報を受信する(ステップ111
2)。ユーザ管理プログラム11Aは、受信したユーザ
管理テーブル情報からMember項目301が自分の端末と
同一であるレコードを検索し、そのMember ID項目30
2の値を検索する(ステップ1113)。そして、検索し
たMember ID項目302の値を、自端末を一意に表すID
値として、同報通信拡張プログラム13Aに通知する
(ステップ1114)。以降、ステップ1111から繰り
返す。
【0043】図12(a)は画面共有プログラム11B
が同報通信拡張プログラム13Aからデータを受信した
ことを通知されるときの処理を示すフローチャートであ
る。画面共有プログラム11Bは、同報通信拡張プログ
ラム13Aからデータ受信通知を待ち(ステップ120
1)、データ受信通知を受信する(ステップ1202)
と、通知として受け取ったデータのポインタを利用し
て、共有画面の描画処理(スクリーンバッファにデータ
をコピーして再描画処理)を実行する(ステップ120
3)。データを利用し終えた後で、共有バッファ13D
中のポインタで示される領域を開放する(ステップ12
04)。以降、ステップ1201から繰り返す。
【0044】図12(b)は画面共有プログラム11B
がスクリーン上のアクティブなウインドウを利用してウ
インドウオブジェクトを更新するときの処理を示すフロ
ーチャートである。画面共有プログラム11Bは、オペ
レーティングシステムからアクティブなウインドウのハ
ンドル(識別子)を取得する(ステップ1211)と、そ
のウインドウハンドルを利用してウインドウオブジェク
トが内部に保持するイメージデータを切り出す(ステッ
プ1212)。そして、アクティブウインドウの座標、
デスクトップ上での階層を検出し、図5のウインドウテ
ーブル520の該当する項目を更新する(ステップ12
13)。その後、所定時間Sleepによって処理を停止し
(ステップ1214)、ステップ1211から繰り返す。
【0045】図13(a)は画面共有プログラム11Bが
デスクトップ領域511から新規ウインドウに対するオ
ブジェクトを作成したり、削除されたウインドウに対す
るオブジェクトを削除し、ウインドウテーブル520を
更新するときの処理を示すフローチャートである。画面
共有プログラム11Bはユーザイベントを捕捉しており
(ステップ1321)、捕捉したイベントの中にウインド
ウ作成イベントやウインドウ削除イベントを発見した場
合(ステップ1322)、オペレーティングシステムが保
持しているウインドウリストとウインドウテーブル52
0が同一かどうか調べ(ステップ1323)、同一の場
合、ステップ1321から繰り返す。しかし、同一でな
い場合、どのウインドウが追加されたのか削除されたか
をオペレーティングシステムのウインドウリストとウイ
ンドウテーブル520との比較から検出し(ステップ1
324)、ウインドウが追加された場合、その追加ウイ
ンドウから座標やイメージデータを切り出し、オブジェ
クトを作成の後、ウインドウテーブル520に新規レコ
ードを追加する(ステップ1325)。ウインドウが削除
された場合、該当するオブジェクトを削除し、ウインド
ウテーブル520から該当するレコードを削除する(ス
テップ1326)。以降、ステップ1321から繰り返
す。
【0046】図13(b)は画面共有プログラム11Bが
表示画面のデータをグループ内の他の端末と共有するた
めに同報通信拡張プログラム13Aにデータを受け渡す
場合の処理を示すフローチャートである。画面共有プロ
グラム11Bは共有バッファ13D中に領域を確保し
(ステップ1331)、確保した共有バッファ13Dの領
域に共有画面データ(オブジェクト、ウインドウテーブ
ル)を格納する(ステップ1332)。そして、格納デー
タの先頭ポインタを同報通信拡張プログラム13Aに通
知し(ステップ1333)、所定時間Sleepによって処理
を停止し(ステップ1334)、以降ステップ1331か
ら繰り返す。
【0047】図14(a)は同報通信拡張プログラム1
3Aがユーザ管理プログラム11Aから自端末に割り当
てられた一意なMember IDを通知されたときの処理を示
すフローチャートである。同報通信拡張プログラム13
Aはユーザ管理プログラム11AからMember IDの通知
を待ち(ステップ1401)、Member IDの通知を受信す
る(ステップ1402)と、内部にMember IDを格納して
保持する(ステップ1403)。以降、ステップ1401
から繰り返す。
【0048】図14(b)は同報通信拡張プログラム1
3A内のデータ処理ルーチン(図6の402)が高レー
トデータ転送開始を検出するときの処理を示すフローチ
ャートである。同報通信拡張プログラム13Aのデータ
処理ルーチン402は、端末CPUが割り当てられるの
を待ち(ステップ1401)、端末CPUが割り当てられ
る(ステップ1402)と、共有バッファ13Dの受信バ
ッファ13DR中に未処理データがあるかどうか調べる
(ステップ1413)。バッファ中に未処理データがない
場合はステップ1401から繰り返す。バッファ中に未
処理データがある場合、バッファ中の未処理データの先
頭を調べ、Transfer Info項目のHigh Rate Flagの値を
取得する(ステップ1014)。High Rate Flag の値が
“0”かどうかを調べ(ステップ1415)、“0”の場
合、高レートデータ転送が開始されていることを示して
いるで、タスク管理プログラム13Bに、バッファコピ
ールーチン(図6の403)に端末CPU13Eを割り
当て、指定時間割込み禁止するように要求する(ステッ
プ1416)。ステップ1416まで進んだならば、以
降、ステップ1411から繰り返す。ステップ1415
で、High Rate Flagが“0”でなかった場合、1つのデ
ータの処理が終了したので、ステップ1413から繰り
返す。
【0049】図15は、同報通信拡張プログラム13A
のバッファコピールーチン403(図6)がデータ受信
のACK(応答確認)を送信する場合の処理を示すフロー
チャートである。同報通信拡張プログラム13Aのバッ
ファコピールーチン403は、端末CPU13Eが割り
当てられるのを待ち(ステップ1521)、端末CPU1
3Eを割り当てられる(ステップ1522)と、ネットワ
ークインタフェースバッファ14A内の受信データを共
有バッファ13Dにコピーし(ステップ1523)、受信
応答確認を近隣ノードにだけ転送するため、TTL=2で
ACKを送信する(ステップ1524)。以降、ステップ
1521から繰り返す。
【0050】図16は、同報通信拡張プログラム13A
のデータ送信ルーチン412(図7)が高レートデータ
転送するのか一般的な転送レートでデータ転送するか判
断するときの処理を示すフローチャートである。同報通
信拡張プログラム13Aのデータ送信ルーチン412
は、端末CPU13Eが割り当てられるのを待ち(ステ
ップ1631)、端末CPU13Eが割り当てられる(ス
テップ1632)と、共有バッファ13Dの送信バッフ
ァ13DT中に未処理データがあるかどうか調べる(ス
テップ1633)。送信バッファ13DT中に未処理デ
ータがない場合はステップ1631から繰り返す。しか
し、送信バッファ13DT中に未処理データがある場合
は、この送信バッファ13DT中の未処理データの総バ
イト数があらかじめ決めてある値を超えているかどうか
調べる(ステップ1634)。送信バッファ13DT中の
データの総バイト数が一定値以上でない場合、未処理デ
ータをネットワークインタフェースバッファ14Aにコ
ピーし、そのデータを転送する(ステップ1635)。こ
の後、一般データ転送レートとして、あらかじめ決めら
れている転送レートを保証するためのSleepを実施し(ス
テップ1636)、ステップ1633から繰り返す。ス
テップ1634において送信バッファ13DT中の未処
理データの総バイト数が一定値以上の場合、高レートデ
ータ転送開始通知パケットを作成し、グループに送信す
る(ステップ1637)。この後、引き続き未処理データ
を、総バイト数が一定値を超えなくなるまで、対象とな
るデータを高レートで、連続して、ネットワークインタ
フェースバッファ14Aにコピーする(ステップ163
8)。以降、ステップ1631から繰り返す。
【0051】図17は、同報通信拡張プログラム13A
のデータ受信通知ルーチン531(図8)が、画面共有
プログラム11Bにデータの受信を通知するときの処理
を示すフローチャートである。同報通信拡張プログラム
13Aのデータ受信通知ルーチン531は、端末CPU
13Eが割り当てられるのを待ち(ステップ1741)、
端末CPU13Eが割り当てられる(ステップ1742)
と、共有バッファ13D中の受信データのTransfer Inf
oを取り除いた実データ領域の先頭番地を示すポインタ
Pを各受信データごとに取得し、ポインタリストを作成
する(ステップ1743)。次に、受信バッファ中の総バ
イト数(Total)に関連した関数T=f(Total)によってデー
タ受信通知間隔Tを動的に決定する(ステップ174
4)。次に、ポインタリストに未処理データがあるかど
うか調べ(ステップ1745)、未処理データがない場
合、ステップ1741から繰り返す。しかし、未処理デ
ータがある場合、画面共有プログラム11Bにデータ受
信通知として、データのポインタPを転送し(ステップ
1746)、画面共有プログラム11Bがデータにアク
セスすることを可能にする。この後、受信通知間隔T時
間のSleep(ステップ1747)の後、ステップ1744
から繰り返す。
【0052】図18(a)は、同報通信拡張プログラム1
3Aが画面共有プログラム11Bから送信データのポイ
ンタを通知されたときの処理を示すフローチャートであ
る。同報通信拡張プログラム13Aは、画面共有プログ
ラム11Bから送信対象データのポインタ受信を待ち
(ステップ1851)、送信対象データのポインタPを受
信する(ステップ1852)と、受信したデータのポイン
タPで示される共有バッファ領域にアクセスし、送信対
象データを送信単位に分割し、個々の送信対象データに
Transfer Infoヘッダを付加する(ステップ1853)。
以降、ステップ1851から繰り返す。
【0053】図18(b)は同報通信拡張プログラム13
Aがパケット優先度テーブル600(図9)の情報を受
信した場合の処理を示すフローチャートである。同報通
信拡張プログラム13Aは、パケット優先度テーブル6
00(Packet Priorityテーブル)の受信を待ち(ステッ
プ1861)、Packet Priorityテーブル600の情報を
受信する(ステップ1862)と、Packet Priorityテー
ブル600の検索を開始する。そして、Packet Priorit
yテーブル600に未処理データがあるかどうか調べ(ス
テップ1863)、未処理データがない場合、ステップ
1861から繰り返す。しかし、未処理データがある場
合は、Packet Priorityテーブル600のSequence Numb
er項目601の値を調べ、図6で説明した方法などによ
りキャッシュすべきデータかどうか判断する(ステップ
1864)。キャッシュすべきデータではない場合、ス
テップ1863から繰り返す。キャッシュすべきデータ
の場合、共有バッファ13D中の該当するデータをキャ
ッシュバッファ13Cにコピーして(ステップ186
5)、ステップ1863から繰り返す。
【0054】図19は、同報通信拡張プログラム13A
が隣接ノードから送信される応答確認の処理方法を示し
たフローチャートである。同報通信拡張プログラム13
Aは、隣接ノードからの応答確認の受信を待ち(ステッ
プ1971)、応答確認を受信する(ステップ1972)
と、受信パケットの解析を実行する。最初に受信パケッ
トがACKかどうか調べ(ステップ1973)、受信デー
タテーブル700(図10)の該当するレコードのHop
項目712の値を近隣ノードと自端末のHop数(Distanc
e)に変更する(ステップ1974)。近隣ノードには、変
更したHop項目712の値を通知して(ステップ197
5)、ステップ1971から繰り返す。ステップ197
3において、受信パケットがACKではなく、Hop値の
通知パケットである場合、受信データテーブル700中
の該当レコードのHop項目712の値を比較する。すな
わち、通知を送信した端末と自端末間のHop数と受信し
た値の和を取った値と該当レコード中のHop値の大きさ
を比較し、小さい値を受信データテーブル700の該当
するレコードのHop値として更新する(ステップ197
6)。Hop数が変更された場合に限り、隣接ノードに更新
されたHop値を通知する(ステップ1977)。以降、ス
テップ1971から繰り返す。
【0055】図20(a)は、同報通信拡張プログラム1
3Aがデータの再送要求を送信する場合の処理を示すフ
ローチャートである。同報通信拡張プログラム13A
は、データ受信タイムアウトしているデータを検出する
(ステップ2001)と、受信データテーブル700から
タイムアウトしているデータに該当するレコードを検索
し、Hop項目712の値を求める(ステップ2002)。
そして、求めたHop値をTTL値に指定してデータの再
送要求をグループに送信する(ステップ2003)。以
降、ステップ2001から繰り返す。図20(b)は、
タスク管理プログラム13Bが高レートデータ転送時の
割込みを制御するときの処理を示すフローチャートであ
る。タスク管理プログラム13Bは、同報通信拡張プロ
グラム13Aから指定時間割込み禁止要求を受信する
(ステップ2011)と、指定された時間はあらかじめ設
定された値より小さい値かどうかを調べ(ステップ20
12)、小さい値の場合、指定された時間割込みなし
で、同報通信拡張プログラム13Aのバッファコピール
ーチン403(図6)に端末CPU13Eを割り当てる
(ステップ2013)。以降、ステップ2011から繰り
返す。ステップ2012で指定時間は上限値より大きい
値の場合、あらかじめ設定されている上限時間だけ割り
込みなしで、同報通信拡張プログラム13Aのバッファ
コピールーチン403に端末CPU13Eを割り当てる
(ステップ2014)。以降、ステップ2011から繰り
返す。
【0056】以上のように、本実施形態のシステムにお
いては、 (1)同報通信データの先頭バイトをデータ受信メンバ
を示すパラメータとし、データを受信した生徒端末10
4、105がパラメータを解析し、当該受信データを受
信バッファに取り込むか、廃棄するかを決定する仕組み
を設けたことにより、前記パラメータに基づき、1つの
マルチキャストグループを複数のサブグループに分類す
ることが可能になり、グループ数の増加によるパケット
数の増大を回避し、サブグループの動的な変更を容易に
することが可能になる。 (2)先生端末106の表示画面情報をウインドウ単位
またはアイコン単位で分類し、その分類結果をオブジェ
クトに変換し、オブジェクト単位で生徒端末104、1
05に送信することにより、先生端末106と生徒端末
104、105とで画面情報を共有している時に画面情
報全体を転送する必要がなくなり、変更があったオブジ
ェクトデータだけを転送するだけで画面共有を実現する
ことができる。また、1回の転送データ量を削減するこ
とが可能になる。 (3)先生端末106が同報通信データを送信している
間、生徒端末104、105のコンテキストスイッチの
切替を禁止し、生徒端末104、105のCPUをネッ
トワークインタフェース中のバッファ領域を開放する処
理に割り当てることにより、ネットワークインタフェー
ス中のバッファが溢れてパケットロスが発生することを
回避するが可能になる。 (4)先生端末は生徒端末104、105のプロセッサ
スケジューリングを制御するため、生徒端末104、1
05へ制御通知パケットを送信する方法等を利用して生
徒端末104、105のプロセッサスケジューリングを
制御し、生徒端末104、105からの送信データを一
時的に停止し、先生端末106から送信されるデータの
転送レートの限界値を一定時間に限り上昇させることに
より、単位時間でのデータ転送量を保証しつつシステム
の効率を向上し、データのコリジョンの発生を抑制する
ことが可能になる。 (5)ネットワークインタフェースバッファ中の生徒端
末を示すパラメータの領域に直接アクセスし、ネットワ
ークインタフェースバッファ中の同報通信データをカー
ネルバッファにコピーせずに、受信したパケットが必要
なパケットか否かを判断することにより、ネットワーク
インタフェース中のバッファとカーネルバッファ間のバ
ッファコピーのオーバヘッドを回避することができる。 (6)ネットワークインタフェースとアプリケーション
の中間に設けたバッファリング層においてアプリケーシ
ョンデータをバッファリングすることにより、アプリケ
ーションデータをネットワークインタフェースとアプリ
ケーションと共有することで、カーネルバッファからア
プリケーションバッファへのデータコピーのオーバヘッ
ドを回避することができる。 (7)アプリケーションへのデータ受信通知のインター
バルを変更することにより、端末内のデータ転送レート
の動的制御が可能となり、ネットワークのスループット
に依存しない伝送品質をアプリケーションに提供するこ
とができる。 (8)優先度テーブルに基づき動的にサービス品質を変
更することにより、同一ノード中に存在する各端末が異
なる優先度テーブルを受信することで、同一ノード中の
端末ではキャッシュされるデータが端末ごとに異なるこ
とになり、キャッシュ使用メモリ領域が削減されるとと
もに、あるパケットの再送を受付ける端末がノード内に
1台だけであり、ノード内の他の端末はパケット再送を
受付ている端末からパケットを取得すればよく、データ
再送要求によるトラフィックの増加を防ぐことができ
る。 (9)先生端末に対する確認応答または再送要求を自端
末に近いノードの他の生徒端末に送信することにより、
データを送信する先生端末の端末が遠隔地にある場合の
ACK(確認応答)やデータの再送要求を送信時に、生
徒端末は遠隔地にある先生端末にパケットを送信するの
ではなく、最も近いノードにある生徒端末にACKやデ
ータ再送要求を送信するようなTTL値を設定すること
で、ネットワークの冗長なトラフィックを削減するとと
もに、データを受信することができた生徒端末が代理で
データ再送要求に対してデータを再送することが可能と
なり、このようなデータを再送することができる近隣ノ
ード端末を効率的に発見することができる。 なお、本発明は上記実施形態に限定されるものではな
く、1対多の同報通信を行う各種のシステムに適用する
ことができるものであり、その適用に際しては適用シス
テムに応じて細部を変更して実施することがある。
【0057】
【発明の効果】以上説明したように、本発明によれば、 (1)コネクション数を増やさずに、グループ内の限定
されたメンバにだけ選択的にデータ転送するなどの柔軟
な同報通信を実現できる。 (2)データ転送レートを向上させた場合に発生するパ
ケットロスの増大を抑制し、同報通信データのスループ
ットを向上させることができる。 (3)データ転送フロー制御を端末内で実行することに
より、リアルタイムアプリケーション実行時の品質の向
上を図り、ネットワークの状態に依存しないシームレス
な描画表示を行うことができる。 (4)同報通信のTTLの設定を動的に変更すること
で、隣接ノードの端末に応答確認を転送する方法を採用
し、ネットワークのトラフィック削減することができる
などの効果がある。
【図面の簡単な説明】
【図1】本発明に係わる教育システム向け同報通信シス
テムのネットワーク構成図である。
【図2】本発明に係わる教育システム向け同報通信シス
テムの端末内アーキテクチャを示す図である。
【図3】本発明に係わる教育システム向け同報通信シス
テムのユーザ管理プログラムが作成するユーザ管理テー
ブルと、パケットフォーマットを示す図である。
【図4】本発明に係わる教育システム向け同報通信シス
テムのネットワークインタフェースバッファの開放ルー
チンを示す図である。
【図5】本発明に係わる教育システム向け同報通信シス
テムのデスクトップ領域およびウインドウテーブルを示
す図である。
【図6】本発明に係わる教育システム向け同報通信シス
テムの高レートデータ転送開始の検出方法を示す図であ
る。
【図7】本発明に係わる教育システム向け同報通信シス
テムのデータ送信方法を示す図である。
【図8】本発明に係わる教育システム向け同報通信シス
テムのアプリケーションへのデータ受信通知方法および
アプリケーションからのデータ受信方法を示す図であ
る。
【図9】本発明に係わる教育システム向け同報通信シス
テムのパケット優先度テーブルおよび受信データキャッ
シュ方法を示す図である。
【図10】本発明に係わる教育システム向け同報通信シ
ステムの応答確認送信方法および受信データテーブルを
示す図である。
【図11】本発明に係わる教育システム向け同報通信シ
ステムの生徒端末が新規にグループに参加した場合の先
生端末上で稼動するユーザ管理プログラムの処理および
生徒端末が新規にグループに参加した場合の生徒端末上
で稼動するユーザ管理プログラムの処理を示すフローチ
ャートである。
【図12】本発明に係わる教育システム向け同報通信シ
ステムの画面共有プログラム11Bが同報通信拡張プロ
グラムからデータを受信したことを通知されるときの処
理画面共有プログラム11Bがウインドウオブジェクト
を更新するときの処理を示すフローチャートである。
【図13】本発明に係わる教育システム向け同報通信シ
ステムの画面共有プログラム11Bがウインドウテーブ
ルを更新するときの処理および画面共有プログラム11
Bが画面のデータを同報通信拡張プログラムにデータを
受け渡す場合の処理を示すフローチャートである。
【図14】本発明に係わる教育システム向け同報通信シ
ステムの同報通信拡張プログラム13Aが一意なMember
IDを通知されたときの処理および高レートデータ転送
開始を検出するときの処理を示すフローチャートであ
る。
【図15】本発明に係わる教育システム向け同報通信シ
ステムの同報通信拡張プログラム13Aがデータ受信の
応答確認を送信する場合の処理を示すフローチャートで
ある。
【図16】本発明に係わる教育システム向け同報通信シ
ステムの同報通信拡張プログラム13Aがデータ転送レ
ートを決定するときの処理を示すフローチャートであ
る。
【図17】本発明に係わる教育システム向け同報通信シ
ステムの同報通信拡張プログラム13Aが画面共有プロ
グラムにデータの受信を通知するときの処理を示すフロ
ーチャートである。
【図18】本発明に係わる教育システム向け同報通信シ
ステムの同報通信拡張プログラム13Aが画面共有プロ
グラムから送信データのポインタを通知されたときの処
理およびPacket Priorityテーブルを受信した場合の処
理を示すフローチャートである。
【図19】本発明に係わる教育システム向け同報通信シ
ステムの同報通信拡張プログラム13Aが隣接ノードか
ら送信される応答確認の処理方法を示したフローチャー
トである。
【図20】本発明に係わる教育システム向け同報通信シ
ステムの同報通信拡張プログラム13Aがデータの再送
要求を送信する場合の処理およびタスク管理プログラム
が高レートデータ転送時の割込みを制御するときの処理
を示すフローチャートである。
【符号の説明】
11…端末、11A…ユーザ管理プログラム、11B…
画面共有プログラム、12…アプリケーションインタフ
ェース、13…オペレーティングシステムカーネル、1
3A…同報通信拡張プログラム、13B…タスク管理プ
ログラム、13C…キャッシュバッファ、13D…共有
バッファ、13E…端末CPU、14…ネットワークイ
ンタフェースカード、14A…ネットワークインタフェ
ースバッファ、14B…ネットワークインタフェースC
PU、14C…ネットワークインタフェース、101…
ネットワーク、102…マルチキャスト対応ルータ
(1)、103…マルチキャスト対応ルータ(2)、1
04…サブネットワーク(1)、105…サブネットワ
ーク(2)、104A〜104C,105A〜105C
…端末(11)〜端末1n、端末(21)〜端末(2
n)、200…ユーザ管理テーブル、512,513…
アイコン、514,515…ウインドウ、520…ウイ
ンドウテーブル、600…パケット優先度テーブル、7
00…受信データテーブル。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 藤岡 秀樹 神奈川県横浜市中区尾上町6丁目81番地 日立ソフトウエアエンジニアリング株式会 社内 Fターム(参考) 5B069 AA01 AA02 CA13 LA03 LA07 5B089 GA21 GB01 HB18 5K030 GA03 GA04 GA13 HA08 HD03 JT03 KA08 LA02 LA03 LD06 5K034 AA01 AA06 BB07 DD02 EE11 FF01 FF14 GG05 HH01 HH02 HH06 HH11 HH21 MM03 MM08 MM21

Claims (18)

    【特許請求の範囲】
  1. 【請求項1】 同報通信データを送信する送信側端末
    と、同報通信データを受信する複数の受信側端末とを備
    え、送信画側端末から1ないし複数の受信側端末を指定
    して同報通信データをマルチキャストプロトコルで送信
    する同報通信方法であって、 前記送信側端末から送信する同報通信データの先頭に受
    信側端末を指定するパラメータを付加して送信するステ
    ップと、 それぞれの受信側端末において、送信側端末から受信し
    た同報通信データの先頭に付加されたパラメータを解析
    し、当該同報通信データを受信するか廃棄するかを決定
    するステップとを備えることで、1つの同報通信グルー
    プを複数のサブグループにグループ化することを特徴と
    する同報通信方法。
  2. 【請求項2】 前記送信側端末の表示画面情報をウイン
    ドウ単位またはアイコン単位で分類し、その分類結果を
    オブジェクトに変換し、オブジェクト単位で受信側端末
    に送信するステップを備えることを特徴とする請求項1
    に記載の同報通信方法。
  3. 【請求項3】 同一のセグメント上に存在している受信
    側端末のプロセッサスケジューリングを制御し、受信側
    端末からの送信データを一時的に停止し、送信側端末か
    ら送信されるデータの転送レートの限界値を一定時間に
    限り上昇させるステップを備えることを特徴とする請求
    項1または2に記載の同報通信方法。
  4. 【請求項4】 送信側端末が同報通信データを送信して
    いる間、受信側端末のコンテキストスイッチの切り替え
    を禁止し、受信側端末のCPUをネットワークインタフ
    ェース中のバッファ領域を開放する処理に割り当てるス
    テップを備えることを特徴とする請求項1〜3のいずれ
    か一項に記載の同報通信方法。
  5. 【請求項5】 受信側端末においてネットワークインタ
    フェースバッファ中の受信側端末を示すパラメータの領
    域に直接アクセスし、ネットワークインタフェースバッ
    ファ中の同報通信データをカーネルバッファにコピーせ
    ずに、受信したパケットが必要なパケットか否かを判断
    するステップを備えることを特徴とする請求項1〜4の
    いずれか一項に記載の同報通信方法。
  6. 【請求項6】 送信側端末及び受信側端末におけるネッ
    トワークインタフェースとアプリケーションの中間に設
    けたバッファリング層においてアプリケーションデータ
    をバッファリングするステップを備えることを特徴とす
    る請求項1〜5のいずれか一項に記載の同報通信方法。
  7. 【請求項7】 送信側端末及び受信側端末におけるアプ
    リケーションへのデータ受信通知のインターバルを変更
    するステップを備えることを特徴とする請求項1〜6の
    いずれか一項に記載の同報通信方法。
  8. 【請求項8】 送信側端末において同報通信データの他
    にパケットの優先度テーブルを送信するステップと、受
    信側端末において受信した優先度テーブルに基づき動的
    にサービス品質を変更するステップを備えることを特徴
    とする請求項1〜7のいずれか一項に記載の同報通信方
    法。
  9. 【請求項9】 送信側端末に対する確認応答または再送
    要求を自受信側端末に近いノードの他の受信側端末に送
    信するステップを備えることを特徴とする請求項1〜8
    のいずれか一項に記載の同報通信方法。
  10. 【請求項10】 同報通信データを送信する送信側端末
    と、同報通信データを受信する複数の受信側端末とを備
    え、送信画側端末から1ないし複数の受信側端末を指定
    して同報通信データをマルチキャストプロトコルで送信
    する同報通信システムであって、 前記送信側端末が、送信する同報通信データの先頭に受
    信側端末を指定するパラメータを付加して送信する手段
    を備え、 それぞれの受信側端末が、送信側端末から受信した同報
    通信データの先頭に付加されたパラメータを解析し、当
    該同報通信データを受信するか廃棄するかを決定する手
    段を備えることを特徴とする同報通信システム。
  11. 【請求項11】 前記送信側端末が、自端末の表示画面
    情報をウインドウ単位またはアイコン単位で分類し、そ
    の分類結果をオブジェクトに変換し、オブジェクト単位
    で受信側端末に送信する手段を備えることを特徴とする
    請求項10に記載の同報通信システム。
  12. 【請求項12】 送信側端末が、同一のセグメント上に
    存在している受信側端末のプロセッサスケジューリング
    を制御し、受信側端末からの送信データを一時的に停止
    し、送信側端末から送信されるデータの転送レートの限
    界値を一定時間に限り上昇させる手段を備えることを特
    徴とする請求項10または11に記載の同報通信システ
    ム。
  13. 【請求項13】 受信側端末が、同報通信データを受信
    している間、受信側端末のコンテキストスイッチの切り
    替えを禁止し、受信側端末のCPUをネットワークイン
    タフェース中のバッファ領域を開放する処理に割り当て
    る手段を備えることを特徴とする請求項10〜12のい
    ずれか一項に記載の同報通信システム。
  14. 【請求項14】 受信側端末が、ネットワークインタフ
    ェースバッファ中の受信側端末を示すパラメータの領域
    に直接アクセスし、ネットワークインタフェースバッフ
    ァ中の同報通信データをカーネルバッファにコピーせず
    に、受信したパケットが必要なパケットか否かを判断す
    る手段を備えることを特徴とする請求項10〜13のい
    ずれか一項に記載の同報通信システム。
  15. 【請求項15】 送信側端末及び受信側端末が、ネット
    ワークインタフェースとアプリケーションの中間に設け
    たバッファリング層においてアプリケーションデータを
    バッファリングする手段を備えることを特徴とする請求
    項10〜14のいずれか一項に記載の同報通信システ
    ム。
  16. 【請求項16】 送信側端末及び受信側端末が、アプリ
    ケーションへのデータ受信通知のインターバルを変更す
    る手段を備えることを特徴とする請求項10〜15のい
    ずれか一項に記載の同報通信システム。
  17. 【請求項17】 送信側端末が同報通信データの他にパ
    ケットの優先度テーブルを送信する手段を備え、 受信側端末が、受信した優先度テーブルに基づき動的に
    サービス品質を変更する手段を備えることを特徴とする
    請求項10〜16のいずれか一項に記載の同報通信シス
    テム。
  18. 【請求項18】 受信側端末が、送信側端末に対する確
    認応答または再送要求を自受信側端末に近いノードの他
    の受信側端末に送信する手段を備えることを特徴とする
    請求項10〜17のいずれか一項に記載の同報通信シス
    テム。
JP2001141512A 2001-05-11 2001-05-11 同報通信方法およびシステム Pending JP2002335283A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001141512A JP2002335283A (ja) 2001-05-11 2001-05-11 同報通信方法およびシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001141512A JP2002335283A (ja) 2001-05-11 2001-05-11 同報通信方法およびシステム

Publications (1)

Publication Number Publication Date
JP2002335283A true JP2002335283A (ja) 2002-11-22

Family

ID=18987959

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001141512A Pending JP2002335283A (ja) 2001-05-11 2001-05-11 同報通信方法およびシステム

Country Status (1)

Country Link
JP (1) JP2002335283A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004328731A (ja) * 2003-04-22 2004-11-18 Microsoft Corp マルチパーティアプリケーションレイヤセッションに関するメンバシップ情報の配信
JP2017220131A (ja) * 2016-06-09 2017-12-14 キヤノンマーケティングジャパン株式会社 情報処理システム、情報処理装置、その制御方法及びプログラム
JP2018186465A (ja) * 2017-04-27 2018-11-22 日本電気株式会社 データ受信装置、システム、方法およびプログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004328731A (ja) * 2003-04-22 2004-11-18 Microsoft Corp マルチパーティアプリケーションレイヤセッションに関するメンバシップ情報の配信
JP4494852B2 (ja) * 2003-04-22 2010-06-30 マイクロソフト コーポレーション マルチパーティアプリケーションレイヤセッションに関するメンバシップ情報の配信
JP2017220131A (ja) * 2016-06-09 2017-12-14 キヤノンマーケティングジャパン株式会社 情報処理システム、情報処理装置、その制御方法及びプログラム
JP2018186465A (ja) * 2017-04-27 2018-11-22 日本電気株式会社 データ受信装置、システム、方法およびプログラム
JP7027697B2 (ja) 2017-04-27 2022-03-02 日本電気株式会社 データ受信装置、システム、方法およびプログラム

Similar Documents

Publication Publication Date Title
KR0150275B1 (ko) 멀티캐스트 통신의 폭주 제어방법
US6981032B2 (en) Enhanced multicast-based web server
US9131004B2 (en) Method and apparatus for network address resolution
EP1714446A1 (en) Reliable message distribution with enhanced emfc for ad hoc mesh networks
JP2001177523A (ja) マルチキャスト通信方法
US20050074010A1 (en) Method and apparatus for exchanging routing information in distributed router system
US20040267960A1 (en) Force master capability during multicast transfers
JP2002335283A (ja) 同報通信方法およびシステム
Cisco Novell IPX Commands
Cisco Novell IPX Commands
Cisco Novell IPX Commands
Cisco Novell IPX Commands
Cisco Novell IPX Commands
Cisco Novell IPX Commands
Cisco Novell IPX Commands
Cisco Novell IPX Commands
Cisco Novell IPX commands
Cisco Novell IPX commands
Cisco Novell IPX Commands
Cisco Novell IPX Commands
Cisco Novell IPX Commands
Cisco Novell IPX Commands
Cisco Novell IPX Commands
Cisco Novell IPX Commands
Cisco Novell IPX Commands