JP3839967B2 - 同報通信方法および通信装置 - Google Patents

同報通信方法および通信装置 Download PDF

Info

Publication number
JP3839967B2
JP3839967B2 JP21752198A JP21752198A JP3839967B2 JP 3839967 B2 JP3839967 B2 JP 3839967B2 JP 21752198 A JP21752198 A JP 21752198A JP 21752198 A JP21752198 A JP 21752198A JP 3839967 B2 JP3839967 B2 JP 3839967B2
Authority
JP
Japan
Prior art keywords
sequence number
packet
terminal
broadcast data
broadcast
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.)
Expired - Fee Related
Application number
JP21752198A
Other languages
English (en)
Other versions
JP2000049778A (ja
Inventor
史子 田仲
信哉 村井
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP21752198A priority Critical patent/JP3839967B2/ja
Priority to US09/357,281 priority patent/US6539000B1/en
Publication of JP2000049778A publication Critical patent/JP2000049778A/ja
Priority to US10/270,645 priority patent/US6775279B2/en
Priority to US10/914,245 priority patent/US7369552B2/en
Application granted granted Critical
Publication of JP3839967B2 publication Critical patent/JP3839967B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、例えば、会議通信システムにおける同報パケットの受信順序の制御方法およびそれを用いた通信装置に関する。
【0002】
【従来の技術】
ネットワークによって相互に接続された複数の情報通信端末間でデータ交換を行う際、アプリケーション、または、交換されるデータの性質によっては、データの到着順序を上記複数の情報通信端末間で一貫性を保つように保証する必要がある場合がある。それを次の例で示す。
【0003】
図1に示すように情報通信端末A〜Cでグループを構成し、全ての端末は同じ内容のファイルを共有し、共同編集するようなアプリケーション(例えば、会議通信)を考える。各端末には、等しくデータに対するアクセス権があり、データ内容の維持は、各端末がそれぞれのデータの複製を保持し、変更があれば、それを各端末が認識し、到着順にデータを更新することによって行うとする。
【0004】
上記のようなファイル上で、x=0 という初期データが与えられている状態で、A、Bがほぼ同時に、これらのデータの変更を行うとする。今、端末Aが、x=1 を送信し、それとほぼ同時刻に、端末Bが、x=2 と書き込む。
【0005】
順序制御を行わず、単純にデータの到着順序に処理を行うと、端末Aでは、後から到着する x=2 が有効になり、一方、端末Bでは、x=1 となり、端末Cでは上のどちらかになる。すなわち、何も順序制御を行わないと、3つの端末間で結果が異なり、一貫性を維持できない。
【0006】
そのため、データの更新順序をグループ内で一致させるように、これまでもいくつかの方法が提案されている。
【0007】
1)各端末間で時刻を同期させ、データパケットに送信時刻を付与して送信、受信側で時刻の古い順に並べ替えることによって制御する方法。
【0008】
2)グループ内でトークンを発行したりロック制御機構を設け、同時刻に1台のみがデータの変更を行えるような排他制御を設ける方法。
【0009】
3)各端末は、データを一旦サーバ端末に送信し、サーバ端末で受信したデータ順に順序制御を行った後、各端末に向けてデータを再び送信する方法。
【0010】
4)各端末は、送信時に、まず、サーバ端末に送信データの番号発行要求を出し、サーバの発行した番号に従って、各端末は受信データを並べ替える方法。
【0011】
1)の方法では、端末間で同期を取る方法が困難であり、また、たとえ正確に同期がとれたとしても、全く同時刻に送信されたデータの扱いや、通信路の状況により、受信順序が時刻と大きく異なることが予想されるため、それらを回避するための複雑な処理が別途必要となる、といった問題がある。
【0012】
2)の方法では、データが一元的に管理される一方、ユーザに対し、他のユーザがデータへ書き込みを行っている間は操作ができないという制限を設けなければならない。アプリケーションによっては、不十分な場合がある。
【0013】
3)の方法では、簡便にデータの順序制御をすることができるが、データの通信量が、順序制御を行わない場合に比べ2倍になる。データの大きさが小さい時には問題にはならないが、サイズが大きくなると、ネットワークのトラフィック、また、サーバに対する負荷が高くなる、といった問題がある。また、サイズの大きなデータの送信時には、サーバに到着するまでに時間がかかるため、違う端末からの小さなデータの送信と順序が逆転する可能性がある、といった問題もある。さらに、番号発行のために番号発行端末経由でデータを送信する場合、一般に用いられるようにパケットヘッダに宛先を付与しただけでは、受信端末側ではすべて番号発行端末から届いたデータのように見える可能性がある、といった問題もある。
【0014】
4)の方法では、サーバに負荷をかけずに、簡便にデータの順序制御をおこなうことができる効率的な方法である。しかしながら、この方法は、送信をおこなうための番号授受のために、サーバとの通信路を往復した後にデータを送信するため、データのサイズが通信路で規定されたデータグラムの大きさよりも小さい時には、3)の場合に比べ効率が落ちる、といった場合がある。画像データのような大きなデータを送受信するアプリケーションには有効であるが、チャットのような短いデータを数多く送受信するようなアプリケーションには、不向きである。また、この方法では、実際のデータが届く前に、前もって順序番号だけを発行するので、端末の1つが送信中に何らかの障害を起こした時、または、送信を中断してアプリケーションを終了した時に、順序番号は発行されているが、データは届かず、以後、通信が続けられなくなる可能性がある、といった問題もある。
【0015】
【発明が解決しようとする課題】
以上説明したように、従来、同報グループ通信において、端末間で交換される同報データの受信順序を一意に保つような同報通信方法では、いずれも、送信するデータの種類(具体的には、データのサイズ)を考慮していなかったため、ユーザへの制限を加えたり、通常の通信コストの増大を招くといった問題があった。
【0016】
また、一般に用いられるように送信パケットに対しヘッダに所望の宛先を付与しただけでは、受信端末側で正しい送信元を認識できない場合がある、といった問題もあった。
【0017】
さらに、同報グループの中の端末が障害を起こした時、以後、同報グループ全体で通信が続けられなくなる、といった問題もあった。
【0018】
そこで、本発明は、以上の問題点に鑑み、同報データの受信順序維持に要するデータ送受信量を削減しながら効率よく同報通信が行える同報通信方法および通信装置を提供することを目的とする。
【0019】
【課題を解決するための手段】
(1) 本発明の同報通信方法は、ネットワークを介して接続された複数の情報端末装置間でのパケットによる同報通信方法において、
前記複数の情報端末装置は、同報データを送信する際に、該同報データを前記複数の情報端末装置で受信する順序を同一に保つための受信順序番号を決定する情報端末装置に対し該受信順序番号の発行を要求し、その際送出されるパケットに該同報データを含ませるか否かを該同報データのサイズに基づき判断し、
同報データを含まないパケットにて受信順序番号の発行を要求したとき、該要求に応じて通知された受信順序番号を前記同報データに付加して前記複数の情報端末装置に同報し、
前記受信順序番号を決定する情報端末装置は、前記受信順序番号の発行を要求するためのパケットを受信して、該パケットに同報データが含まれているときは、該パケットに該同報データに対し発行した受信順序番号を書き込んで前記複数の情報端末装置に同報することを特徴とする。
【0020】
本発明によれば、同報データのサイズに応じて受信順序番号の発行手順を切り替えることができるので、同報データの受信順序維持に要するデータ送受信量を軽減しながら効率よく同報通信が行える。
【0021】
(2) また、前記複数の情報端末装置は、同報データを受信する際、予め通知された特定の同報データの受信順序番号は無視し、他の同報データは前記受信順序番号の順に受信することにより、例えば、同報グループを構成する情報端末装置のうちの1つに障害が検知されたときでも、当該障害の発生した情報端末装置以外の情報端末装置間でスムーズに同報パケットの受信順序を修正することができ、従って、通信を中断することなく、動的なネットワークの環境変化にも柔軟に対応できる。
【0022】
(3) 本発明の通信装置(順序番号発行端末以外の端末、クライアント端末)は、ネットワークに接続された複数の情報端末装置間で同報データをパケットにて送受信する際に、該同報データを前記複数の情報端末装置で受信する順序を同一に保つための受信順序番号を決定する情報端末装置に対し、該受信順序番号の発行を要求する要求手段と、
この要求手段で受信順序番号の発行を要求する際に送出されるパケットに該同報データを含ませるか否かを該同報データのサイズに基づき判断する判断手段と、
前記要求手段で、同報データを含まないパケットにて受信順序番号の発行を要求したとき、該要求に応じて通知された受信順序番号を前記同報データに付加して前記複数の情報端末装置に同報する同報手段と、
を具備したことを特徴とする。
【0023】
本発明によれば、同報データのサイズに応じて受信順序番号の発行手順を切り替えることができるので、同報データの受信順序維持に要するデータ送受信量を軽減しながら効率よく同報通信が行える。
【0024】
(4) また、本発明の通信装置(順序番号発行端末、サーバ端末)は、ネットワークに接続された複数の情報端末装置間で同報データをパケットにて送受信する通信装置において、
前記複数の情報端末装置のいずれかから送信された、同報データを前記複数の情報端末装置で受信する順序を同一に保つための受信順序番号の発行を要求するためのパケットを受信したとき、受信順序番号を発行する発行手段と、
前記受信されたパケットに同報データが含まれているとき、該パケットに前記発行手段で発行された受信順序番号を書き込んで前記複数の情報端末装置に同報する同報手段と、
前記受信されたパケットに同報データが含まれていないとき、前記発行手段で発行された受信順序番号を前記受信順序番号の発行要求元の情報端末装置に通知する通知手段と、
を具備したことを特徴とする。
【0025】
本発明によれば、同報データのサイズに応じて受信順序番号の発行手順を切り替えることができるので、同報データの受信順序維持に要するデータ送受信量を軽減しながら効率よく同報通信が行える。
【0026】
(5)また、同報データを受信する際、予め通知された特定の同報データの受信順序番号は無視し、他の同報データは前記受信順序番号の順に受信することにより、例えば、同報グループを構成する情報端末装置のうちの1つに障害が検知されたときでも、当該障害の発生した情報端末装置以外の情報端末装置間でスムーズに同報パケットの受信順序を修正することができ、従って、通信を中断することなく、動的なネットワークの環境変化にも柔軟に対応できる。
【0027】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して説明する。
【0028】
(第1の実施形態)
以下、本発明の第1の実施形態について図2〜図9を参照して説明する。
【0029】
例えば、図1に示すような同報グループのネットワーク構成する情報端末装置1の構成を図2に示す。
【0030】
情報端末装置(以下、簡単に端末と呼ぶ)1は、大きく分けて、例えば会議通信等の情報処理を実行するアプリケーション500とデータ配送部100から構成される。データ配送部100は、アプリケーション500または順序管理部110からの送信要求を受け、ネットワークへパケットを送信する送信部130、同報データに対してグループ内で順序の一貫性を保つための管理を行う順序管理部110、ネットワークからパケットを受信し、アプリケーション500または順序管理部110へ届ける受信部120から構成される。
【0031】
本実施形態に係る情報端末装置1は、例えば、タッチパネル、マイクロフォン、マウス、キーボード等の入力手段、スピーカ、ディスプレイ(表示装置)等の出力手段、フロッピーディスク装置、ハードディスク装置等の大容量記憶装置、主メモリ、及びCPU等を備えたパーソナルコンピュータ(計算機)を用いて実現される。
【0032】
特に、図2のアプリケーション500、データ配送部100の持つ機能は、その機能を上記のパーソナルコンピュータにより実行させるためのプログラムを記録した記憶媒体、例えばフロッピーディスクを用い、当該記録媒体を上記パーソナルコンピュータ中のフロッピーディスク装置に装着して、当該フロッピーディスクに記録されているプログラムを上記パーソナルコンピュータ(中のCPU)で読み取り実行させることにより実現される。
【0033】
次に、データ配送部100の構成について説明する。データ配送部100は、送信部130と順序管理部110と受信部120とから構成され、さらに、送信部130は、送信要求受理部131と送信データ構成部132とから構成され、順序管理部110は、順序管理方法識別部111と第1の順序番号管理部112と第2の順序管理部113と順序番号管理テーブル115と送信データ格納リスト114とから構成され、受信部120は、受信データ制御部121と受信データ格納リスト122と受信データ分解部123とから構成されている。
【0034】
送信部130の送信要求受理部131は、アプリケーション500からの同報データ送信の要求を受けて、当該同報データの送信のための順序管理を順序管理部110(の順序管理方法識別部111)へ要求したり、順序管理部110の順序管理方法識別部111からのパケットの送信要求を受けて、当該パケットを送信データ構成部132へ渡す。
【0035】
送信データ構成部132は、接続しているネットワークにパケットを送出するためのインタフェースを司るもので、例えば、ネットワークに送出するパケットを当該ネットワークに適した形式に変換したり、当該パケットを転送するための所定のプロトコル処理を実行するようになっている。
【0036】
順序管理部110の順序管理方法識別部111は、送信要求受理部131からの順序管理要求を受けて、これから送信すべき同報データのサイズ(長さ)に基づき、第1の順序番号発行手順と第2の順序番号発行手順のいすれか一方を選択する。そして、その結果に応じて第1の順序番号管理部112および第2の順序番号管理部113のいずれか一方に処理を切り替える。
【0037】
第1の順序番号管理部112は、自端末から発信される同報データに対しては、自端末が順序番号発行端末であるときは、順序番号管理テーブル115を参照して順序番号を発行し、その発行した順序番号を図6に示したようなフォーマットの順序番号フィールド4に書き込む。また、自端末が順序番号発行端末でないときは、図7に示したようなフォーマットの順序番号発行要求パケットを作成する。自端末が順序番号発行端末で、他端末から図7に示したような順序番号発行要求パケットを受信したときは、順序番号管理テーブル115を参照して順序番号を発行し、その発行した順序番号を順序番号フィールド4に書き込む。
【0038】
第2の順序番号管理部113は、自端末から発信される同報データに対しては、自端末が順序番号発行端末であるときは、順序番号管理テーブル115を参照して順序番号を発行し、その発行した順序番号を図6に示したようなフォーマットの順序番号フィールド4に書き込む。自端末が順序番号発行端末でないときは、自端末から発信する同報データを一時的に送信データ格納リスト114へ保存し、順序番号発行端末宛に図7に示すようなフォーマットの順序番号発行要求パケットを作成する。一方、順序番号発行端末から順序番号を通知するための図7に示したようなフォーマットのパケットを受信したときは、送信データ格納リスト114から対応する同報データを取り出して、それをペイロードに書込み、さらに順序番号フィールド4に当該順序番号を書込んで、図6に示したようなフォーマットのパケットを作成する。
【0039】
送信データ格納リスト114には、自端末から発信される同報データに対し第2の順序番号発行手順が選択された場合、自端末が順序番号発行端末でないときに順序番号が発行されるまで、当該送信すべき同報データを一時格納する。
【0040】
順序番号管理テーブル115は、新規に順序番号を発行する際に第1および第2の順序番号管理部112、113により参照され、既発行の順序番号と未発行の順序番号とを区別して、連続した順序番号が(重複することなく)随時発行できるようになっている。
【0041】
受信部120の受信データ分解部123は、ネットワークから受信したパケットの送信先フィールド2と、順序番号フィールド4とをチェックして、自端末宛のパケットのうち、順序番号発行要求パケットと順序番号を有する同報データ転送用のパケットとを識別する。当該パケットが順序番号発行要求パケットの場合、自端末が順序番号発行端末のときは順序管理方法識別部111へ順序番号の発行を要求する。当該パケットが同報データ転送用のパケットの場合、受信データ格納リスト122に当該パケットに含まれていた同報データを格納し、受信データ制御部121へ同報データの受信を通知する。
【0042】
受信データ格納リスト122には、順序番号に従って受信した同報データをアプリケーション500へ受け渡すために、同報データが一時的に格納される。
【0043】
受信データ制御部121は、最新受信済み番号124と受信データ格納リスト122に格納されている同報データの順序番号とを比較しながら、受信データ格納リスト122に格納されている同報データを、その各同報データに付された順序番号に従ってアプリケーション500へ渡すようになっている。
【0044】
順序番号とは、複数の端末のそれぞれから送信された複数の同報パケットをグループ内の端末が受信する際、グループ内の全ての端末で当該複数の同報パケットの受信順序を同一に保つために当該同報パケットに付される番号である。例えば、端末A、B、C、Dで同報グループを構成し、端末A、端末Bから、それぞれ同報パケットα、同報パケットβが(この順に、あるいは、ほぼ同時に)送信されたとする。このとき、順序番号による順序制御がなされていないとすると、同報パケットの転送経路や当該ネットワーク上のトラヒック等により、端末Cには、同報パケットα、同報パケットβの順番で受信され、端末Dには同報パケットβ、同報パケットαの順番で受信されることがある。さらに、端末Bでは、同報パケットβ、同報パケットαの順で受信されたものとみなすこともあろであろう。そこで、このような状態を避けるために、同報パケットα、同報パケットβにそれぞれ受信順序として「1」、「2」を付加して、これを基に、グループ内の全ての端末A〜Dは、必ず同報パケットα、同報パケットβの順番で受信して上位アプリケーションへ受け渡すように制御する。
【0045】
次に、グループ内の端末間における2種類の順序番号発行手順の概略について、図8、図9に示したシーケンス図を参照して説明する。
【0046】
図8は、第1の順序番号発行手順を示したものである。端末Aが端末Bに同報データ送信する場合には、例えば、図6に示したようなフォーマットのペイロード6に当該同報データを書込み、端末Aから送信する。図6に示すパケットフォーマットのヘッダ部には、送信先フィールド2、送信元フィールド3、順序番号フィールド4、ペイロード6に書き込まれる同報データのサイズを書き込むデータサイズフィールド5が設けられている。
【0047】
端末Aから発信されるパケットの送信先フィールド2には、順序番号発行端末(サーバ)の識別子が書き込まれ、送信元フィールド3には、端末Aの識別子が書き込まれ、受信番号フィールド4には、未だ受信番号が発行されていないことを示す「NULL」が書き込まれ、データサイズフィールド5には、ペイロード6に書き込まれた同報データのデータサイズが書き込まれている。
【0048】
この場合、最低2パケットで相手端末Bへデータを送ることができる。しかしながら、同報データが長くなると、ネットワークレベルでパケットを分割して送信する。例えば、イーサネットの場合、1パケットで転送できるデータの長さは1.5Kバイトである。そのため、例えば、150Kバイトの同報データを端末Aから第1の順序番号発行手順で送ると、まず、端末Aから順序番号発行端末(サーバ)に図8に示したようなフォーマットのパケットでデータを送信し、そこで、順序番号を発行してもらってから順序番号フィールド4に順序番号を書込み、相手端末Bへ送信するため、ネットワークに送出される総パケット数が端末Aからサーバへ100個、サーバから端末Bへ100個、すなわち、100個×2=200個になる。
【0049】
一方、この150Kバイトのデータを図9に示す第2の順序番号発行手順で相手端末Bに送信する場合を考える。この場合、端末Aからは、まず、図7に示したようなペイロード6を含まないフォーマットの順序番号発行要求のためのパケットが送出される。
【0050】
端末Aからサーバへ図7に示したような順序番号発行要求のためのパケットを送信し、これを受けてサーバは順序番号を発行して端末Aへ通知する。端末Aでは、この通知された順序番号を順序番号フィールド4に書込み、ペイロード6に送信すべき同報データを書き込んでから、改めて端末Bへ送信するため、順序番号発行要求のためのパケット数が「2」であるとすると、2+100個=102パケットで済む。
【0051】
従って、第2の順序番号発行手順のほうが効率の良いことは明らかである。しかしながら、同報データが1.5Kbyte以下の場合は、逆に第1の順序番号発行手順のほうが1パケット分少なくて済む。
【0052】
図1のような同報グループを構成した上での共同編集アプリケーションなどにより送受信されるデータサイズは、グラフィックのような大きなサイズのデータや、文字のような比較的小さなサイズのデータが混在して送受信されることが考えられる。
【0053】
従って、このような場合には、同報データのサイズによって動的に上記第1および第2の順序番号発行手順のいずれかに変更できる本発明のような方式が有効となるのである。
【0054】
次に、上記したような原理に基づき、端末1の処理動作について説明する。すなわち、端末1が、図1に示したようにネットワーク上に複数台集まり、各端末1が、ある同報データを送受信する場合の処理手順について図3〜図5に示すフローチャートを参照して説明する。なお、図1のグループ内の複数の端末1のうちの少なくとも1つは、予め順序番号発行端末として設定されているものとする。
【0055】
まず、パケットを送信する際の端末1の処理動作について、図3に示すフローチャートを参照して説明する。
【0056】
アプリケーション500から送信部130の送信要求受理部131へ同報データの送信が要求されると(ステップS1)、送信要求受理部131は、順序管理部110の順序管理方法識別部111へ順序管理要求を出す(ステップS2)。
【0057】
順序管理方法識別部111は、アプリケーション500から渡された、これから送信すべき同報データの長さを調べ、当該長さが予め定められた閾値以内であれば、第1の順序番号管理部112へ、閾値を越えると、第2の順序番号管理部113へ順序管理を要求する(ステップS3)。
【0058】
データ長の閾値とは、当該同報データを転送する上で、前述したような第1の順序番号発行手順および第2の順序番号発行手順をのうち、どれを用いるかを決定するためのものである。例えば、ネットワークの構成、トラヒックの状況に応じて、図6に示したようなペイロード6を有するパケットにて当該同報データに対する順序番号の発行を要求する(すなわち、第1の順序番号発行手順)方が、第2の順序番号発行手順より、より効率よくパケット転送が行えると推定できる最大のデータ長で、予め統計的に算出されたものであってもよい。
【0059】
順序番号発行要求を受けた第1の順序番号管理部112は、自端末が順序番号発行端末であるか否か調べ(ステップS4)、自端末が順序番号発行端末であれば、順序番号管理テーブル115を見て、順序番号を発行する(ステップS5)。
【0060】
そして、第1の順序番号管理部112は、図6に示したようなフォーマットのパケットを作成する。すなわち、順序番号フィールド4に当該発行された順序番号を書込み、ペイロード6に同報データを書込み、送信先にグループ内の端末の識別子あるいはグループ内に同報するパケットである旨を識別するための識別子(同報識別子)、送信元フィールド3に自端末の識別子を書込む。
【0061】
その後、当該作成されたパケットを、送信要求受理部131、送信データ構成部132を介してネットワークへ送出する(ステップS6)。
【0062】
ステップS4において、自端末が順序番号発行端末でないときは、図6に示すようなパケットフォーマットで、送信先フィールド2に順序番号発行要求端末の識別子、順序番号フィールド4を「NULL」として順序番号発行要求パケットを作成して(ステップS7、ステップS8)、順序番号発行端末宛に送信要求受理部131、送信データ構成部132を通して、当該順序番号発行要求パケットを送信する(ステップS6)。なお、ステップS7において、自端末からの順序番号発行要求以外のものは、廃棄する(ステップS9)。
【0063】
一方、ステップS3で、順序番号発行要求を受けた第2の順序番号管理部113は、自端末が順序番号発行端末であるか否か調べ(ステップS10)、自端末が順序番号発行端末であれば、順序番号管理テーブル115を見て順序番号を発行する(ステップS11)。そして、第2の順序番号管理部112は、図6に示したようなフォーマットのパケットを作成する。すなわち、順序番号フィールド4に当該発行された順序番号を書込み、ペイロード6に同報データを書込み、送信先にグループ内の端末の識別子あるいはグループ内に同報するパケットである旨を識別するための識別子(同報識別子)、送信元フィールド3に自端末の識別子を書込む。そして、当該パケットを送信要求受理部131、送信データ構成部132を介してネットワークへ送出する(ステップS6)。
【0064】
ステップS10において、第2の順序番号管理部113は、自端末が順序番号発行端末でなければ、同報データを一時的に送信データ格納リスト114へ保存し(ステップS13)、順序番号発行端末宛に図7に示すようなパケットフォーマットの順序番号発行要求パケットを作成して(ステップS14)、順序番号発行端末宛に送信要求受理部131、送信データ構成部132を通して、当該順序番号発行要求パケットをネットワークへ送出する(ステップS61)。なお、ステップS13において、自端末からの順序番号発行要求以外のものは、廃棄する(ステップS15)。
【0065】
次に、パケットを受信する際の端末1の処理動作について、図4に示すフローチャートを参照して説明する。
【0066】
端末1の受信部120の受信データ分解部123はネットワークからパケットを受け取ると(ステップS20)、受信パケットの送信先フィールド2を見て自端末宛か否か判別し(ステップS21)、自端末宛でなければ(同報識別子でなければ)、当該パケットを廃棄する(ステップS32)。
【0067】
自端末宛であれば、受信パケットの順序番号フィールド4を見て順序番号発行済か否か判別し(ステップS22)、まだ順序番号が発行されていなくて(例えば、順序番号フィールド4に順序番号が書き込まれていない、あるいは、「NULL」が書き込まれている)、かつ、自端末が順序番号発行端末であれば(ステップS24)、順序管理方法識別部111へ順序番号発行を要求する(ステップS30)。順序番号が発行されていなくて、自端末が順序番号発行端末でなければ、パケットを廃棄する(ステップS31)。
【0068】
ステップS30において、順序管理方法識別部111は、例えば、受信パケットにペイロード6を持つ場合(例えば、図6に示したようなフォーマットのパケットである場合)は第1の順序番号管理部112へ、ペイロードを持たない場合(例えば、図7に示すようなフォーマットのパケットである場合)は第2の順序番号管理部113へ順序管理を要求する。第1の順序番号管理部112および第2の順序番号管理部113は、順序番号管理テーブル115を参照して順序番号を発行し、順序番号フィールド4に当該発行した順序番号を書き込んで、図6に示すようなフォーマットのパケットの場合には、さらに、送信先フィールド2にグループ内の同報識別子を書き込み、当該パケットを送信要求受理部131、送信データ構成部132を介してネットワークへ送出する。
【0069】
ステップS22で、受信データ分解部123で受信パケットの順序番号フィールド4を見て、順序番号が発行されていて(順序番号が書き込まれていて)、さらに、受信パケットのデータサイズフィールド5とペイロード6を見て、同報データがついているかどうかをチェックし(ステップS23)、同報データがついていれば、当該同報データを受信データ格納リスト122へ格納し(ステップS28)、受信データ制御部121へ受信を通知する(ステップS29)。
【0070】
ステップS23で、当該受信パケットがペイロード6を持たない図7に示したようなパケットであった場合、順序管理部110の順序管理方法識別部111へ当該受信パケットを渡す。順序管理方法識別部111は、当該受信パケット中の順序番号を受け取り、それを第2の順序番号管理部113へ渡す。第2の順序番号管理部113では、送信データ格納リスト114から当該順序番号の付された同報データを取り出し(ステップS25)、それをペイロード6に書込み、さらに順序番号フィールド4に当該順序番号を書込み(ステップS26)、送信先フィールド2に同報識別子を書き込む等して、図6に示したようなフォーマットのパケットを作成し、当該パケットを送信要求受理部131、送信データ構成部132を介してネットワークへ送出する(ステップS27)。
【0071】
ステップS29で、受信データ制御部121へ同報データの受信が通知された後の処理動作について、図5に示すフローチャートを参照して説明する。
【0072】
受信データ制御部121へ同報データの受信が通知されると(図5のステップS41)、受信データ制御部121は受信データ格納リスト122に格納された各同報データに付された順序番号を検索し(ステップS42)、受信データ格納リスト122中の同報データの順序番号と最新受信済番号(最近アプリケーション500へ渡したデータに付されていた順序番号)124との差を比較し(ステップS43)、その差が「1」に等しいものが受信データ格納リスト122中にあれば、その受信番号の同報データを取り出す(ステップS44)。すなわち、受信データ格納リスト122から、最新受信済番号124の次の順序番号が付されている同報データを取り出す。そして、最新受信済番号124に「1」を加算して更新する(ステップS45)。ここで取り出された同報データは、アプリケーション500へ渡される(ステップS46)。
【0073】
なお、ステップS43で受信データ格納リスト122に、最新受信済番号124との差が「1」より大きい順序番号の同報データのみしかない場合は、(最新受信済番号124の次の順序番号の同報データが受信されるまで)そのまま処理を中止する(ステップS46)。また、受信データ格納リスト122に、最新受信済番号124と同じかあるいは小さい順序番号の同報データが存在している場合は、それらは既にアプリケーション500へ渡されたものなので、廃棄してもよい(ステップS48)。
【0074】
(第2の実施形態)
次に本発明の第2の実施形態について、図10〜図14を参照して説明する。本実施形態では、図1に示すようなネットワーク構成する情報端末装置1のうちの1つはサーバ端末であり、それ以外の端末をクライアント端末として予め設定されている。
【0075】
クライアント端末は、図10に示すように、大きく分けて、例えば会議通信等の情報処理を実行するアプリケーション500とデータ配送部200から構成される。データ配送部200は、アプリケーション500または順序管理部210からの送信要求を受けネットワークへパケットを送信する送信部230、同報データに対して、グループ内で順序の一貫性を保つための管理を行う順序管理部210、ネットワークからパケットを受信し、アプリケーション500または順序管理部へ届ける受信部220から構成される。
【0076】
サーバ端末のデータ配送部250は、図11に示すように、順序管理部260からの送信要求を受け、ネットワークへパケットを送信する送信部270、クライアント端末から受信した番号発行要求パケットに対して、順序番号をグループ内で順序の一貫性を保つための順序番号発行を行う順序管理部260、ネットワークからパケットを受信し、順序管理部260へ届ける受信部280から構成される。
【0077】
第1の実施形態と同様、図10、図11のアプリケーション500、データ配送部200、250の持つ機能は、その機能を前述のパーソナルコンピュータにより実行させるためのプログラムを記録した記憶媒体、例えばフロッピーディスクを用い、当該記録媒体を上記パーソナルコンピュータ中のフロッピーディスク装置に装着して、当該フロッピーディスクに記録されているプログラムを前述のパーソナルコンピュータ(中のCPU)で読み取り実行させることにより実現される。
【0078】
次に、図1に示すようなグループ内の端末間で、1つの同報データを送受信する場合の端末1の処理手順について説明する。なお、図1のグループ内の複数の端末1のうちの1つはサーバ端末で、それ以外はクライアント端末である。
【0079】
まず、パケットを送信する際のクライアント端末の処理動作について、図12に示すフローチャートを参照して説明する。
【0080】
クライアント端末のアプリケーション500から送信要求受理部231へ同報データの送信が要求されると(ステップS51)、送信要求受理部231は、順序管理方法識別部211へ順序管理要求を出す(ステップS52)。順序管理方法識別部211は、アプリケーション500から渡された、これから送信すべき同報データの長さを調べ(ステップS53)、当該長さが予め定められた閾値以内であれば、第1の順序番号管理部212へ、閾値を越えると、第2の順序番号管理部213へ順序管理を要求する。データ長の閾値は、第1の実施形態で説明したものと同様である。
【0081】
順序番号発行要求を受けた第1の順序番号管理部212は、図6に示すようなフォーマットの順序番号発行要求パケットを作成する。すなわち、送信先フィールド2にサーバ端末の識別子を、送信元フィールド3に自端末の識別子を、順序番号フィールド4に「NULL」を、ペイロード6に同報データを、データサイズフィールド5に当該同報データのサイズをそれぞれ書き込む(ステップS54)。
【0082】
その後、当該作成されたパケットは、送信要求受理部131、送信データ構成部132を介してネットワークへ送出する(ステップS55)。
【0083】
一方、ステップS53で順序番号発行要求を受けた第2の順序番号管理部214は、同報データを一時的に送信データ格納リスト213へ保存し(ステップSS56)、図7に示したようなフォーマットの順序番号発行要求パケットを作成する。すなわち、送信先フィールド2にサーバ端末の識別子を、送信元フィールド3に自端末の識別子を、順序番号フィールド4に「NULL」を、データサイズフィールド5には「NULL」をそれぞれ書き込む(ステップS57)。
【0084】
その後、当該作成されたパケットは、送信要求受理部131、送信データ構成部132を介してネットワークへ送出する(ステップS55)。
【0085】
次に、順序番号発行要求パケットを受信するサーバ端末の処理動作について、図13に示すフローチャートを参照して説明する。
【0086】
サーバ端末の受信部280は、パケットをネットワークから受け取ると(ステップS61)、当該受信パケットの順序番号フィールド4を見て、順序番号発行済か否か判別して、順序番号発行要求パケットであるか否かをチェックする(ステップS62)。順序番号フィールド4に「NULL」が書き込まれていれば、当該受信パケットは、順序番号発行要求パケットであるので、順序番号発行部261へ順序番号の発行を要求する(ステップS63)。当該受信パケットに順序番号が書き込まれているときは、サーバ端末は、該受信パケットを廃棄する(ステップS66)。
【0087】
順序番号発行要求を受けた順序番号発行部261は、順序番号管理テーブル262を見て、順序番号を発行し(ステップS63)、当該受信パケットの順序番号フィールド4に当該発行された順序番号を書き込んで(ステップS64)、送信部270を介してネットワークへ当該パケットを同報する(ステップS65)。
【0088】
次に、順序番号発行要求に応じて発行された順序番号を通知するためのパケットを受信したクライアント端末の処理動作について、図14に示すフローチャートを参照して説明する。
【0089】
クライアント端末の受信部220は、パケットをネットワークから受け取ると(ステップS71)、受信データ分解部223は、当該受信パケットの送信先フィールド2を見て、自端末宛のパケット(同報パケットも含む)以外は廃棄する(ステップS72、ステップS80)。当該受信パケットが自端末宛であるときは、さらに、順序番号フィールド4を見て順序番号発行済か否か判別し(ステップS73)、順序番号が書き込まれているものであれば、さらに、データサイズフィールド5をチェックしてペイロード6を持つパケットであるか否かを判別する(ステップS74)。
【0090】
当該受信パケットが順序番号とペイロード6とを有するときは、少なくとも順序番号とペイロード6に書き込まれている同報データとを受信データ格納リスト222に格納し(ステップS78)、受信データ制御部221へ同報データの受信を通知する(ステップS79)。受信データ制御部221へ同報データの受信が通知されると、第1の実施形態と同様にして、受信データ格納リスト222に格納された同報データが順序番号順にアプリケーションへ渡される。
【0091】
一方、当該受信パケットが順序番号のみを有するときは、当該受信パケットは、第2の順序番号発行手順に従って発せされた受信番号発行要求を受けて発行された受信番号を通知するためのパケットであるから、当該パケットを第2の順序番号管理部214へ渡し、第2の実施形態と同様にして、第2の順序番号管理部113は、送信データ格納リスト214から同報データを取り出し(ステップS75)、それをペイロード6に書込み、さらに順序番号フィールド4に当該通知された順序番号を書込み(ステップS76)、送信先フィールド2に同報識別子を書き込む等して、図6に示したようなフォーマットのパケットを作成し、当該パケットを送信要求受理部231、送信データ構成部232を介してネットワークへ送出する(ステップS77)。
【0092】
以上をグループ内の端末間で行うことにより、効率的にグループ内での順序一貫性を保った同報データの配送をおこなうことができる。
【0093】
(第3の実施形態)
次に、本発明の第3の実施形態について図15および図16を参照して説明する。第1の実施形態の端末および第2の実施形態のクライアント端末から送出される順序番号発行要求パケットは、例えば、図15に示すフォーマットのものである。
【0094】
第1の順序番号管理部および第2の順序番号管理部は、図15に示すようなデータ配送部フレーム8を作成する。すなわち、送信先フィールド2には、アプリケーション500から要求されたデータの送信先識別子、送信元フィールド3には自端末識別子、順序番号フィールド4には「NULL」を書き込む。
【0095】
第1の順序番号管理部および第2の順序番号管理部にて作成されたデータ配送部フレーム8は、下位層を通じてネットワークに送出する際、さらに、図15に示したように、下位層に通知する送信先としてマルチキャストを示す識別子と、当該パケットの送信元である自端末識別子が付加される。
【0096】
順序番号発行端末あるいはサーバが、図15に示したような順序番号発行要求を受信すると、順序番号発行端末は、順序番号を発行する。発行した順序番号は、図16に示すように、順序番号フィールド4に書込み、送信元フィールド3には順序番号発行端末あるいはサーバの識別子ではなく、順序番号発行要求元の識別子をそのまま用いる。
【0097】
本実施形態によれば、順序番号発行要求元の端末は、順序番号発行要求パケットを作成する際、順序番号発行端末の識別子を知る必要がない。また、順序番号発行のために順序番号発行端末経由で同報データを送信する場合、一般に用いられるようにパケットヘッダに宛先を付与しただけでは、受信端末側ではすべて順序番号発行端末から届いたデータのように見えるが、本実施形態によれば、図8の第1の順序番号発行手順を用いた場合でも、オーバーヘッドなしに(例えば、改めて同報データの送信元を通知するためのパケットを同報することなく)、受信端末に同報データの真の送信端末を通知することができる。
【0098】
(第4の実施形態)
次に、本発明の第4の実施例について図17〜図23を参照して説明する。ここでは、同報パケットを送信する各端末では、その端末自身でも順序番号を発行し、それをパケットに付し、同報グループ内の各端末では、順序番号の発行されているペイロード6を含まないパケットを受信した際には、それを疑似パケットとして、受信データ格納リスト122に一時格納しておくことにより、順序番号発行端末から順序番号の発行を受けた端末が、例えば、当該端末のユーザにより意識的に同報グループから脱退した、あるいは障害が発生した等の原因により、通信不能となり、当該端末から送信されるべき同報パケットを当該同報グループ内の他の端末で受信することができない(あるいは無視すべき)状態が検知された場合、同報グループ内の端末にて当該発行された順序番号をスキップするよう制御することにより、当該脱退あるいは障害の発生した端末(以下、障害端末と呼ぶ)以外の同報グループ内の端末間でスムーズに同報パケットの受信順序を修正することができ、効率のよい同報通信を実現することができる。
【0099】
なお、同報グループ内の任意の端末の同報グループからの脱退あるいは通信不能等の障害の検知方法としては、例えば、同報グループ内の各端末がそのグループ内のある任意の端末(親端末)により所定時間毎に送出される確認信号に対し、各端末(子端末)から送信される応答信号を有無をチェックする方法や、親端末が子端末から所定時間毎に送出される応答信号の有無をチェックする方法、ユーザの指示によりデータ送信を終了する端末が同報グループ内の各端末にその旨を通知するための同報パケットを送信する方法等があるが、どの検知方法を採用するかは本発明では特に限定するものではない。
【0100】
図17は、図1に示すような同報グループのネットワーク構成する情報端末装置1の構成例を示したもので、図2と同一部分には同一符号を付し、異なる部分についてのみ説明する。すなわち、図17では、障害端末検知部140、順序管理部110に自端末用順序番号発行部117、受信部120に受信準備パケット作成部126、受信待ちデータ削除部125をさらに具備している。
【0101】
パケットを送信する際の端末1の処理動作について、図18に示すフローチャートを参照して説明する。なお、第1の実施形態(図3参照)と異なるのは、端末1では、アプリケーション500からデータ送信が要求されると自端末用の順序番号を発行することである。
【0102】
アプリケーション500から送信部130の送信要求受理部131へ同報データ送信が要求されると(ステップS91)、送信要求受理部131は、自端末用順序番号発行部117へ端末別順序番号の発行要求を出す(ステップS92)。自端末用順序番号発行部117は、自端末から発信する同報データ毎に端末別順序番号を発行し(ステップS93)、その発行した端末別順序番号を順序管理方法識別部111へ渡す。
【0103】
順序管理方法識別部111は、アプリケーション500から渡された、これから送信すべき同報データの長さを調べ、当該長さが予め定められた閾値以内であれば、第1の順序番号管理部112へ、閾値を越えると、第2の順序番号管理部113へ順序管理を要求する(ステップS94)。
【0104】
データ長の閾値とは、当該同報データを転送する上で、前述したような第1の順序番号発行手順および第2の順序番号発行手順をのうち、どれを用いるかを決定するためのものである。
【0105】
以降の処理動作(ステップS96〜ステップS106)は、図3と同様である。但し、ステップS99、ステップS105で作成される順序番号発行要求パケットには、図22に示すように、送信元別順序番号フィールド12にステップS93で発行された端末別順序番号が書き込まれている。
【0106】
順序番号発行要求端末では、端末1から図22に示したような順序番号発行要求パケットを受信すると図4と同様にして順序番号を発行し、ネットワークへ送出する。
【0107】
次に、パケットを受信する端末1の処理動作について図19に示すフローチャートを参照して説明する。
【0108】
各端末1の受信部120の受信データ分解部123は、ネットワークからパケットを受け取ると(ステップS111)、受信パケットの順序番号フィールド4を見て順序番号発行済か否か判別し(ステップS112)、順序番号が発行されていれば、受信パケットのデータサイズフィールド5とペイロード6を見て、同報データがついているかどうかをチェックし(ステップS113)、データがついていれば、受信データ制御部121へ当該受信パケットを渡し、同報データの受信を通知する(ステップS114)。
【0109】
ステップS113で当該受信パケットがペイロードを持たない、順序番号を通知するためのパケットであった場合、受信準備パケット作成部126は、送信元と送信元が付けた端末別順序番号と、順序番号発行端末が付けた順序番号をもって、図23に示すような疑似受信パケットを作成する(ステップS115)。
【0110】
図23に示すように、疑似受信パケットは、送信先フィールド2、送信元フィールド3、当該受信パケットの送信元の端末にて発行された順序番号を書き込む端末別順序番号フィールド12、順序番号フィールド4、ペイロード6から構成されていて、ここでは、ペイロード6には「NULL」が書き込まれている。
【0111】
受信データ分解部123は、上記疑似受信パケットを受信データ制御部121へ渡し、同報データの受信を通知する(ステップS116)。
【0112】
さらに、当該受信パケットがペイロードを持たない、順序番号を通知するためのパケットであった場合、順序番号要求元が自端末か否か調べ(ステップS117)、自端末が順序番号要求元ならば、受信データ分解部123は、当該受信パケットを順序管理方法識別部111へ渡す。順序管理方法識別部111は、当該受信パケットに書き込まれていた順序番号を受け取ると、第2の順序番号管理部113へ渡し、送信データ格納リスト114から同報データを取り出し(ステップS118)、それをペイロード6に書込み、さらに順序番号フィールド4に当該順序番号を書込み(ステップS119)、送信先フィールド2に同報識別子を書き込む等して、例えば、図22に示したようなフォーマットのパケットを作成し、当該パケットを送信要求受理部131、送信データ構成部132を介してネットワークへ送出する(ステップS120)。
【0113】
まだ順序番号が発行されていなくて(例えば、順序番号フィールド4に順序番号が書き込まれていない、あるいは、「NULL」が書き込まれている)、かつ、自端末が順序番号発行端末で、さらに、当該受信パケットの送信元が自端末でなければ(ステップS121、ステップS122)、順序管理方法識別部111へ順序番号発行を要求する(ステップS123)。順序番号が発行されていなくて、自端末が順序番号発行端末でなければ、パケットを廃棄する(ステップS124)。また、順序番号が発行されていなくて、自端末が順序番号発行端末であっても、当該受信パケットの送信元が自端末であれば、パケットを廃棄する(ステップS125)。
【0114】
ステップS123において、順序管理方法識別部111は、例えば、受信パケットにペイロード6を持つ場合(例えば、図6に示したようなフォーマットのパケットである場合)は第1の順序番号管理部112へ、ペイロードを持たない場合(例えば、図7に示すようなフォーマットのパケットである場合)は第2の順序番号管理部113へ順序管理を要求する。第1の順序番号管理部112および第2の順序番号管理部113は、順序番号管理テーブル115を参照して順序番号を発行し、順序番号フィールド4に当該発行した順序番号を書き込んで、図6に示すようなフォーマットのパケットの場合には、さらに、送信先フィールド2にグループ内の同報パケットである旨の識別子を書き込み、当該パケットを送信要求受理部131、送信データ構成部132を介してネットワークへ送出する。
【0115】
ステップS114、ステップS116で、受信データ制御部121へ同報データの受信が通知された後の処理動作について、図20に示すフローチャートを参照して説明する。
【0116】
受信データ制御部121へ同報データの受信が通知されると(ステップS131)、受信データ制御部121は、当該受信パケットが疑似パケットか否かを判断し(ステップS132)、疑似パケットならば、該パケットを受信データ格納リスト122へ格納する(ステップS133)。その際、当該疑似パケットに含まれている順序番号と端末別順序番号とに対応させて、ペイロード6のデータサイズ分の領域が受信データ格納リスト122に確保されている。疑似パケットでなければ、受信データ格納リスト122に格納された各同報データに付された順序番号を検索する(ステップS134)。そして、受信データ格納リスト122中の同報データに含まれる順序番号に当該受信パケットと等しい順序番号をもったものがあれば(ステップS135)、受信データ格納リスト122の当該順序番号に対応させて当該受信パケットのペイロード6に書き込まれた同報データを格納する。あるいは、当該受信パケットで書き換える(ステップS136)。
【0117】
さらに、受信データ制御部121は受信データ格納リスト122に格納された各同報データに書かれた順序番号を検索し、受信データ格納リスト122中の同報データに含まれる順序番号と最新受信済番号(最近アプリケーション500へ渡したデータに付されていた順序番号)124との差を比較し(ステップS137)、その差が「1」に等しいものが受信データ格納リスト122中にあれば、該同報データを取り出す(ステップS138)。すなわち、受信データ格納リスト122から、最新受信済み番号124の次の順序番号が付されている同報データを取り出す。そして、最新受信済番号124に「1」を加算して更新する(ステップS139)。ここで取り出された同報データは、アプリケーション500へ渡される(ステップS140)。
【0118】
受信データ格納リスト122に、最新受信済番号124と同じかあるいは小さい順序番号の同報データがある場合は、それらは既にアプリケーション500へ渡されたものなので、受信データ格納リスト122から削除してもよい(ステップS141)。
【0119】
ところで、同報グループ内の端末から障害端末が検知されとき、例えば、その旨を障害端末検知部140にて検知した親端末(同報グループ内のどの端末であってもよいが、好ましくは順序番号発行端末)が同報グループからはずすべき当該障害端末の識別子および無視すべき(スキップすべき)端末別順序番号とを含む障害通知パケットを同報し、あるいは、同報グループから脱退しようとしている端末が、同報グループ内の各端末に、自端末の識別子および無視すべき(スキップすべき)端末別順序番号とを含む障害通知パケットを同報する)。この通知を受けて(図21のステップS151)、各端末の受信待ちデータ削除部125は、受信データ格納リスト122から当該通知された端末識別子および端末別順序番号を有する同報データを検索して(ステップS152〜ステップS153)、それらを受信削除状態と設定する(ステップS154)。例えば、受信データ格納リスト122の対応する順序番号および端末別順番号を有する同報データに受信削除状態を示すフラグ情報を書き込むことにより受信削除状態と設定する。
【0120】
さて、ステップS137において、受信データ格納リスト122に、最新受信済番号124との差が「1」より大きい順序番号の同報データのみしかない場合、順序番号の小さいものから、該順序番号が受信削除状態と設定されているか否かをチェックする(ステップS142)。もし、取り出した同報データが受信削除状態に設定されたものであれば、最新受信済番号に「1」を加算する(ステップS143)。
【0121】
これにより、同報グループから削除すべき端末からの(順序番号の発行済みの)同報データは、その順序番号と送信元順序番号とが同報グループ内の各端末に通知されて受信削除状態に設定されるので、当該端末から同報データが届いたとしても、最新受信済番号以前のデータは廃棄される。
【0122】
(第5の実施形態)
次に本発明の第5の実施形態について図24〜図30を参照して説明する。本実施形態では、図1に示すようなネットワーク構成する情報端末装置1のうちの1つはサーバ端末であり、それ以外の端末をクライアント端末として予め設定している。
【0123】
図24は、クライアント端末の構成例を示し、図25にサーバ端末の構成例を示している。なお、図24に示すクライアント端末の構成は、図10と同様で、図25に示すサーバ端末の構成においては、図11と同一部分には同一符号を付し、異なる部分について説明する。すなわち、図25のサーバ端末は、障害端末検知部290と、障害端末検知部290にて障害端末が検知されたときに、当該障害端末から送出された同報パケットのスキップを同報グループ内の端末に指示するための同報パケットを作成する状態管理部263を具備している。
【0124】
図26は、パケットを送信する際のクライアント端末の処理動作を示したフローチャートで、図12と同様であるので説明は省略する。
【0125】
次に、順序番号発行要求パケットを受信するサーバ端末の処理動作について、図27に示すフローチャートを参照して説明する。
【0126】
サーバ端末の受信部280はパケットをネットワークから受け取ると(ステップS171)、受信パケットの順序番号フィールド4を見て、順序番号発行済か否か判別して、順序番号発行要求パケットであるか否かをチェックする(ステップS172)。順序番号フィールド4に「NULL」が書き込まれていれば、当該受信パケットは、順序番号発行要求パケットであるので、順序番号発行部261へ順序番号の発行を要求する(ステップS173)。
【0127】
順序番号発行要求を受けた順序番号発行部261は、例えば、図29に示したような順序番号管理テーブル262を見て、順序番号を発行し(ステップS173)、順序番号管理テーブル262に、当該発行した順序番号に対応させて、当該順序番号発行要求パケットの送信元識別子を書き込む(ステップS174)。さらに、状態管理部263に同報データの状態判定を要求する。状態管理部263は、受信パケットのデータサイズを見て、同報データが付与されているか否かを調べ、同報データが付与されていれば、当該同報データは送信済状態と判定し、順序番号発行要求パケットであれば、当該同報データは番号発行済状態と判定し、それぞれ「データ送信済」、「番号発行済」を順序番号発行部261へ返す。順序番号発行部261は、順序番号管理テーブル262に状態管理部263からの状態判定結果を、それぞれの順序番号に対応させて書き込む(ステップS174)。
【0128】
順序番号発行部261は、当該順序番号発行要求パケットの順序番号フィールド4に順序番号を書き込んで(ステップS175)、送信部270を介してネットワークへ当該パケットを送出する(ステップS176)。
【0129】
一方、ステップS172において、当該受信パケットに順序番号が書き込まれているときは、受信部280は、当該受信パケットの送信元識別子と順序番号とを状態管理部263へ渡す。状態管理部263は、順序番号管理テーブル262に記憶された順序番号に、渡された順序番号と同じものを検索したときは(ステップS177、ステップS178)、順序番号管理テーブル262の当該順序番号に対応する「状態」という項目欄に「データ送信済」を書き込む(ステップS179)。
【0130】
順序番号発行要求に応じて発行された順序番号を通知するためのパケットを受信したクライアント端末では、第2の実施形態と同様にして(図14参照)、同報データに付された順序番号に従って、当該同報データをアプリケーション500へ渡す。
【0131】
次に、サーバ端末の障害端末検知部290が、例えば、クライアント端末の障害検知、クライアント端末からのデータ配送部の動作終了を通知するパケットを受信する等して、同報グループ内の端末から障害端末の存在を検知したときのサーバ端末の処理動作について図28に示すフローチャートを参照して説明する。
【0132】
サーバ端末の障害端末検知部290は、障害端末を検知すると、状態管理部263に当該障害端末の端末識別子を通知する(ステップS181)。
【0133】
状態管理部263は、順序番号管理テーブル262を検索し(ステップS182)、順序番号管理テーブル262に、障害端末の識別子と同一の送信元識別子で、状態が「番号発行済」となっている順序番号があれば(ステップS183)順序番号管理テーブル262から当該障害端末の識別子を読み出して、送信部270に渡し、受信スキップ用パケットの作成を要求する。送信部270は、例えば、図30に示したような受信スキップ用パケットを作成し(ステップS184)、同報グループ内の全クライアント端末へ同報する(ステップS185)。
【0134】
クライアント端末では、例えば、同報データの受信の通知を受けた受信データ制御部221にて、受信したパケットが受信スキップ用パケットであるか否かをチェックする。受信データ制御部221は、例えば、ペイロード6に含まれる受信スキップ通知パケットであるか否かを判断するためのフラグ情報をチェックする等して、当該受信パケットが受信スキップ用パケットであると判断したとき、当該受信スキップ用パケットにて通知された順序番号を参照して、例えば図5と同様な処理を行う。但し、図5のステップS44で受信データ格納リスト222から取り出した同報データが受信スキップ用パケットにて通知された順序番号の付されたものであるときは、その取り出した同報データを廃棄し、最新受信済番号224の更新のみを行う。
【0135】
仮に、受信スキップ通知データを受信後に障害端末から同報データが届いたとしても、最新受信番号済番号224は更新されているので、その同報データは廃棄される。
【0136】
【発明の効果】
以上説明したように、本発明によれば、同報データの受信順序維持に要するデータ送受信量を軽減しながら効率よく同報通信が行える。
【図面の簡単な説明】
【図1】複数の情報端末装置からなる同報グループのネットワークの構成例を示した図。
【図2】第1の実施形態に係る情報端末装置の構成例を示した図。
【図3】パケットを送信する際の情報端末装置の処理動作を示したフローチャート。
【図4】パケットを受信する際の情報端末装置の処理動作を示したフローチャート。
【図5】受信データ制御部へ同報データの受信が通知されたときの処理動作を示したフローチャート。
【図6】第1の順序番号管理部で作成される順序番号発行要求パケットのフォーマットの一例を示した図。
【図7】第2の順序番号管理部で作成される順序番号発行要求パケットのフォーマットの一例を示した図。
【図8】第1の順序番号発行手順の概略を示したシーケンス図。
【図9】第2の順序番号発行手順の概略を示したシーケンス図。
【図10】本発明の第2の実施形態に係る情報端末装置のクライアント端末の構成例を示した図。
【図11】本発明の第2の実施形態に係る情報端末装置のサーバ端末の構成例を示した図。
【図12】パケットを送信する際のクライアント端末の処理動作を示したフローチャート。
【図13】順序番号発行要求パケットを受信するサーバ端末の処理動作を示したフローチャート。
【図14】順序番号発行要求に応じて発行された順序番号を通知するためのパケットを受信したクライアント端末の処理動作を示したフローチャート。
【図15】本発明の第3の実施形態に係る順序番号発行要求パケットの下位層フレームを含めたフォーマットの一例を示した図。
【図16】図15に示したフォーマットの順序番号発行要求パケットを受けてサーバ端末が発行した順序番号を通知するためのパケットのフォーマットの一例を示した図。
【図17】本発明の第4の実施形態に係る情報端末装置の構成例を示した図。
【図18】パケットを送信する際の情報端末装置の処理動作を示したフローチャート。
【図19】パケットを受信した際の情報端末装置の処理動作を示したフローチャート。
【図20】受信データ制御部へ同報データの受信が通知されたときの処理動作を示したフローチャート。
【図21】障害端末検知部で障害端末が検知されたときの情報端末装置の処理動作を示したフローチャート。
【図22】第4の実施形態に係る順序番号発行要求パケットのフォーマットの一例を示した図。
【図23】疑似パケットのフォーマットの一例を示した図。
【図24】本発明の第5の実施形態に係る情報端末装置のクライアント端末の構成例を示した図。
【図25】本発明の第5の実施形態に係る情報端末装置のサーバ端末の構成例を示した図。
【図26】パケットを送信する際のクライアント端末の処理動作を示したフローチャート。
【図27】順序番号発行要求パケットを受信するサーバ端末の処理動作を示したフローチャート。
【図28】同報グループ内の端末から障害端末の存在を検知したときのサーバ端末の処理動作を示したフローチャート。
【図29】サーバ端末の順序番号管理テーブルの記憶例を示した図。
【図30】受信スキップ用パケットのフォーマットの一例を示した図。
【符号の説明】
1…情報端末装置(端末)
100…データ配送部
110…順序管理部
111…順序管理方法識別部
112…第1の順序番号管理部
113…第2の順序番号管理部
114…送信データ格納リスト
115…順序番号管理テーブル
117…自端末用順序番号発行部
120…受信部
121…受信データ制御部
122…受信データ格納リスト
123…受信データ分解部
124…最新受信済番号
125…受信待ちデータ削除部
126…受信準備パケット作成部
130…送信部
131…送信要求受理部
132…送信データ構成部
140…障害端末検知部
200…クライアント側データ配送部
210…順序管理部
211…順序管理方法識別部
212…第1の順序番号管理部
213…第2の順序番号管理部
214…送信データ格納リスト
220…受信部
221…受信データ制御部
222…受信データ格納リスト
223…受信データ分解部
224…最新受信済番号
230…送信部
231…送信要求受理部
232…送信データ構成部
250…サーバ側データ配送部
260…順序管理部
261…順序番号発行部
262…順序番号管理テーブル
263…状態管理部
270…送信部
280…受信部
290…障害端末検知部
500…アプリケーション

