(57)【特許請求の範囲】
【請求項１】
ネットワークを介して接続された複数の情報端末装置間でのパケットによる同報通信方法において、
前記複数の情報端末装置は、同報データを送信する際に、該同報データを前記複数の情報端末装置で受信する順序を同一に保つための受信順序番号を決定する情報端末装置に対し該受信順序番号の発行を要求し、その際送出されるパケットに該同報データを含ませるか否かを該同報データのサイズに基づき判断し、
同報データを含まないパケットにて受信順序番号の発行を要求したとき、該要求に応じて通知された受信順序番号を前記同報データに付加して前記複数の情報端末装置に同報し、
前記受信順序番号を決定する情報端末装置は、前記受信順序番号の発行を要求するためのパケットを受信して、該パケットに同報データが含まれているときは、該パケットに該同報データに対し発行した受信順序番号を書き込んで前記複数の情報端末装置に同報することを特徴とする同報通信方法。
【請求項２】
前記複数の情報端末装置は、同報データを受信する際、予め通知された特定の同報データの受信順序番号は無視し、他の同報データは前記受信順序番号の順に受信することを特徴とする請求項１記載の同報通信方法。
【請求項３】
ネットワークに接続された複数の情報端末装置間で同報データをパケットにて送受信する際に、該同報データを前記複数の情報端末装置で受信する順序を同一に保つための受信順序番号を決定する情報端末装置に対し、該受信順序番号の発行を要求する要求手段と、
この要求手段で受信順序番号の発行を要求する際に送出されるパケットに該同報データを含ませるか否かを該同報データのサイズに基づき判断する判断手段と、
前記要求手段で、同報データを含まないパケットにて受信順序番号の発行を要求したとき、該要求に応じて通知された受信順序番号を前記同報データに付加して前記複数の情報端末装置に同報する同報手段と、
を具備したことを特徴とする通信装置。
【請求項４】
ネットワークに接続された複数の情報端末装置間で同報データをパケットにて送受信する通信装置において、
前記複数の情報端末装置のいずれかから送信された、同報データを前記複数の情報端末装置で受信する順序を同一に保つための受信順序番号の発行を要求するためのパケットを受信したとき、受信順序番号を発行する発行手段と、
前記受信されたパケットに同報データが含まれているとき、該パケットに前記発行手段で発行された受信順序番号を書き込んで前記複数の情報端末装置に同報する同報手段と、
前記受信されたパケットに同報データが含まれていないとき、前記発行手段で発行された受信順序番号を前記受信順序番号の発行要求元の情報端末装置に通知する通知手段と、
を具備したことを特徴とする通信装置。
【請求項５】
同報データを受信する際、予め通知された特定の同報データの受信順序番号は無視し、他の同報データは前記受信順序番号の順に受信することを特徴とする請求項３または４記載の通信装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば、会議通信システムにおける同報パケットの受信順序の制御方法およびそれを用いた通信装置に関する。
【０００２】
【従来の技術】
ネットワークによって相互に接続された複数の情報通信端末間でデータ交換を行う際、アプリケーション、または、交換されるデータの性質によっては、データの到着順序を上記複数の情報通信端末間で一貫性を保つように保証する必要がある場合がある。それを次の例で示す。
【０００３】
図１に示すように情報通信端末Ａ〜Ｃでグループを構成し、全ての端末は同じ内容のファイルを共有し、共同編集するようなアプリケーション（例えば、会議通信）を考える。各端末には、等しくデータに対するアクセス権があり、データ内容の維持は、各端末がそれぞれのデータの複製を保持し、変更があれば、それを各端末が認識し、到着順にデータを更新することによって行うとする。
【０００４】
上記のようなファイル上で、ｘ＝０  という初期データが与えられている状態で、Ａ、Ｂがほぼ同時に、これらのデータの変更を行うとする。今、端末Ａが、ｘ＝１  を送信し、それとほぼ同時刻に、端末Ｂが、ｘ＝２  と書き込む。
【０００５】
順序制御を行わず、単純にデータの到着順序に処理を行うと、端末Ａでは、後から到着する  ｘ＝２  が有効になり、一方、端末Ｂでは、ｘ＝１  となり、端末Ｃでは上のどちらかになる。すなわち、何も順序制御を行わないと、３つの端末間で結果が異なり、一貫性を維持できない。
【０００６】
そのため、データの更新順序をグループ内で一致させるように、これまでもいくつかの方法が提案されている。
【０００７】
１）各端末間で時刻を同期させ、データパケットに送信時刻を付与して送信、受信側で時刻の古い順に並べ替えることによって制御する方法。
【０００８】
２）グループ内でトークンを発行したりロック制御機構を設け、同時刻に１台のみがデータの変更を行えるような排他制御を設ける方法。
【０００９】
３）各端末は、データを一旦サーバ端末に送信し、サーバ端末で受信したデータ順に順序制御を行った後、各端末に向けてデータを再び送信する方法。
【００１０】
４）各端末は、送信時に、まず、サーバ端末に送信データの番号発行要求を出し、サーバの発行した番号に従って、各端末は受信データを並べ替える方法。
【００１１】
１）の方法では、端末間で同期を取る方法が困難であり、また、たとえ正確に同期がとれたとしても、全く同時刻に送信されたデータの扱いや、通信路の状況により、受信順序が時刻と大きく異なることが予想されるため、それらを回避するための複雑な処理が別途必要となる、といった問題がある。
【００１２】
２）の方法では、データが一元的に管理される一方、ユーザに対し、他のユーザがデータへ書き込みを行っている間は操作ができないという制限を設けなければならない。アプリケーションによっては、不十分な場合がある。
【００１３】
３）の方法では、簡便にデータの順序制御をすることができるが、データの通信量が、順序制御を行わない場合に比べ２倍になる。データの大きさが小さい時には問題にはならないが、サイズが大きくなると、ネットワークのトラフィック、また、サーバに対する負荷が高くなる、といった問題がある。また、サイズの大きなデータの送信時には、サーバに到着するまでに時間がかかるため、違う端末からの小さなデータの送信と順序が逆転する可能性がある、といった問題もある。さらに、番号発行のために番号発行端末経由でデータを送信する場合、一般に用いられるようにパケットヘッダに宛先を付与しただけでは、受信端末側ではすべて番号発行端末から届いたデータのように見える可能性がある、といった問題もある。
【００１４】
４）の方法では、サーバに負荷をかけずに、簡便にデータの順序制御をおこなうことができる効率的な方法である。しかしながら、この方法は、送信をおこなうための番号授受のために、サーバとの通信路を往復した後にデータを送信するため、データのサイズが通信路で規定されたデータグラムの大きさよりも小さい時には、３）の場合に比べ効率が落ちる、といった場合がある。画像データのような大きなデータを送受信するアプリケーションには有効であるが、チャットのような短いデータを数多く送受信するようなアプリケーションには、不向きである。また、この方法では、実際のデータが届く前に、前もって順序番号だけを発行するので、端末の１つが送信中に何らかの障害を起こした時、または、送信を中断してアプリケーションを終了した時に、順序番号は発行されているが、データは届かず、以後、通信が続けられなくなる可能性がある、といった問題もある。
【００１５】
【発明が解決しようとする課題】
以上説明したように、従来、同報グループ通信において、端末間で交換される同報データの受信順序を一意に保つような同報通信方法では、いずれも、送信するデータの種類（具体的には、データのサイズ）を考慮していなかったため、ユーザへの制限を加えたり、通常の通信コストの増大を招くといった問題があった。
【００１６】
また、一般に用いられるように送信パケットに対しヘッダに所望の宛先を付与しただけでは、受信端末側で正しい送信元を認識できない場合がある、といった問題もあった。
【００１７】
さらに、同報グループの中の端末が障害を起こした時、以後、同報グループ全体で通信が続けられなくなる、といった問題もあった。
【００１８】
そこで、本発明は、以上の問題点に鑑み、同報データの受信順序維持に要するデータ送受信量を削減しながら効率よく同報通信が行える同報通信方法および通信装置を提供することを目的とする。
【００１９】
【課題を解決するための手段】
（１）  本発明の同報通信方法は、ネットワークを介して接続された複数の情報端末装置間でのパケットによる同報通信方法において、
前記複数の情報端末装置は、同報データを送信する際に、該同報データを前記複数の情報端末装置で受信する順序を同一に保つための受信順序番号を決定する情報端末装置に対し該受信順序番号の発行を要求し、その際送出されるパケットに該同報データを含ませるか否かを該同報データのサイズに基づき判断し、
同報データを含まないパケットにて受信順序番号の発行を要求したとき、該要求に応じて通知された受信順序番号を前記同報データに付加して前記複数の情報端末装置に同報し、
前記受信順序番号を決定する情報端末装置は、前記受信順序番号の発行を要求するためのパケットを受信して、該パケットに同報データが含まれているときは、該パケットに該同報データに対し発行した受信順序番号を書き込んで前記複数の情報端末装置に同報することを特徴とする。
【００２０】
本発明によれば、同報データのサイズに応じて受信順序番号の発行手順を切り替えることができるので、同報データの受信順序維持に要するデータ送受信量を軽減しながら効率よく同報通信が行える。
【００２１】
（２）  また、前記複数の情報端末装置は、同報データを受信する際、予め通知された特定の同報データの受信順序番号は無視し、他の同報データは前記受信順序番号の順に受信することにより、例えば、同報グループを構成する情報端末装置のうちの１つに障害が検知されたときでも、当該障害の発生した情報端末装置以外の情報端末装置間でスムーズに同報パケットの受信順序を修正することができ、従って、通信を中断することなく、動的なネットワークの環境変化にも柔軟に対応できる。
【００２２】
（３）  本発明の通信装置（順序番号発行端末以外の端末、クライアント端末）は、ネットワークに接続された複数の情報端末装置間で同報データをパケットにて送受信する際に、該同報データを前記複数の情報端末装置で受信する順序を同一に保つための受信順序番号を決定する情報端末装置に対し、該受信順序番号の発行を要求する要求手段と、
この要求手段で受信順序番号の発行を要求する際に送出されるパケットに該同報データを含ませるか否かを該同報データのサイズに基づき判断する判断手段と、
前記要求手段で、同報データを含まないパケットにて受信順序番号の発行を要求したとき、該要求に応じて通知された受信順序番号を前記同報データに付加して前記複数の情報端末装置に同報する同報手段と、
を具備したことを特徴とする。
【００２３】
本発明によれば、同報データのサイズに応じて受信順序番号の発行手順を切り替えることができるので、同報データの受信順序維持に要するデータ送受信量を軽減しながら効率よく同報通信が行える。
【００２４】
（４）  また、本発明の通信装置（順序番号発行端末、サーバ端末）は、ネットワークに接続された複数の情報端末装置間で同報データをパケットにて送受信する通信装置において、
前記複数の情報端末装置のいずれかから送信された、同報データを前記複数の情報端末装置で受信する順序を同一に保つための受信順序番号の発行を要求するためのパケットを受信したとき、受信順序番号を発行する発行手段と、
前記受信されたパケットに同報データが含まれているとき、該パケットに前記発行手段で発行された受信順序番号を書き込んで前記複数の情報端末装置に同報する同報手段と、
前記受信されたパケットに同報データが含まれていないとき、前記発行手段で発行された受信順序番号を前記受信順序番号の発行要求元の情報端末装置に通知する通知手段と、
を具備したことを特徴とする。
【００２５】
本発明によれば、同報データのサイズに応じて受信順序番号の発行手順を切り替えることができるので、同報データの受信順序維持に要するデータ送受信量を軽減しながら効率よく同報通信が行える。
【００２６】
（５）また、同報データを受信する際、予め通知された特定の同報データの受信順序番号は無視し、他の同報データは前記受信順序番号の順に受信することにより、例えば、同報グループを構成する情報端末装置のうちの１つに障害が検知されたときでも、当該障害の発生した情報端末装置以外の情報端末装置間でスムーズに同報パケットの受信順序を修正することができ、従って、通信を中断することなく、動的なネットワークの環境変化にも柔軟に対応できる。
【００２７】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して説明する。
【００２８】
（第１の実施形態）
以下、本発明の第１の実施形態について図２〜図９を参照して説明する。
【００２９】
例えば、図１に示すような同報グループのネットワーク構成する情報端末装置１の構成を図２に示す。
【００３０】
情報端末装置（以下、簡単に端末と呼ぶ）１は、大きく分けて、例えば会議通信等の情報処理を実行するアプリケーション５００とデータ配送部１００から構成される。データ配送部１００は、アプリケーション５００または順序管理部１１０からの送信要求を受け、ネットワークへパケットを送信する送信部１３０、同報データに対してグループ内で順序の一貫性を保つための管理を行う順序管理部１１０、ネットワークからパケットを受信し、アプリケーション５００または順序管理部１１０へ届ける受信部１２０から構成される。
【００３１】
本実施形態に係る情報端末装置１は、例えば、タッチパネル、マイクロフォン、マウス、キーボード等の入力手段、スピーカ、ディスプレイ（表示装置）等の出力手段、フロッピーディスク装置、ハードディスク装置等の大容量記憶装置、主メモリ、及びＣＰＵ等を備えたパーソナルコンピュータ（計算機）を用いて実現される。
【００３２】
特に、図２のアプリケーション５００、データ配送部１００の持つ機能は、その機能を上記のパーソナルコンピュータにより実行させるためのプログラムを記録した記憶媒体、例えばフロッピーディスクを用い、当該記録媒体を上記パーソナルコンピュータ中のフロッピーディスク装置に装着して、当該フロッピーディスクに記録されているプログラムを上記パーソナルコンピュータ（中のＣＰＵ）で読み取り実行させることにより実現される。
【００３３】
次に、データ配送部１００の構成について説明する。データ配送部１００は、送信部１３０と順序管理部１１０と受信部１２０とから構成され、さらに、送信部１３０は、送信要求受理部１３１と送信データ構成部１３２とから構成され、順序管理部１１０は、順序管理方法識別部１１１と第１の順序番号管理部１１２と第２の順序管理部１１３と順序番号管理テーブル１１５と送信データ格納リスト１１４とから構成され、受信部１２０は、受信データ制御部１２１と受信データ格納リスト１２２と受信データ分解部１２３とから構成されている。
【００３４】
送信部１３０の送信要求受理部１３１は、アプリケーション５００からの同報データ送信の要求を受けて、当該同報データの送信のための順序管理を順序管理部１１０（の順序管理方法識別部１１１）へ要求したり、順序管理部１１０の順序管理方法識別部１１１からのパケットの送信要求を受けて、当該パケットを送信データ構成部１３２へ渡す。
【００３５】
送信データ構成部１３２は、接続しているネットワークにパケットを送出するためのインタフェースを司るもので、例えば、ネットワークに送出するパケットを当該ネットワークに適した形式に変換したり、当該パケットを転送するための所定のプロトコル処理を実行するようになっている。
【００３６】
順序管理部１１０の順序管理方法識別部１１１は、送信要求受理部１３１からの順序管理要求を受けて、これから送信すべき同報データのサイズ（長さ）に基づき、第１の順序番号発行手順と第２の順序番号発行手順のいすれか一方を選択する。そして、その結果に応じて第１の順序番号管理部１１２および第２の順序番号管理部１１３のいずれか一方に処理を切り替える。
【００３７】
第１の順序番号管理部１１２は、自端末から発信される同報データに対しては、自端末が順序番号発行端末であるときは、順序番号管理テーブル１１５を参照して順序番号を発行し、その発行した順序番号を図６に示したようなフォーマットの順序番号フィールド４に書き込む。また、自端末が順序番号発行端末でないときは、図７に示したようなフォーマットの順序番号発行要求パケットを作成する。自端末が順序番号発行端末で、他端末から図７に示したような順序番号発行要求パケットを受信したときは、順序番号管理テーブル１１５を参照して順序番号を発行し、その発行した順序番号を順序番号フィールド４に書き込む。
【００３８】
第２の順序番号管理部１１３は、自端末から発信される同報データに対しては、自端末が順序番号発行端末であるときは、順序番号管理テーブル１１５を参照して順序番号を発行し、その発行した順序番号を図６に示したようなフォーマットの順序番号フィールド４に書き込む。自端末が順序番号発行端末でないときは、自端末から発信する同報データを一時的に送信データ格納リスト１１４へ保存し、順序番号発行端末宛に図７に示すようなフォーマットの順序番号発行要求パケットを作成する。一方、順序番号発行端末から順序番号を通知するための図７に示したようなフォーマットのパケットを受信したときは、送信データ格納リスト１１４から対応する同報データを取り出して、それをペイロードに書込み、さらに順序番号フィールド４に当該順序番号を書込んで、図６に示したようなフォーマットのパケットを作成する。
【００３９】
送信データ格納リスト１１４には、自端末から発信される同報データに対し第２の順序番号発行手順が選択された場合、自端末が順序番号発行端末でないときに順序番号が発行されるまで、当該送信すべき同報データを一時格納する。
【００４０】
順序番号管理テーブル１１５は、新規に順序番号を発行する際に第１および第２の順序番号管理部１１２、１１３により参照され、既発行の順序番号と未発行の順序番号とを区別して、連続した順序番号が（重複することなく）随時発行できるようになっている。
【００４１】
受信部１２０の受信データ分解部１２３は、ネットワークから受信したパケットの送信先フィールド２と、順序番号フィールド４とをチェックして、自端末宛のパケットのうち、順序番号発行要求パケットと順序番号を有する同報データ転送用のパケットとを識別する。当該パケットが順序番号発行要求パケットの場合、自端末が順序番号発行端末のときは順序管理方法識別部１１１へ順序番号の発行を要求する。当該パケットが同報データ転送用のパケットの場合、受信データ格納リスト１２２に当該パケットに含まれていた同報データを格納し、受信データ制御部１２１へ同報データの受信を通知する。
【００４２】
受信データ格納リスト１２２には、順序番号に従って受信した同報データをアプリケーション５００へ受け渡すために、同報データが一時的に格納される。
【００４３】
受信データ制御部１２１は、最新受信済み番号１２４と受信データ格納リスト１２２に格納されている同報データの順序番号とを比較しながら、受信データ格納リスト１２２に格納されている同報データを、その各同報データに付された順序番号に従ってアプリケーション５００へ渡すようになっている。
【００４４】
順序番号とは、複数の端末のそれぞれから送信された複数の同報パケットをグループ内の端末が受信する際、グループ内の全ての端末で当該複数の同報パケットの受信順序を同一に保つために当該同報パケットに付される番号である。例えば、端末Ａ、Ｂ、Ｃ、Ｄで同報グループを構成し、端末Ａ、端末Ｂから、それぞれ同報パケットα、同報パケットβが（この順に、あるいは、ほぼ同時に）送信されたとする。このとき、順序番号による順序制御がなされていないとすると、同報パケットの転送経路や当該ネットワーク上のトラヒック等により、端末Ｃには、同報パケットα、同報パケットβの順番で受信され、端末Ｄには同報パケットβ、同報パケットαの順番で受信されることがある。さらに、端末Ｂでは、同報パケットβ、同報パケットαの順で受信されたものとみなすこともあろであろう。そこで、このような状態を避けるために、同報パケットα、同報パケットβにそれぞれ受信順序として「１」、「２」を付加して、これを基に、グループ内の全ての端末Ａ〜Ｄは、必ず同報パケットα、同報パケットβの順番で受信して上位アプリケーションへ受け渡すように制御する。
【００４５】
次に、グループ内の端末間における２種類の順序番号発行手順の概略について、図８、図９に示したシーケンス図を参照して説明する。
【００４６】
図８は、第１の順序番号発行手順を示したものである。端末Ａが端末Ｂに同報データ送信する場合には、例えば、図６に示したようなフォーマットのペイロード６に当該同報データを書込み、端末Ａから送信する。図６に示すパケットフォーマットのヘッダ部には、送信先フィールド２、送信元フィールド３、順序番号フィールド４、ペイロード６に書き込まれる同報データのサイズを書き込むデータサイズフィールド５が設けられている。
【００４７】
端末Ａから発信されるパケットの送信先フィールド２には、順序番号発行端末（サーバ）の識別子が書き込まれ、送信元フィールド３には、端末Ａの識別子が書き込まれ、受信番号フィールド４には、未だ受信番号が発行されていないことを示す「ＮＵＬＬ」が書き込まれ、データサイズフィールド５には、ペイロード６に書き込まれた同報データのデータサイズが書き込まれている。
【００４８】
この場合、最低２パケットで相手端末Ｂへデータを送ることができる。しかしながら、同報データが長くなると、ネットワークレベルでパケットを分割して送信する。例えば、イーサネットの場合、１パケットで転送できるデータの長さは１．５Ｋバイトである。そのため、例えば、１５０Ｋバイトの同報データを端末Ａから第１の順序番号発行手順で送ると、まず、端末Ａから順序番号発行端末（サーバ）に図８に示したようなフォーマットのパケットでデータを送信し、そこで、順序番号を発行してもらってから順序番号フィールド４に順序番号を書込み、相手端末Ｂへ送信するため、ネットワークに送出される総パケット数が端末Ａからサーバへ１００個、サーバから端末Ｂへ１００個、すなわち、１００個×２＝２００個になる。
【００４９】
一方、この１５０Ｋバイトのデータを図９に示す第２の順序番号発行手順で相手端末Ｂに送信する場合を考える。この場合、端末Ａからは、まず、図７に示したようなペイロード６を含まないフォーマットの順序番号発行要求のためのパケットが送出される。
【００５０】
端末Ａからサーバへ図７に示したような順序番号発行要求のためのパケットを送信し、これを受けてサーバは順序番号を発行して端末Ａへ通知する。端末Ａでは、この通知された順序番号を順序番号フィールド４に書込み、ペイロード６に送信すべき同報データを書き込んでから、改めて端末Ｂへ送信するため、順序番号発行要求のためのパケット数が「２」であるとすると、２＋１００個＝１０２パケットで済む。
【００５１】
従って、第２の順序番号発行手順のほうが効率の良いことは明らかである。しかしながら、同報データが１．５Ｋｂｙｔｅ以下の場合は、逆に第１の順序番号発行手順のほうが１パケット分少なくて済む。
【００５２】
図１のような同報グループを構成した上での共同編集アプリケーションなどにより送受信されるデータサイズは、グラフィックのような大きなサイズのデータや、文字のような比較的小さなサイズのデータが混在して送受信されることが考えられる。
【００５３】
従って、このような場合には、同報データのサイズによって動的に上記第１および第２の順序番号発行手順のいずれかに変更できる本発明のような方式が有効となるのである。
【００５４】
次に、上記したような原理に基づき、端末１の処理動作について説明する。すなわち、端末１が、図１に示したようにネットワーク上に複数台集まり、各端末１が、ある同報データを送受信する場合の処理手順について図３〜図５に示すフローチャートを参照して説明する。なお、図１のグループ内の複数の端末１のうちの少なくとも１つは、予め順序番号発行端末として設定されているものとする。
【００５５】
まず、パケットを送信する際の端末１の処理動作について、図３に示すフローチャートを参照して説明する。
【００５６】
アプリケーション５００から送信部１３０の送信要求受理部１３１へ同報データの送信が要求されると（ステップＳ１）、送信要求受理部１３１は、順序管理部１１０の順序管理方法識別部１１１へ順序管理要求を出す（ステップＳ２）。
【００５７】
順序管理方法識別部１１１は、アプリケーション５００から渡された、これから送信すべき同報データの長さを調べ、当該長さが予め定められた閾値以内であれば、第１の順序番号管理部１１２へ、閾値を越えると、第２の順序番号管理部１１３へ順序管理を要求する（ステップＳ３）。
【００５８】
データ長の閾値とは、当該同報データを転送する上で、前述したような第１の順序番号発行手順および第２の順序番号発行手順をのうち、どれを用いるかを決定するためのものである。例えば、ネットワークの構成、トラヒックの状況に応じて、図６に示したようなペイロード６を有するパケットにて当該同報データに対する順序番号の発行を要求する（すなわち、第１の順序番号発行手順）方が、第２の順序番号発行手順より、より効率よくパケット転送が行えると推定できる最大のデータ長で、予め統計的に算出されたものであってもよい。
【００５９】
順序番号発行要求を受けた第１の順序番号管理部１１２は、自端末が順序番号発行端末であるか否か調べ（ステップＳ４）、自端末が順序番号発行端末であれば、順序番号管理テーブル１１５を見て、順序番号を発行する（ステップＳ５）。
【００６０】
そして、第１の順序番号管理部１１２は、図６に示したようなフォーマットのパケットを作成する。すなわち、順序番号フィールド４に当該発行された順序番号を書込み、ペイロード６に同報データを書込み、送信先にグループ内の端末の識別子あるいはグループ内に同報するパケットである旨を識別するための識別子（同報識別子）、送信元フィールド３に自端末の識別子を書込む。
【００６１】
その後、当該作成されたパケットを、送信要求受理部１３１、送信データ構成部１３２を介してネットワークへ送出する（ステップＳ６）。
【００６２】
ステップＳ４において、自端末が順序番号発行端末でないときは、図６に示すようなパケットフォーマットで、送信先フィールド２に順序番号発行要求端末の識別子、順序番号フィールド４を「ＮＵＬＬ」として順序番号発行要求パケットを作成して（ステップＳ７、ステップＳ８）、順序番号発行端末宛に送信要求受理部１３１、送信データ構成部１３２を通して、当該順序番号発行要求パケットを送信する（ステップＳ６）。なお、ステップＳ７において、自端末からの順序番号発行要求以外のものは、廃棄する（ステップＳ９）。
【００６３】
一方、ステップＳ３で、順序番号発行要求を受けた第２の順序番号管理部１１３は、自端末が順序番号発行端末であるか否か調べ（ステップＳ１０）、自端末が順序番号発行端末であれば、順序番号管理テーブル１１５を見て順序番号を発行する（ステップＳ１１）。そして、第２の順序番号管理部１１２は、図６に示したようなフォーマットのパケットを作成する。すなわち、順序番号フィールド４に当該発行された順序番号を書込み、ペイロード６に同報データを書込み、送信先にグループ内の端末の識別子あるいはグループ内に同報するパケットである旨を識別するための識別子（同報識別子）、送信元フィールド３に自端末の識別子を書込む。そして、当該パケットを送信要求受理部１３１、送信データ構成部１３２を介してネットワークへ送出する（ステップＳ６）。
【００６４】
ステップＳ１０において、第２の順序番号管理部１１３は、自端末が順序番号発行端末でなければ、同報データを一時的に送信データ格納リスト１１４へ保存し（ステップＳ１３）、順序番号発行端末宛に図７に示すようなパケットフォーマットの順序番号発行要求パケットを作成して（ステップＳ１４）、順序番号発行端末宛に送信要求受理部１３１、送信データ構成部１３２を通して、当該順序番号発行要求パケットをネットワークへ送出する（ステップＳ６１）。なお、ステップＳ１３において、自端末からの順序番号発行要求以外のものは、廃棄する（ステップＳ１５）。
【００６５】
次に、パケットを受信する際の端末１の処理動作について、図４に示すフローチャートを参照して説明する。
【００６６】
端末１の受信部１２０の受信データ分解部１２３はネットワークからパケットを受け取ると（ステップＳ２０）、受信パケットの送信先フィールド２を見て自端末宛か否か判別し（ステップＳ２１）、自端末宛でなければ（同報識別子でなければ）、当該パケットを廃棄する（ステップＳ３２）。
【００６７】
自端末宛であれば、受信パケットの順序番号フィールド４を見て順序番号発行済か否か判別し（ステップＳ２２）、まだ順序番号が発行されていなくて（例えば、順序番号フィールド４に順序番号が書き込まれていない、あるいは、「ＮＵＬＬ」が書き込まれている）、かつ、自端末が順序番号発行端末であれば（ステップＳ２４）、順序管理方法識別部１１１へ順序番号発行を要求する（ステップＳ３０）。順序番号が発行されていなくて、自端末が順序番号発行端末でなければ、パケットを廃棄する（ステップＳ３１）。
【００６８】
ステップＳ３０において、順序管理方法識別部１１１は、例えば、受信パケットにペイロード６を持つ場合（例えば、図６に示したようなフォーマットのパケットである場合）は第１の順序番号管理部１１２へ、ペイロードを持たない場合（例えば、図７に示すようなフォーマットのパケットである場合）は第２の順序番号管理部１１３へ順序管理を要求する。第１の順序番号管理部１１２および第２の順序番号管理部１１３は、順序番号管理テーブル１１５を参照して順序番号を発行し、順序番号フィールド４に当該発行した順序番号を書き込んで、図６に示すようなフォーマットのパケットの場合には、さらに、送信先フィールド２にグループ内の同報識別子を書き込み、当該パケットを送信要求受理部１３１、送信データ構成部１３２を介してネットワークへ送出する。
【００６９】
ステップＳ２２で、受信データ分解部１２３で受信パケットの順序番号フィールド４を見て、順序番号が発行されていて（順序番号が書き込まれていて）、さらに、受信パケットのデータサイズフィールド５とペイロード６を見て、同報データがついているかどうかをチェックし（ステップＳ２３）、同報データがついていれば、当該同報データを受信データ格納リスト１２２へ格納し（ステップＳ２８）、受信データ制御部１２１へ受信を通知する（ステップＳ２９）。
【００７０】
ステップＳ２３で、当該受信パケットがペイロード６を持たない図７に示したようなパケットであった場合、順序管理部１１０の順序管理方法識別部１１１へ当該受信パケットを渡す。順序管理方法識別部１１１は、当該受信パケット中の順序番号を受け取り、それを第２の順序番号管理部１１３へ渡す。第２の順序番号管理部１１３では、送信データ格納リスト１１４から当該順序番号の付された同報データを取り出し（ステップＳ２５）、それをペイロード６に書込み、さらに順序番号フィールド４に当該順序番号を書込み（ステップＳ２６）、送信先フィールド２に同報識別子を書き込む等して、図６に示したようなフォーマットのパケットを作成し、当該パケットを送信要求受理部１３１、送信データ構成部１３２を介してネットワークへ送出する（ステップＳ２７）。
【００７１】
ステップＳ２９で、受信データ制御部１２１へ同報データの受信が通知された後の処理動作について、図５に示すフローチャートを参照して説明する。
【００７２】
受信データ制御部１２１へ同報データの受信が通知されると（図５のステップＳ４１）、受信データ制御部１２１は受信データ格納リスト１２２に格納された各同報データに付された順序番号を検索し（ステップＳ４２）、受信データ格納リスト１２２中の同報データの順序番号と最新受信済番号（最近アプリケーション５００へ渡したデータに付されていた順序番号）１２４との差を比較し（ステップＳ４３）、その差が「１」に等しいものが受信データ格納リスト１２２中にあれば、その受信番号の同報データを取り出す（ステップＳ４４）。すなわち、受信データ格納リスト１２２から、最新受信済番号１２４の次の順序番号が付されている同報データを取り出す。そして、最新受信済番号１２４に「１」を加算して更新する（ステップＳ４５）。ここで取り出された同報データは、アプリケーション５００へ渡される（ステップＳ４６）。
【００７３】
なお、ステップＳ４３で受信データ格納リスト１２２に、最新受信済番号１２４との差が「１」より大きい順序番号の同報データのみしかない場合は、（最新受信済番号１２４の次の順序番号の同報データが受信されるまで）そのまま処理を中止する（ステップＳ４６）。また、受信データ格納リスト１２２に、最新受信済番号１２４と同じかあるいは小さい順序番号の同報データが存在している場合は、それらは既にアプリケーション５００へ渡されたものなので、廃棄してもよい（ステップＳ４８）。
【００７４】
（第２の実施形態）
次に本発明の第２の実施形態について、図１０〜図１４を参照して説明する。本実施形態では、図１に示すようなネットワーク構成する情報端末装置１のうちの１つはサーバ端末であり、それ以外の端末をクライアント端末として予め設定されている。
【００７５】
クライアント端末は、図１０に示すように、大きく分けて、例えば会議通信等の情報処理を実行するアプリケーション５００とデータ配送部２００から構成される。データ配送部２００は、アプリケーション５００または順序管理部２１０からの送信要求を受けネットワークへパケットを送信する送信部２３０、同報データに対して、グループ内で順序の一貫性を保つための管理を行う順序管理部２１０、ネットワークからパケットを受信し、アプリケーション５００または順序管理部へ届ける受信部２２０から構成される。
【００７６】
サーバ端末のデータ配送部２５０は、図１１に示すように、順序管理部２６０からの送信要求を受け、ネットワークへパケットを送信する送信部２７０、クライアント端末から受信した番号発行要求パケットに対して、順序番号をグループ内で順序の一貫性を保つための順序番号発行を行う順序管理部２６０、ネットワークからパケットを受信し、順序管理部２６０へ届ける受信部２８０から構成される。
【００７７】
第１の実施形態と同様、図１０、図１１のアプリケーション５００、データ配送部２００、２５０の持つ機能は、その機能を前述のパーソナルコンピュータにより実行させるためのプログラムを記録した記憶媒体、例えばフロッピーディスクを用い、当該記録媒体を上記パーソナルコンピュータ中のフロッピーディスク装置に装着して、当該フロッピーディスクに記録されているプログラムを前述のパーソナルコンピュータ（中のＣＰＵ）で読み取り実行させることにより実現される。
【００７８】
次に、図１に示すようなグループ内の端末間で、１つの同報データを送受信する場合の端末１の処理手順について説明する。なお、図１のグループ内の複数の端末１のうちの１つはサーバ端末で、それ以外はクライアント端末である。
【００７９】
まず、パケットを送信する際のクライアント端末の処理動作について、図１２に示すフローチャートを参照して説明する。
【００８０】
クライアント端末のアプリケーション５００から送信要求受理部２３１へ同報データの送信が要求されると（ステップＳ５１）、送信要求受理部２３１は、順序管理方法識別部２１１へ順序管理要求を出す（ステップＳ５２）。順序管理方法識別部２１１は、アプリケーション５００から渡された、これから送信すべき同報データの長さを調べ（ステップＳ５３）、当該長さが予め定められた閾値以内であれば、第１の順序番号管理部２１２へ、閾値を越えると、第２の順序番号管理部２１３へ順序管理を要求する。データ長の閾値は、第１の実施形態で説明したものと同様である。
【００８１】
順序番号発行要求を受けた第１の順序番号管理部２１２は、図６に示すようなフォーマットの順序番号発行要求パケットを作成する。すなわち、送信先フィールド２にサーバ端末の識別子を、送信元フィールド３に自端末の識別子を、順序番号フィールド４に「ＮＵＬＬ」を、ペイロード６に同報データを、データサイズフィールド５に当該同報データのサイズをそれぞれ書き込む（ステップＳ５４）。
【００８２】
その後、当該作成されたパケットは、送信要求受理部１３１、送信データ構成部１３２を介してネットワークへ送出する（ステップＳ５５）。
【００８３】
一方、ステップＳ５３で順序番号発行要求を受けた第２の順序番号管理部２１４は、同報データを一時的に送信データ格納リスト２１３へ保存し（ステップＳＳ５６）、図７に示したようなフォーマットの順序番号発行要求パケットを作成する。すなわち、送信先フィールド２にサーバ端末の識別子を、送信元フィールド３に自端末の識別子を、順序番号フィールド４に「ＮＵＬＬ」を、データサイズフィールド５には「ＮＵＬＬ」をそれぞれ書き込む（ステップＳ５７）。
【００８４】
その後、当該作成されたパケットは、送信要求受理部１３１、送信データ構成部１３２を介してネットワークへ送出する（ステップＳ５５）。
【００８５】
次に、順序番号発行要求パケットを受信するサーバ端末の処理動作について、図１３に示すフローチャートを参照して説明する。
【００８６】
サーバ端末の受信部２８０は、パケットをネットワークから受け取ると（ステップＳ６１）、当該受信パケットの順序番号フィールド４を見て、順序番号発行済か否か判別して、順序番号発行要求パケットであるか否かをチェックする（ステップＳ６２）。順序番号フィールド４に「ＮＵＬＬ」が書き込まれていれば、当該受信パケットは、順序番号発行要求パケットであるので、順序番号発行部２６１へ順序番号の発行を要求する（ステップＳ６３）。当該受信パケットに順序番号が書き込まれているときは、サーバ端末は、該受信パケットを廃棄する（ステップＳ６６）。
【００８７】
順序番号発行要求を受けた順序番号発行部２６１は、順序番号管理テーブル２６２を見て、順序番号を発行し（ステップＳ６３）、当該受信パケットの順序番号フィールド４に当該発行された順序番号を書き込んで（ステップＳ６４）、送信部２７０を介してネットワークへ当該パケットを同報する（ステップＳ６５）。
【００８８】
次に、順序番号発行要求に応じて発行された順序番号を通知するためのパケットを受信したクライアント端末の処理動作について、図１４に示すフローチャートを参照して説明する。
【００８９】
クライアント端末の受信部２２０は、パケットをネットワークから受け取ると（ステップＳ７１）、受信データ分解部２２３は、当該受信パケットの送信先フィールド２を見て、自端末宛のパケット（同報パケットも含む）以外は廃棄する（ステップＳ７２、ステップＳ８０）。当該受信パケットが自端末宛であるときは、さらに、順序番号フィールド４を見て順序番号発行済か否か判別し（ステップＳ７３）、順序番号が書き込まれているものであれば、さらに、データサイズフィールド５をチェックしてペイロード６を持つパケットであるか否かを判別する（ステップＳ７４）。
【００９０】
当該受信パケットが順序番号とペイロード６とを有するときは、少なくとも順序番号とペイロード６に書き込まれている同報データとを受信データ格納リスト２２２に格納し（ステップＳ７８）、受信データ制御部２２１へ同報データの受信を通知する（ステップＳ７９）。受信データ制御部２２１へ同報データの受信が通知されると、第１の実施形態と同様にして、受信データ格納リスト２２２に格納された同報データが順序番号順にアプリケーションへ渡される。
【００９１】
一方、当該受信パケットが順序番号のみを有するときは、当該受信パケットは、第２の順序番号発行手順に従って発せされた受信番号発行要求を受けて発行された受信番号を通知するためのパケットであるから、当該パケットを第２の順序番号管理部２１４へ渡し、第２の実施形態と同様にして、第２の順序番号管理部１１３は、送信データ格納リスト２１４から同報データを取り出し（ステップＳ７５）、それをペイロード６に書込み、さらに順序番号フィールド４に当該通知された順序番号を書込み（ステップＳ７６）、送信先フィールド２に同報識別子を書き込む等して、図６に示したようなフォーマットのパケットを作成し、当該パケットを送信要求受理部２３１、送信データ構成部２３２を介してネットワークへ送出する（ステップＳ７７）。
【００９２】
以上をグループ内の端末間で行うことにより、効率的にグループ内での順序一貫性を保った同報データの配送をおこなうことができる。
【００９３】
（第３の実施形態）
次に、本発明の第３の実施形態について図１５および図１６を参照して説明する。第１の実施形態の端末および第２の実施形態のクライアント端末から送出される順序番号発行要求パケットは、例えば、図１５に示すフォーマットのものである。
【００９４】
第１の順序番号管理部および第２の順序番号管理部は、図１５に示すようなデータ配送部フレーム８を作成する。すなわち、送信先フィールド２には、アプリケーション５００から要求されたデータの送信先識別子、送信元フィールド３には自端末識別子、順序番号フィールド４には「ＮＵＬＬ」を書き込む。
【００９５】
第１の順序番号管理部および第２の順序番号管理部にて作成されたデータ配送部フレーム８は、下位層を通じてネットワークに送出する際、さらに、図１５に示したように、下位層に通知する送信先としてマルチキャストを示す識別子と、当該パケットの送信元である自端末識別子が付加される。
【００９６】
順序番号発行端末あるいはサーバが、図１５に示したような順序番号発行要求を受信すると、順序番号発行端末は、順序番号を発行する。発行した順序番号は、図１６に示すように、順序番号フィールド４に書込み、送信元フィールド３には順序番号発行端末あるいはサーバの識別子ではなく、順序番号発行要求元の識別子をそのまま用いる。
【００９７】
本実施形態によれば、順序番号発行要求元の端末は、順序番号発行要求パケットを作成する際、順序番号発行端末の識別子を知る必要がない。また、順序番号発行のために順序番号発行端末経由で同報データを送信する場合、一般に用いられるようにパケットヘッダに宛先を付与しただけでは、受信端末側ではすべて順序番号発行端末から届いたデータのように見えるが、本実施形態によれば、図８の第１の順序番号発行手順を用いた場合でも、オーバーヘッドなしに（例えば、改めて同報データの送信元を通知するためのパケットを同報することなく）、受信端末に同報データの真の送信端末を通知することができる。
【００９８】
（第４の実施形態）
次に、本発明の第４の実施例について図１７〜図２３を参照して説明する。ここでは、同報パケットを送信する各端末では、その端末自身でも順序番号を発行し、それをパケットに付し、同報グループ内の各端末では、順序番号の発行されているペイロード６を含まないパケットを受信した際には、それを疑似パケットとして、受信データ格納リスト１２２に一時格納しておくことにより、順序番号発行端末から順序番号の発行を受けた端末が、例えば、当該端末のユーザにより意識的に同報グループから脱退した、あるいは障害が発生した等の原因により、通信不能となり、当該端末から送信されるべき同報パケットを当該同報グループ内の他の端末で受信することができない（あるいは無視すべき）状態が検知された場合、同報グループ内の端末にて当該発行された順序番号をスキップするよう制御することにより、当該脱退あるいは障害の発生した端末（以下、障害端末と呼ぶ）以外の同報グループ内の端末間でスムーズに同報パケットの受信順序を修正することができ、効率のよい同報通信を実現することができる。
【００９９】
なお、同報グループ内の任意の端末の同報グループからの脱退あるいは通信不能等の障害の検知方法としては、例えば、同報グループ内の各端末がそのグループ内のある任意の端末（親端末）により所定時間毎に送出される確認信号に対し、各端末（子端末）から送信される応答信号を有無をチェックする方法や、親端末が子端末から所定時間毎に送出される応答信号の有無をチェックする方法、ユーザの指示によりデータ送信を終了する端末が同報グループ内の各端末にその旨を通知するための同報パケットを送信する方法等があるが、どの検知方法を採用するかは本発明では特に限定するものではない。
【０１００】
図１７は、図１に示すような同報グループのネットワーク構成する情報端末装置１の構成例を示したもので、図２と同一部分には同一符号を付し、異なる部分についてのみ説明する。すなわち、図１７では、障害端末検知部１４０、順序管理部１１０に自端末用順序番号発行部１１７、受信部１２０に受信準備パケット作成部１２６、受信待ちデータ削除部１２５をさらに具備している。
【０１０１】
パケットを送信する際の端末１の処理動作について、図１８に示すフローチャートを参照して説明する。なお、第１の実施形態（図３参照）と異なるのは、端末１では、アプリケーション５００からデータ送信が要求されると自端末用の順序番号を発行することである。
【０１０２】
アプリケーション５００から送信部１３０の送信要求受理部１３１へ同報データ送信が要求されると（ステップＳ９１）、送信要求受理部１３１は、自端末用順序番号発行部１１７へ端末別順序番号の発行要求を出す（ステップＳ９２）。自端末用順序番号発行部１１７は、自端末から発信する同報データ毎に端末別順序番号を発行し（ステップＳ９３）、その発行した端末別順序番号を順序管理方法識別部１１１へ渡す。
【０１０３】
順序管理方法識別部１１１は、アプリケーション５００から渡された、これから送信すべき同報データの長さを調べ、当該長さが予め定められた閾値以内であれば、第１の順序番号管理部１１２へ、閾値を越えると、第２の順序番号管理部１１３へ順序管理を要求する（ステップＳ９４）。
【０１０４】
データ長の閾値とは、当該同報データを転送する上で、前述したような第１の順序番号発行手順および第２の順序番号発行手順をのうち、どれを用いるかを決定するためのものである。
【０１０５】
以降の処理動作（ステップＳ９６〜ステップＳ１０６）は、図３と同様である。但し、ステップＳ９９、ステップＳ１０５で作成される順序番号発行要求パケットには、図２２に示すように、送信元別順序番号フィールド１２にステップＳ９３で発行された端末別順序番号が書き込まれている。
【０１０６】
順序番号発行要求端末では、端末１から図２２に示したような順序番号発行要求パケットを受信すると図４と同様にして順序番号を発行し、ネットワークへ送出する。
【０１０７】
次に、パケットを受信する端末１の処理動作について図１９に示すフローチャートを参照して説明する。
【０１０８】
各端末１の受信部１２０の受信データ分解部１２３は、ネットワークからパケットを受け取ると（ステップＳ１１１）、受信パケットの順序番号フィールド４を見て順序番号発行済か否か判別し（ステップＳ１１２）、順序番号が発行されていれば、受信パケットのデータサイズフィールド５とペイロード６を見て、同報データがついているかどうかをチェックし（ステップＳ１１３）、データがついていれば、受信データ制御部１２１へ当該受信パケットを渡し、同報データの受信を通知する（ステップＳ１１４）。
【０１０９】
ステップＳ１１３で当該受信パケットがペイロードを持たない、順序番号を通知するためのパケットであった場合、受信準備パケット作成部１２６は、送信元と送信元が付けた端末別順序番号と、順序番号発行端末が付けた順序番号をもって、図２３に示すような疑似受信パケットを作成する（ステップＳ１１５）。
【０１１０】
図２３に示すように、疑似受信パケットは、送信先フィールド２、送信元フィールド３、当該受信パケットの送信元の端末にて発行された順序番号を書き込む端末別順序番号フィールド１２、順序番号フィールド４、ペイロード６から構成されていて、ここでは、ペイロード６には「ＮＵＬＬ」が書き込まれている。
【０１１１】
受信データ分解部１２３は、上記疑似受信パケットを受信データ制御部１２１へ渡し、同報データの受信を通知する（ステップＳ１１６）。
【０１１２】
さらに、当該受信パケットがペイロードを持たない、順序番号を通知するためのパケットであった場合、順序番号要求元が自端末か否か調べ（ステップＳ１１７）、自端末が順序番号要求元ならば、受信データ分解部１２３は、当該受信パケットを順序管理方法識別部１１１へ渡す。順序管理方法識別部１１１は、当該受信パケットに書き込まれていた順序番号を受け取ると、第２の順序番号管理部１１３へ渡し、送信データ格納リスト１１４から同報データを取り出し（ステップＳ１１８）、それをペイロード６に書込み、さらに順序番号フィールド４に当該順序番号を書込み（ステップＳ１１９）、送信先フィールド２に同報識別子を書き込む等して、例えば、図２２に示したようなフォーマットのパケットを作成し、当該パケットを送信要求受理部１３１、送信データ構成部１３２を介してネットワークへ送出する（ステップＳ１２０）。
【０１１３】
まだ順序番号が発行されていなくて（例えば、順序番号フィールド４に順序番号が書き込まれていない、あるいは、「ＮＵＬＬ」が書き込まれている）、かつ、自端末が順序番号発行端末で、さらに、当該受信パケットの送信元が自端末でなければ（ステップＳ１２１、ステップＳ１２２）、順序管理方法識別部１１１へ順序番号発行を要求する（ステップＳ１２３）。順序番号が発行されていなくて、自端末が順序番号発行端末でなければ、パケットを廃棄する（ステップＳ１２４）。また、順序番号が発行されていなくて、自端末が順序番号発行端末であっても、当該受信パケットの送信元が自端末であれば、パケットを廃棄する（ステップＳ１２５）。
【０１１４】
ステップＳ１２３において、順序管理方法識別部１１１は、例えば、受信パケットにペイロード６を持つ場合（例えば、図６に示したようなフォーマットのパケットである場合）は第１の順序番号管理部１１２へ、ペイロードを持たない場合（例えば、図７に示すようなフォーマットのパケットである場合）は第２の順序番号管理部１１３へ順序管理を要求する。第１の順序番号管理部１１２および第２の順序番号管理部１１３は、順序番号管理テーブル１１５を参照して順序番号を発行し、順序番号フィールド４に当該発行した順序番号を書き込んで、図６に示すようなフォーマットのパケットの場合には、さらに、送信先フィールド２にグループ内の同報パケットである旨の識別子を書き込み、当該パケットを送信要求受理部１３１、送信データ構成部１３２を介してネットワークへ送出する。
【０１１５】
ステップＳ１１４、ステップＳ１１６で、受信データ制御部１２１へ同報データの受信が通知された後の処理動作について、図２０に示すフローチャートを参照して説明する。
【０１１６】
受信データ制御部１２１へ同報データの受信が通知されると（ステップＳ１３１）、受信データ制御部１２１は、当該受信パケットが疑似パケットか否かを判断し（ステップＳ１３２）、疑似パケットならば、該パケットを受信データ格納リスト１２２へ格納する（ステップＳ１３３）。その際、当該疑似パケットに含まれている順序番号と端末別順序番号とに対応させて、ペイロード６のデータサイズ分の領域が受信データ格納リスト１２２に確保されている。疑似パケットでなければ、受信データ格納リスト１２２に格納された各同報データに付された順序番号を検索する（ステップＳ１３４）。そして、受信データ格納リスト１２２中の同報データに含まれる順序番号に当該受信パケットと等しい順序番号をもったものがあれば（ステップＳ１３５）、受信データ格納リスト１２２の当該順序番号に対応させて当該受信パケットのペイロード６に書き込まれた同報データを格納する。あるいは、当該受信パケットで書き換える（ステップＳ１３６）。
【０１１７】
さらに、受信データ制御部１２１は受信データ格納リスト１２２に格納された各同報データに書かれた順序番号を検索し、受信データ格納リスト１２２中の同報データに含まれる順序番号と最新受信済番号（最近アプリケーション５００へ渡したデータに付されていた順序番号）１２４との差を比較し（ステップＳ１３７）、その差が「１」に等しいものが受信データ格納リスト１２２中にあれば、該同報データを取り出す（ステップＳ１３８）。すなわち、受信データ格納リスト１２２から、最新受信済み番号１２４の次の順序番号が付されている同報データを取り出す。そして、最新受信済番号１２４に「１」を加算して更新する（ステップＳ１３９）。ここで取り出された同報データは、アプリケーション５００へ渡される（ステップＳ１４０）。
【０１１８】
受信データ格納リスト１２２に、最新受信済番号１２４と同じかあるいは小さい順序番号の同報データがある場合は、それらは既にアプリケーション５００へ渡されたものなので、受信データ格納リスト１２２から削除してもよい（ステップＳ１４１）。
【０１１９】
ところで、同報グループ内の端末から障害端末が検知されとき、例えば、その旨を障害端末検知部１４０にて検知した親端末（同報グループ内のどの端末であってもよいが、好ましくは順序番号発行端末）が同報グループからはずすべき当該障害端末の識別子および無視すべき（スキップすべき）端末別順序番号とを含む障害通知パケットを同報し、あるいは、同報グループから脱退しようとしている端末が、同報グループ内の各端末に、自端末の識別子および無視すべき（スキップすべき）端末別順序番号とを含む障害通知パケットを同報する）。この通知を受けて（図２１のステップＳ１５１）、各端末の受信待ちデータ削除部１２５は、受信データ格納リスト１２２から当該通知された端末識別子および端末別順序番号を有する同報データを検索して（ステップＳ１５２〜ステップＳ１５３）、それらを受信削除状態と設定する（ステップＳ１５４）。例えば、受信データ格納リスト１２２の対応する順序番号および端末別順番号を有する同報データに受信削除状態を示すフラグ情報を書き込むことにより受信削除状態と設定する。
【０１２０】
さて、ステップＳ１３７において、受信データ格納リスト１２２に、最新受信済番号１２４との差が「１」より大きい順序番号の同報データのみしかない場合、順序番号の小さいものから、該順序番号が受信削除状態と設定されているか否かをチェックする（ステップＳ１４２）。もし、取り出した同報データが受信削除状態に設定されたものであれば、最新受信済番号に「１」を加算する（ステップＳ１４３）。
【０１２１】
これにより、同報グループから削除すべき端末からの（順序番号の発行済みの）同報データは、その順序番号と送信元順序番号とが同報グループ内の各端末に通知されて受信削除状態に設定されるので、当該端末から同報データが届いたとしても、最新受信済番号以前のデータは廃棄される。
【０１２２】
（第５の実施形態）
次に本発明の第５の実施形態について図２４〜図３０を参照して説明する。本実施形態では、図１に示すようなネットワーク構成する情報端末装置１のうちの１つはサーバ端末であり、それ以外の端末をクライアント端末として予め設定している。
【０１２３】
図２４は、クライアント端末の構成例を示し、図２５にサーバ端末の構成例を示している。なお、図２４に示すクライアント端末の構成は、図１０と同様で、図２５に示すサーバ端末の構成においては、図１１と同一部分には同一符号を付し、異なる部分について説明する。すなわち、図２５のサーバ端末は、障害端末検知部２９０と、障害端末検知部２９０にて障害端末が検知されたときに、当該障害端末から送出された同報パケットのスキップを同報グループ内の端末に指示するための同報パケットを作成する状態管理部２６３を具備している。
【０１２４】
図２６は、パケットを送信する際のクライアント端末の処理動作を示したフローチャートで、図１２と同様であるので説明は省略する。
【０１２５】
次に、順序番号発行要求パケットを受信するサーバ端末の処理動作について、図２７に示すフローチャートを参照して説明する。
【０１２６】
サーバ端末の受信部２８０はパケットをネットワークから受け取ると（ステップＳ１７１）、受信パケットの順序番号フィールド４を見て、順序番号発行済か否か判別して、順序番号発行要求パケットであるか否かをチェックする（ステップＳ１７２）。順序番号フィールド４に「ＮＵＬＬ」が書き込まれていれば、当該受信パケットは、順序番号発行要求パケットであるので、順序番号発行部２６１へ順序番号の発行を要求する（ステップＳ１７３）。
【０１２７】
順序番号発行要求を受けた順序番号発行部２６１は、例えば、図２９に示したような順序番号管理テーブル２６２を見て、順序番号を発行し（ステップＳ１７３）、順序番号管理テーブル２６２に、当該発行した順序番号に対応させて、当該順序番号発行要求パケットの送信元識別子を書き込む（ステップＳ１７４）。さらに、状態管理部２６３に同報データの状態判定を要求する。状態管理部２６３は、受信パケットのデータサイズを見て、同報データが付与されているか否かを調べ、同報データが付与されていれば、当該同報データは送信済状態と判定し、順序番号発行要求パケットであれば、当該同報データは番号発行済状態と判定し、それぞれ「データ送信済」、「番号発行済」を順序番号発行部２６１へ返す。順序番号発行部２６１は、順序番号管理テーブル２６２に状態管理部２６３からの状態判定結果を、それぞれの順序番号に対応させて書き込む（ステップＳ１７４）。
【０１２８】
順序番号発行部２６１は、当該順序番号発行要求パケットの順序番号フィールド４に順序番号を書き込んで（ステップＳ１７５）、送信部２７０を介してネットワークへ当該パケットを送出する（ステップＳ１７６）。
【０１２９】
一方、ステップＳ１７２において、当該受信パケットに順序番号が書き込まれているときは、受信部２８０は、当該受信パケットの送信元識別子と順序番号とを状態管理部２６３へ渡す。状態管理部２６３は、順序番号管理テーブル２６２に記憶された順序番号に、渡された順序番号と同じものを検索したときは（ステップＳ１７７、ステップＳ１７８）、順序番号管理テーブル２６２の当該順序番号に対応する「状態」という項目欄に「データ送信済」を書き込む（ステップＳ１７９）。
【０１３０】
順序番号発行要求に応じて発行された順序番号を通知するためのパケットを受信したクライアント端末では、第２の実施形態と同様にして（図１４参照）、同報データに付された順序番号に従って、当該同報データをアプリケーション５００へ渡す。
【０１３１】
次に、サーバ端末の障害端末検知部２９０が、例えば、クライアント端末の障害検知、クライアント端末からのデータ配送部の動作終了を通知するパケットを受信する等して、同報グループ内の端末から障害端末の存在を検知したときのサーバ端末の処理動作について図２８に示すフローチャートを参照して説明する。
【０１３２】
サーバ端末の障害端末検知部２９０は、障害端末を検知すると、状態管理部２６３に当該障害端末の端末識別子を通知する（ステップＳ１８１）。
【０１３３】
状態管理部２６３は、順序番号管理テーブル２６２を検索し（ステップＳ１８２）、順序番号管理テーブル２６２に、障害端末の識別子と同一の送信元識別子で、状態が「番号発行済」となっている順序番号があれば（ステップＳ１８３）順序番号管理テーブル２６２から当該障害端末の識別子を読み出して、送信部２７０に渡し、受信スキップ用パケットの作成を要求する。送信部２７０は、例えば、図３０に示したような受信スキップ用パケットを作成し（ステップＳ１８４）、同報グループ内の全クライアント端末へ同報する（ステップＳ１８５）。
【０１３４】
クライアント端末では、例えば、同報データの受信の通知を受けた受信データ制御部２２１にて、受信したパケットが受信スキップ用パケットであるか否かをチェックする。受信データ制御部２２１は、例えば、ペイロード６に含まれる受信スキップ通知パケットであるか否かを判断するためのフラグ情報をチェックする等して、当該受信パケットが受信スキップ用パケットであると判断したとき、当該受信スキップ用パケットにて通知された順序番号を参照して、例えば図５と同様な処理を行う。但し、図５のステップＳ４４で受信データ格納リスト２２２から取り出した同報データが受信スキップ用パケットにて通知された順序番号の付されたものであるときは、その取り出した同報データを廃棄し、最新受信済番号２２４の更新のみを行う。
【０１３５】
仮に、受信スキップ通知データを受信後に障害端末から同報データが届いたとしても、最新受信番号済番号２２４は更新されているので、その同報データは廃棄される。
【０１３６】
【発明の効果】
以上説明したように、本発明によれば、同報データの受信順序維持に要するデータ送受信量を軽減しながら効率よく同報通信が行える。
【図面の簡単な説明】
【図１】複数の情報端末装置からなる同報グループのネットワークの構成例を示した図。
【図２】第１の実施形態に係る情報端末装置の構成例を示した図。
【図３】パケットを送信する際の情報端末装置の処理動作を示したフローチャート。
【図４】パケットを受信する際の情報端末装置の処理動作を示したフローチャート。
【図５】受信データ制御部へ同報データの受信が通知されたときの処理動作を示したフローチャート。
【図６】第１の順序番号管理部で作成される順序番号発行要求パケットのフォーマットの一例を示した図。
【図７】第２の順序番号管理部で作成される順序番号発行要求パケットのフォーマットの一例を示した図。
【図８】第１の順序番号発行手順の概略を示したシーケンス図。
【図９】第２の順序番号発行手順の概略を示したシーケンス図。
【図１０】本発明の第２の実施形態に係る情報端末装置のクライアント端末の構成例を示した図。
【図１１】本発明の第２の実施形態に係る情報端末装置のサーバ端末の構成例を示した図。
【図１２】パケットを送信する際のクライアント端末の処理動作を示したフローチャート。
【図１３】順序番号発行要求パケットを受信するサーバ端末の処理動作を示したフローチャート。
【図１４】順序番号発行要求に応じて発行された順序番号を通知するためのパケットを受信したクライアント端末の処理動作を示したフローチャート。
【図１５】本発明の第３の実施形態に係る順序番号発行要求パケットの下位層フレームを含めたフォーマットの一例を示した図。
【図１６】図１５に示したフォーマットの順序番号発行要求パケットを受けてサーバ端末が発行した順序番号を通知するためのパケットのフォーマットの一例を示した図。
【図１７】本発明の第４の実施形態に係る情報端末装置の構成例を示した図。
【図１８】パケットを送信する際の情報端末装置の処理動作を示したフローチャート。
【図１９】パケットを受信した際の情報端末装置の処理動作を示したフローチャート。
【図２０】受信データ制御部へ同報データの受信が通知されたときの処理動作を示したフローチャート。
【図２１】障害端末検知部で障害端末が検知されたときの情報端末装置の処理動作を示したフローチャート。
【図２２】第４の実施形態に係る順序番号発行要求パケットのフォーマットの一例を示した図。
【図２３】疑似パケットのフォーマットの一例を示した図。
【図２４】本発明の第５の実施形態に係る情報端末装置のクライアント端末の構成例を示した図。
【図２５】本発明の第５の実施形態に係る情報端末装置のサーバ端末の構成例を示した図。
【図２６】パケットを送信する際のクライアント端末の処理動作を示したフローチャート。
【図２７】順序番号発行要求パケットを受信するサーバ端末の処理動作を示したフローチャート。
【図２８】同報グループ内の端末から障害端末の存在を検知したときのサーバ端末の処理動作を示したフローチャート。
【図２９】サーバ端末の順序番号管理テーブルの記憶例を示した図。
【図３０】受信スキップ用パケットのフォーマットの一例を示した図。
【符号の説明】
１…情報端末装置（端末）
１００…データ配送部
１１０…順序管理部
１１１…順序管理方法識別部
１１２…第１の順序番号管理部
１１３…第２の順序番号管理部
１１４…送信データ格納リスト
１１５…順序番号管理テーブル
１１７…自端末用順序番号発行部
１２０…受信部
１２１…受信データ制御部
１２２…受信データ格納リスト
１２３…受信データ分解部
１２４…最新受信済番号
１２５…受信待ちデータ削除部
１２６…受信準備パケット作成部
１３０…送信部
１３１…送信要求受理部
１３２…送信データ構成部
１４０…障害端末検知部
２００…クライアント側データ配送部
２１０…順序管理部
２１１…順序管理方法識別部
２１２…第１の順序番号管理部
２１３…第２の順序番号管理部
２１４…送信データ格納リスト
２２０…受信部
２２１…受信データ制御部
２２２…受信データ格納リスト
２２３…受信データ分解部
２２４…最新受信済番号
２３０…送信部
２３１…送信要求受理部
２３２…送信データ構成部
２５０…サーバ側データ配送部
２６０…順序管理部
２６１…順序番号発行部
２６２…順序番号管理テーブル
２６３…状態管理部
２７０…送信部
２８０…受信部
２９０…障害端末検知部
５００…アプリケーション
【図１】
0003839967.tif 000002
【図２】
0003839967.tif 000003
【図３】
0003839967.tif 000004
【図４】
0003839967.tif 000005
【図５】
0003839967.tif 000006
【図６】
0003839967.tif 000007
【図７】
0003839967.tif 000008
【図８】
0003839967.tif 000009
【図９】
0003839967.tif 000010
【図１０】
0003839967.tif 000011
【図１１】
0003839967.tif 000012
【図１２】
0003839967.tif 000013
【図１３】
0003839967.tif 000014
【図１４】
0003839967.tif 000015
【図１５】
0003839967.tif 000016
【図１６】
0003839967.tif 000017
【図１７】
0003839967.tif 000018
【図１８】
0003839967.tif 000019
【図１９】
0003839967.tif 000020
【図２０】
0003839967.tif 000021
【図２１】
0003839967.tif 000022
【図２２】
0003839967.tif 000023
【図２３】
0003839967.tif 000024
【図２４】
0003839967.tif 000025
【図２５】
0003839967.tif 000026
【図２６】
0003839967.tif 000027
【図２７】
0003839967.tif 000028
【図２８】
0003839967.tif 000029
【図２９】
0003839967.tif 000030
【図３０】
0003839967.tif 000031