Claims (5)

  1. ネットワークを介して接続された複数の情報端末装置間でのパケットによる同報通信方法において、
    前記複数の情報端末装置は、同報データを送信する際に、該同報データを前記複数の情報端末装置で受信する順序を同一に保つための受信順序番号を決定する情報端末装置に対し該受信順序番号の発行を要求し、その際送出されるパケットに該同報データを含ませるか否かを該同報データのサイズに基づき判断し、
    同報データを含まないパケットにて受信順序番号の発行を要求したとき、該要求に応じて通知された受信順序番号を前記同報データに付加して前記複数の情報端末装置に同報し、
    前記受信順序番号を決定する情報端末装置は、前記受信順序番号の発行を要求するためのパケットを受信して、該パケットに同報データが含まれているときは、該パケットに該同報データに対し発行した受信順序番号を書き込んで前記複数の情報端末装置に同報することを特徴とする同報通信方法。
  2. 前記複数の情報端末装置は、同報データを受信する際、予め通知された特定の同報データの受信順序番号は無視し、他の同報データは前記受信順序番号の順に受信することを特徴とする請求項1記載の同報通信方法。
  3. ネットワークに接続された複数の情報端末装置間で同報データをパケットにて送受信する際に、該同報データを前記複数の情報端末装置で受信する順序を同一に保つための受信順序番号を決定する情報端末装置に対し、該受信順序番号の発行を要求する要求手段と、
    この要求手段で受信順序番号の発行を要求する際に送出されるパケットに該同報データを含ませるか否かを該同報データのサイズに基づき判断する判断手段と、
    前記要求手段で、同報データを含まないパケットにて受信順序番号の発行を要求したとき、該要求に応じて通知された受信順序番号を前記同報データに付加して前記複数の情報端末装置に同報する同報手段と、
    を具備したことを特徴とする通信装置。
  4. ネットワークに接続された複数の情報端末装置間で同報データをパケットにて送受信する通信装置において、
    前記複数の情報端末装置のいずれかから送信された、同報データを前記複数の情報端末装置で受信する順序を同一に保つための受信順序番号の発行を要求するためのパケットを受信したとき、受信順序番号を発行する発行手段と、
    前記受信されたパケットに同報データが含まれているとき、該パケットに前記発行手段で発行された受信順序番号を書き込んで前記複数の情報端末装置に同報する同報手段と、
    前記受信されたパケットに同報データが含まれていないとき、前記発行手段で発行された受信順序番号を前記受信順序番号の発行要求元の情報端末装置に通知する通知手段と、
    を具備したことを特徴とする通信装置。
  5. 同報データを受信する際、予め通知された特定の同報データの受信順序番号は無視し、他の同報データは前記受信順序番号の順に受信することを特徴とする請求項3または4記載の通信装置。
JP21752198A 1998-07-21 1998-07-31 同報通信方法および通信装置 Expired - Fee Related JP3839967B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP21752198A JP3839967B2 (ja) 1998-07-31 1998-07-31 同報通信方法および通信装置
US09/357,281 US6539000B1 (en) 1998-07-21 1999-07-20 Multicast communication method and apparatus
US10/270,645 US6775279B2 (en) 1998-07-21 2002-10-16 Multicast communication method and apparatus
US10/914,245 US7369552B2 (en) 1998-07-21 2004-08-10 Multicast communication method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP21752198A JP3839967B2 (ja) 1998-07-31 1998-07-31 同報通信方法および通信装置

Publications (2)

Publication Number Publication Date
JP2000049778A JP2000049778A (ja) 2000-02-18
JP3839967B2 true JP3839967B2 (ja) 2006-11-01

Family

ID=16705555

Family Applications (1)

Application Number Title Priority Date Filing Date
JP21752198A Expired - Fee Related JP3839967B2 (ja) 1998-07-21 1998-07-31 同報通信方法および通信装置

Country Status (1)

Country Link
JP (1) JP3839967B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8180882B2 (en) 2004-07-22 2012-05-15 Tyco Electronics Subsea Communications Llc Distributed messaging system and method for sharing network status data
JP5084916B2 (ja) * 2008-12-25 2012-11-28 三菱電機株式会社 通信管理装置および通信方法
JP5825689B2 (ja) * 2013-03-28 2015-12-02 Necソリューションイノベータ株式会社 要約筆記支援システム、要約筆記支援サーバ、要約筆記支援方法、及びプログラム
JP6026491B2 (ja) * 2014-11-11 2016-11-16 ミハル通信株式会社 伝送システム、送信部、および、受信部

Also Published As

Publication number Publication date
JP2000049778A (ja) 2000-02-18

Similar Documents

Publication Publication Date Title
US9871781B2 (en) Systems and methods for path maximum transmission unit discovery
US7742485B2 (en) Distributed system for delivery of information via a digital network
US7206811B2 (en) System and method for facilitating real-time collaborating by collapsing a queue for a slow client
WO2021135471A1 (zh) 数据传输方法、装置、网卡及存储介质
JP4685299B2 (ja) マルチキャストする方法および装置
US6539000B1 (en) Multicast communication method and apparatus
US20180268046A1 (en) Data processing method and apparatus
KR100793349B1 (ko) Ppp 멀티링크를 지원하는 시스템에서의 멀티캐스트트래픽 포워딩 장치 및 제어방법
JP3839967B2 (ja) 同報通信方法および通信装置
KR100913280B1 (ko) 방송형 통신 데이터 배송 장치 및 방송형 통신 시스템
US7433927B2 (en) Network system, network control method, and signal sender/receiver
JP2006209490A (ja) 設定情報同期プログラム
CN115665055A (zh) 一种报文处理方法及装置
US20060256791A1 (en) Communications method, network, and information processing apparatus
JP4122328B2 (ja) 伝送装置
CN117527458B (zh) 一种多播数据分发方法、装置、电子设备及存储介质
CN113765783B (zh) 通信方法及装置
JP2019176275A (ja) 通信方法、通信システム、通信装置及びコンピュータプログラム
JP3006469B2 (ja) メッセージ重送チェックシステム
JP6045957B2 (ja) 配信装置、配信システム、配信方法および配信プログラム
CN105721351A (zh) 主机迁移方法及装置
KR100473270B1 (ko) 이엠에스와 엔이간의 데이터 전송장치와 전송방법
CN117527458A (zh) 一种多播数据分发方法、装置、电子设备及存储介质
JP4301230B2 (ja) 情報処理システム及びそのデータ通信方法
JP2007249603A (ja) データストレージ方法及び仮想ストレージ装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050311

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060721

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060801

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060804

LAPS Cancellation because of no payment of annual fees