JPH09261269A - データ配送方法 - Google Patents

データ配送方法

Info

Publication number
JPH09261269A
JPH09261269A JP6957896A JP6957896A JPH09261269A JP H09261269 A JPH09261269 A JP H09261269A JP 6957896 A JP6957896 A JP 6957896A JP 6957896 A JP6957896 A JP 6957896A JP H09261269 A JPH09261269 A JP H09261269A
Authority
JP
Japan
Prior art keywords
packet
data
packet number
information
routine
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.)
Granted
Application number
JP6957896A
Other languages
English (en)
Other versions
JP3345546B2 (ja
Inventor
Seita Morioka
靖太 森岡
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 JP06957896A priority Critical patent/JP3345546B2/ja
Priority to US08/827,311 priority patent/US6009094A/en
Publication of JPH09261269A publication Critical patent/JPH09261269A/ja
Application granted granted Critical
Publication of JP3345546B2 publication Critical patent/JP3345546B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/324Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Facsimiles In General (AREA)

Abstract

(57)【要約】 【課題】ネットワークによって相互に接続された通信機
器間でのデータ配送方法に関して、各機器からのデータ
送信順序を受信側機器で一意に並べ替えて処理したり、
各機器で受信・処理されるデータを同一内容に維持する
ことは困難であった。 【解決手段】ネットワーク上のうち一つの情報通信機器
に、連続で一意なパケット番号を発行するパケット番号
生成手段を備え、該情報通信機器を含む他の情報通信機
器は、情報データをパケット化して送信する際に、該パ
ケット番号生成手段に該パケットに対するパケット番号
の発行を要求し、該要求に応じて該パケット番号生成手
段はパケット番号を発行し、該パケット番号を該パケッ
トに付加して送信し、かつ受信に際して、到着したパケ
ットのパケット番号を参照して該パケット番号に基づい
た順序にて情報データを処理する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ネットワークによ
って相互に接続された情報通信機器間でのデータ配送方
法に関する。
【0002】
【従来の技術】ネットワークによって相互に接続された
情報通信機器間での情報データの交換は、交換されるデ
ータの性質によって、その交換されるデータの到着順序
に強く依存するものがあり、それら複数の情報通信機器
間で交換される順序を一意に定めることが要求されるこ
とがある。
【0003】例えば、図1に示すように情報通信機器
A,B,Cの3台で構成されるネットワークシステムに
おいて、各情報通信機器A,B,C,は、同一内容のデ
ータを各機器にて複製して保持し、そのデータの更新
を、自機器におけるデータを書き換え、その変更点を他
情報通信機器に伝達し、他情報通信機器は該変更点に基
づいて該情報通信機器が保持するデータを更新すること
によって、各情報通信機器が保持するデータ内容を一意
に維持する。このような方式は、交換されるデータ量が
少くてすむことから、よく用いられている。図2は、こ
の様子を示し、機器Aにてユーザが「○を記入する」イ
ベントが、各機器に伝達され(図2(a) )、各機器が保
持するデータが更新される(図2(b) )。しかしなが
ら、該データの更新は、各情報通信機器において同時並
行的に行なわれることから、その更新が時間的に一意な
形で行なわれないと、つまり変更点を示すパケットの到
着順序が、機器によって異なることがあると、図3に示
すように、各情報通信機器によって、その保持する内容
にずれが生じてしまうことになりかねない。図3(a) で
は、同時に機器Aで「○を囲む領域を移動する」イベン
ト(イ)を送信し、機器Bで「現在の○の位置に×を記
入する」イベント(ロ)を送信している。単純にイベン
トを示すデータの到着順の処理をすると、ローカルで受
信する場合が最も速いので、 ・機器Aでは、(イ)、(ロ)の順 ・機器Bでは、(ロ)、(イ)の順 ・機器Cでは、例えば(ロ)、(イ)の順(到着順) で到着し、処理されるので、この場合、機器Aでのデー
タは、機器B,Cのデータに対して差異を生じることに
なる(図3(b) )。
【0004】また、自機器のデータを更新する方法につ
いても、大きく分けて、 ・まず自機器のデータを更新し、相手側へ送信(送信完
了を確認しない) ・まず自機器のデータを更新し、相手側へ送信。送信完
了が確認できなければ、復元する。
【0005】・相手側への送信が完了してから、自機器
データを更新。 といった方法を挙げることができるが、前者では、自機
器のデータ更新および送信が最優先され、しかも他機器
の状態は関知しない。中者では、自機器のデータ更新お
よび送信が最優先されるが、他機器が受信できなければ
無効とする。後者では、他機器が受信できたことを確認
して後、はじめて更新可能となり、データの到着順序は
さておき、データが到着した事実は、各機器で等しい。
上記図2、3は、前者の方法を前提としているが、中
者、後者の方法を採用しても、同様の事態が生じる。
【0006】このような差異の発生を回避し、到着順序
を一意に保つ方法については、これまでもいくつかの方
法が提案、利用されている。 1.各情報通信機器間で時刻を同期させ、データパケット
に送信時刻を付与して送信することで時間的に一意なも
のとする方法 2.各情報通信機器はデータパケットを一旦サーバに向け
て送信し、サーバではデータパケットの順序を整理し、
これを各情報通信機器に送信することで、一意性を保つ
方法 3.各情報通信機器間で一つだけトークンを発行し、一定
時間毎にトークンを順次別の機器に移していく。各情報
通信機器は該トークンを所持している期間だけデータパ
ケットを送出でき、これによって一意性を保つ 1.の方法では、(1) いかに時刻を同期するか、(2) 異な
る複数の情報通信機器から同時刻に送信されたデータパ
ケットをどう扱うか(実際に同時刻に送信されずとも、
再送などによって実際に送信タイミングがずれる場合
に、このような状況が生じる)、といった問題点があ
る。
【0007】2.の方法では、(1) サーバに対する負荷を
考慮すると、サーバは通常の情報通信機器よりも能力的
に優れたものを充てる必要があること、(2) 送信元機器
から他の情報通信機器に送信する場合と単純に比較する
と、2倍の経路を経る事になり、これは単純にトラフィ
ックが2倍になることを意味する。(3) データパケット
の順序に関する情報はサーバが一元的に管理している。
サーバの突然の喪失といった事態に備え、それら管理さ
れるデータの待避といった回避手段が必要。といった問
題点がある。
【0008】3.の方法では、(1) トークンの喪失時の復
旧処理(2) トークン交換のための通信による通信コスト
の増加、といった問題点がある。 以上のような、これまでの方法における問題を解決する
方法として、一台の機器が該機器が受信したパケットの
順序情報を、定期的に他機器に送信し、これら機器は、
パケットの順序情報に基づいて、受信したパケットの処
理順序を整理した後に、各パケットを処理する方法を、
これまでにも提案したが、この方法では、パケット順序
情報を得てからでなければ、受信パケットの処理ができ
ないことから、平常時におけるパケット順序の変動が小
さい場合においても、パケット順序情報を得なければな
らず、突発的な順序変動に対して、平常時と変わらぬ対
処が可能な代わりに、平常時におけるレスポンスの低下
を招くことになる。
【0009】
【発明が解決しようとする課題】以上に示したように、
従来の技術では、ネットワーク上の情報通信機器間にて
交換されるデータパケットの順序を一意に保つ方法は、
時刻やトークンによる管理、またはサーバの設置といっ
た一元管理の方法といったものがあるが、いずれの方法
も通常時の通信コストやレスポンス送れの増大、負荷の
一極集中とそれに伴なう障害復旧時の高コストといった
問題を抱えていた。本発明は、データパケットの順序維
持に要するコストを低減することができるような、ネッ
トワーク上の通信機器間のデータ配送方法の提供を目的
とする。
【0010】
【課題を解決するための手段】以上の目的を達成するた
めに、本願発明においては、ネットワークを介して複数
の情報通信機器間で、情報データをパケット形式で送受
信して、各パケットの送受信時の特定をするためのデー
タ配送方法において、任意の前記情報通信機器には、連
続した一意のパケット番号情報を生成するパケット番号
生成手段が備えられ、前記各情報通信機器が、前記情報
データを送信する前に要求した前記任意の前記情報通信
機器のパケット番号生成手段が生成した前記情報データ
のパケット番号を受信し、前記各情報通信機器が前記情
報データに前記パケット番号を付加したパケットを送信
して、該パケットを受信した前記情報通信機器は、前記
パケットの前記パケット番号順に、前記パケットの前記
情報データを処理することを特徴とするものである。
【0011】
【発明の実施の形態】以下、本発明の一実施例を図面を
用いて説明する。本発明のデータ配送方法が実行される
情報通信機器は、図4に示すように、送信部16、受信部
17、発番サーバ部19、発番クライアント部18、制御部2
0、入出力部21、主記憶22、発番サーバ情報23、発行済
パケット番号情報24、処理待機パケットリスト25、処理
済パケット番号情報26から構成される。
【0012】入出力部21は、ユーザからの入力を受けつ
け、その入力をユーザイベントとして、制御部20に渡
す。また主記憶22に格納されているデータを、画面等に
表示し、ユーザがデータを参照する手段を提供する。
【0013】制御部20は、機器全般の制御、および他機
器との通信制御を行ない、他機器に対する制御コマンド
を送信部16に渡す。また、受信部17から渡された制御コ
マンドおよびイベントによって示される命令に従って、
主記憶22に格納されているデータを更新する。加えて、
入出力部から渡されたユーザイベントのうち、主記憶22
に格納されているデータを変更することに関連するもの
を、データパケットとして生成し、自機器を含む他機器
に送信するため、該データパケットを送信部16に渡す。
【0014】送信部16は、(1) 制御部20より、データパ
ケットと制御コマンドを、(2) 発番クライアント部18よ
り、発番サーバ部宛パケット番号発行要求とパケット番
号を、(3) 発番サーバ部19より、発番クライアント部宛
パケット番号発行応答を、各々受け取り、(ア)データ
パケットに対しては、発番クライアント部18に対して、
該データパケットに対する、パケット番号発行を要求し
た後、発番クライアント部18からのパケット番号を待ち
受け、(イ)制御コマンドに対しては、該制御コマンド
を目的の機器に向けて送信する。(ロ)パケット番号に
対しては、該パケット番号に対応する、待ち受け中のデ
ータパケットに対して、該パケット情報に基づくヘッダ
を生成し、これを該データパケットに付加した後、該デ
ータパケットを自機器を含む目的の機器に向けて送信す
る。(ウ)発番サーバ部宛パケット番号発行要求に対し
ては、該発番サーバ部宛パケット番号発行要求を、宛先
の機器、即ち発番サーバ情報にて示される、通信中の複
数の機器のうちで発番サーバ部19が稼働している機器に
向けて送信する。(エ)発番クライアント部宛パケット
番号発行応答に対しては、該発番クライアント部宛パケ
ット番号発行応答を、宛先の機器、即ち対応する発番サ
ーバ部宛パケット番号発行要求の送信元の機器に向けて
送信する。
【0015】受信部17は、自機器および他機器からのパ
ケットを受信し、該パケットなら (1) データパケットであるならば、該パケットのパケッ
ト番号と、処理済パケット番号情報比較し、該パケット
番号が該処理済パケット番号に連続して続くものである
ならば、該データパケットを制御部に渡し、処理済パケ
ット番号情報を更新する。さもなくば、該データパケッ
トを処理待機パケットリストに格納する。 (2) 制御コマンドならば、制御部20に渡す。(3) 発番サ
ーバ部パケット番号発行要求ならば、発番サーバ部19に
渡す。(4) 発番クライアント部宛パケット番号発行応答
ならば、発番クライアント部18に渡す。これらの後、
(ア)処理待機パケットリスト内のデータパケットのう
ち、そのパケット番号が、処理済パケット番号に連続し
て続くものがあれば、該データパケットを処理待機パケ
ットリストから除いた後、制御部20に渡し、処理済パケ
ット番号情報を更新する。を、該当のデータパケットが
なくなるまで繰り返す。
【0016】発番クライアント部18は、送信部16からの
パケット番号発行要求を受けとると、発番サーバ部19が
稼働中の機器情報を指す、発番サーバ情報を参照し、該
発番サーバ部19が稼働中の機器に向けての発番サーバ宛
パケット番号発行要求を生成し、送信部16に渡す。受信
部17からの発番クライアント部宛パケット番号発行応答
を受けとると、該発番クライアント部宛パケット番号発
行応答が示す、パケット番号を送信部16に渡す。
【0017】発番サーバ部19は、受信部17から発番サー
バ部宛パケット番号発行要求を受けとると、発行済パケ
ット番号情報を参照して、該情報に連続して続くパケッ
ト番号を生成し、これをもとにライアント部宛パケット
番号発行応答を生成し、送信部17に渡し、発行済パケッ
ト番号情報を更新する。
【0018】主記憶22は、本実施例の場合は、各機器で
同一内容が維持されるところのデータを格納する。パケ
ット番号は、その目的に応じて、その形式を任意に設定
できる。例えば、ある通信名「aiueo 」という通信にお
ける1234番目のパケットのパケット番号を“aiueo-123
4”と表記する。パケット番号は、一意に与えられ、十
分な時間内において、二つとして同じものが与えられる
ことはない。
【0019】パケットBがパケットAに対して「連続か
つ続く」であるとは、パケットBのパケット番号が、パ
ケットAのパケット番号よりも後に発行され、かつ直後
に発行されたこと、であると定義する。例えば、パケッ
トAを“aiueo-1234”とすると、この場合のパケットB
のパケット番号は“aiueo-1235”となる。
【0020】パケット番号発行要求は、あるデータパケ
ットに対するパケット番号の発行を要求することを示
す。該データパケットは、パケット番号とは異なる。パ
ケット識別情報によって、他のデータパケットと識別さ
れる。
【0021】発番サーバ宛パケット番号発行要求は、発
番クライアント部18による、パケット番号発行要求の、
発番サーバ部19への中継であることを示す。発番サーバ
部19に対して、どの情報通信機器の発番クライアント部
18からであるかを示す情報が含まれる。
【0022】発番クライアント部宛パケット番号発行応
答は、該応答に対応する発番サーバ部宛パケット番号発
行要求に対しての発番サーバ部19の、要求元発番クライ
アント部宛の応答を示す。宛先の発番クライアント部18
が稼働する機器は、該発番サーバ宛パケット番号発行要
求から得る。
【0023】発行済パケット番号情報は、発番サーバ部
19が、その時点までに発行したパケット番号の最新の値
である。処理済パケット番号情報は、受信部17が、制御
部20に渡したデータパケットのパケット番号の最新の値
である。
【0024】処理待機パケットリストは、処理済パケッ
ト番号より後に続くが、処理済パケット番号と連続しな
い、パケット番号のデータパケットを格納する。発番サ
ーバ情報23は、発番サーバ部19が稼働中の情報通信機器
情報を示す。
【0025】各情報通信機器は、各々がパケットを送受
信することによって通信を行なう。パケットは、その目
的によってデータパケットと制御パケットとに分類す
る。制御パケットは、通信を遂行・実現するために必要
なパケットであり、データパケットは、通信上で、目的
とする情報交換内容を格納するパケットである。本発明
が示す、パケット順序の整列は、このうちのデータパケ
ットに対して適用されるものであり、制御パケットは対
象外である。これは、パケット番号発行の要求や応答に
おいて、機器間でこれらを遂行するための通信が行なわ
れ、これには制御パケットを使用するため、制御パケッ
ト自身が、パケット順序制御を受けることは、自己矛盾
を呈し、かつデータパケットとの間で共通のパケット順
序制御を受ける必要がないためである。また発番サーバ
部19および発番クライアント部18が送受信部16、17を通
じて行なう要求および応答は、制御パレットに属し、こ
れらの要求および応答パケット自体が、パケット番号を
付与され、これが示す順序に従って処理されることはな
い。発番サーバ宛パケット番号発行要求等も、制御パケ
ットに分類されるが、本発明において特徴的な役割を果
すため、他の制御パケットとは別に取り扱う。
【0026】図4に示すように、ユーザ入力による、デ
ータを更新するようなイベントは、一旦送信部によって
データパケットとして自機器および他機器に向けて送信
された後、受信部17によって受信され、制御部20経由で
主記憶22中の該当のデータを更新後、入出力部21によっ
てユーザに示される。ユーザ入力によるイベントが自機
器の保持する主記憶22のデータを直接更新するのではな
いことに注意する。これは、発番クライアント部18およ
び発番サーバ部19によるパケット番号に基づいて、自機
器でのイベントを含む全機器でのイベントを一意な順で
簡潔に処理するために必要である。
【0027】第1の発明のデータ配送方法は、各情報通
信機器において、ユーザからの入力または機器の内部状
態において発生したイベントをデータパケットに変換す
るステップと、該データパケットに対応するパケット番
号の生成を発番クライアントルーチンに要求するステッ
プと、発番クライアントルーチンからの応答を待つステ
ップと、発番クライアントルーチンによって発行された
パケット番号、および付帯情報からヘッダを生成しデー
タパケットに付加するステップと、データパケットを送
信するステップからなる送信ルーチンと、受信したデー
タパケットのヘッダを取得するステップと、該ヘッダの
パケット番号が、処理済パケット番号と連続かつ続くも
のであれば、該データパケットを処理して、処理済パケ
ット番号を更新し、さもなくば、該パケットを処理待機
パケットリストに保存するステップと、処理済パケット
番号に連続かつ続いている処理待機パケットリスト中の
データパケットを順次処理するステップと、からなる受
信ルーチンと、他機器の発番サーバルーチンに、送信部
16を通じて、あるデータパケットに対応するパケット番
号の発行を要求するステップと、該発番サーバルーチン
による該要求に対応するパケット番号の発行を待ち受け
るステップと、受信部17を通じて、該発番サーバルーチ
ンから該要求に対応するパケット番号を受けると、要求
元の送信ルーチンに渡すステップとからなる、発番クラ
イアントルーチンと、受信部17を通じての、発番クライ
アントルーチンからのパケット番号発行要求を受け取る
ステップと、該パケット番号要求に対して、発行済パケ
ット番号と連続する、新たなパケット番号を発行するス
テップと、発行された該パケット番号を、送信部16を通
じて要求元発番クライアントルーチンに渡すステップ
と、発行済パケット番号を該パケット番号にて更新する
ステップとからなる、発番サーバルーチンとからなる。
【0028】各ルーチンは、通信状態にある各機器が保
有し、送信ルーチンと受信ルーチン、発番クライアント
ルーチンは、各機器で各々動作するが、発番サーバルー
チンは、唯一つの機器上で動作する。各機器の発番クラ
イアントルーチンは、発番サーバルーチンが稼働中の機
器を知っており、該機器で稼働中の発番サーバルーチン
に対してパケット番号の発行を要求できる。
【0029】本発明のデータ配送方法は、例えばデータ
配送プログラムとして実現され、主記憶22に格納され、
制御部20によって、その内容が実行される。該データ配
送プログラムは、任意の情報通信機器において実行可能
な状態で、媒体上に格納および配布され、該情報通信機
器が有する外部記憶入出力手段によって、主記憶へ移
し、格納し、実行できるとする。
【0030】第1の発明の作用について説明する。最初
の送信ルーチンについて説明する。ある通信機器におい
て、システム内部またはユーザ入力によるイベントが発
生すると、該イベントに基づいて、他通信機器に送信す
べきデータを生成する。該データをデータパケットに変
換し、該データパケットを他のパケットと区別するため
の識別符号を生成する。該識別符号は、該機器内で生成
されたものであり、他通信機器との通信におけるパケッ
トの順序を規定するものではない。発番クライアントル
ーチンに、該パケットのパケット番号発行を要求し待機
する。発番クライアントルーチンから、該パケットのパ
ケット番号が返ってきたら、該パケット番号と、識別符
号およびその他の情報を合わせて、ヘッダを生成し、該
データパケットに該ヘッダを付加して、自機器を含む相
手先機器に向けて送信する。
【0031】以上の動作によって、ある機器において発
生したイベントを、パケット化し、該パケットに該セッ
ションにおいて一意かつ連続した番号を添えて送信でき
る。次に受信ルーチンについて説明する。まず、通信開
始後、初めて自機器を含む他機器よりデータパケットが
到着すると、データパケットを処理し、該データパケッ
トのパケット番号を、処理済パケット番号として保持す
る。自機器を含む他機器よりデータパケットが到着する
と、該データパケットのパケット情報を参照し、該パケ
ット番号が、処理済パケット番号より後に位置し、かつ
連続である場合には、そのまま該データパケットを処理
し、処理済パケット番号を更新する。該パケット番号が
処理済パケット番号より後に位置し、かつ連続でない場
合には、処理待機パケットリスト25に追加される。該パ
ケット番号が、処理済パケット番号より前に位置する場
合には、該パケットを廃棄する。これによって、既に処
理されたパケットに連続して続くパケットのみが処理さ
れ、それ以外のパケットは、処理を保留されることにな
る。
【0032】処理待機パケットリスト25を参照し、処理
済パケット番号より後に位置し、かつ連続であるような
パケット番号を有するデータパケットが存在する場合に
は、該データパケットを処理し、処理済パケット番号情
報26を更新する。これを該データパケットが存在しなく
なるまで繰り返す。これによって、待機中であったデー
タパケットが、連続して処理できる条件が揃った場合
に、処理される。
【0033】以上の方法によって、パケット番号がデー
タパケットを、パケット番号が示す順に従って、処理す
ることが可能となる。次に発番クライアントルーチンに
ついて説明する。発番クライアントルーチンは、最初
に、発番サーバルーチンが起動している機器がどれかを
知る。自機器の送信ルーチンより、パケット番号発行要
求を受けとると、該発行要求を、発番サーバルーチンに
引き継ぎ、発番サーバルーチンからの回答を待ち、発番
サーバルーチンからの回答、すなわちパケット番号を、
要求元の送信ルーチンに返す。
【0034】次に発番サーバルーチンについて説明す
る。発番サーバルーチンは、最初に処理済パケット番号
情報24を初期化する。発番クライアントルーチンより、
パケット番号発行要求を受けとると、処理済パケット番
号を参照し、該処理済パケット番号に連続かつ続くパケ
ット番号を生成し、該パケット番号を該発番クライアン
トルーチンに渡した後、該パケット番号にて処理済パケ
ット番号を更新する。
【0035】以上によって、各機器におけるパケット番
号発行要求を発番クライアントルーチンを通じて、発番
サーバルーチンに一元化でき、かつ連続かつ一意なパケ
ット番号を発行することができる。
【0036】以上に述べたように、発番サーバルーチン
は、相互に通信状態にある情報通信機器間の唯一つの情
報通信機器において稼働する他、本方法の変更例とし
て、相互に通信状態にある情報通信機器間で複数の通信
チャネルが確立される場合の例を挙げて置く。これまで
の提案方法では、複数の通信チャネルで一つの発番サー
バルーチンが稼働することとなるが、各々の通信チャネ
ルにて交換されるデータパケットの順序が一つの発番サ
ーバルーチンで処理されるため、ある通信チャネルにお
けるデータパケットの順序が、該通信チャネルとは無関
係の別通信チャネルのデータパケットの存在に左右され
てしまう問題が生じる。このことは、各通信チャネルの
状態が、他通信チャネルの状態に影響されることを示
し、「他の通信による妨げを受けない」という通信チャ
ネルの目的を果さないという問題を意味している。
【0037】本変更例は、各通信チャネル毎に、情報通
信機器間の唯一つの情報通信機器において発番サーバル
ーチンが稼働し、各情報通信機器の発番クライアントル
ーチンは、各通信チャネルに対する発番サーバルーチン
が稼働している情報通信機器情報を各々対応づけて格納
する番サーバ情報を参照し、通信チャネル毎に発番サー
バ部宛パケット番号発行要求の要求先情報機器を切り替
えて、要求する。という方法を挙げておく。この方法に
よって、上記問題が解決されるとともに、通信チャネル
毎に稼働する発番サーバルーチンが分散され(同一情報
通信機器において複数のチャネルに対する発番サーバル
ーチンが各々稼働していてもよい)、特定の情報通信機
器への負荷集中を避けることができる。
【0038】次に、第1の発明に関する実施例を示す。
図5は第1の発明の情報通信機器の動作フローチャート
である。フローチャートは、送信ルーチン(a) 、受信ル
ーチン(b) 、発番クライアントルーチン(c) 、発番サー
バルーチン(d) からなり、各々のルーチンが並行して実
行されることによって、図4に示した該情報通信機器が
動作する。
【0039】以下、上記ルーチンをフローチャートに書
き下す。送信ルーチンの動作について説明する。 (ステップa0)機器において相互に情報交換が必要とさ
れる何らかのイベントが発生する。
【0040】(ステップa1)該イベントを、データパケ
ットに変換する。 (ステップa2)パケット識別情報を生成する。パケット
識別情報の形式および生成方法は、様々な形態を挙げる
ことができるが、一例として「該機器の機器ID+該機器
からの(あらゆる)パケット送信の通算番号」や、「該
機器の機器ID+該機器の現在の時刻」などを挙げること
ができる。例えば、前者の形態を採用すると、機器IDが
8877の機器から通算2277392 番目のパケットのパケット
識別情報は、「8877-2277392」となる。
【0041】(ステップa3)該パケット識別情報に対応
するパケット番号の発行を、発番クライアントルーチン
に要求する。 (ステップa4)該要求に対する発番クライアントルーチ
ンからの応答があるまで、待機する。
【0042】(ステップa5)パケット識別情報、パケッ
ト番号およびその他の付加情報から、ヘッダ情報を作成
する。 (ステップa6)データパケットにヘッダを添付する。
【0043】(ステップa7)該データパケットを、自機
器および他機器に向けて送信する。ステップa0へ。ステ
ップa0〜a6は、上記のように連続的に行なう他、各ステ
ップ毎または、いくつかのステップ毎に分割し、それら
を並行に動作させて、実行してもよい。
【0044】次に受信ルーチンの動作について説明す
る。 (ステップb0)自機器および他機器から送信されたパケ
ットが到着する。 (ステップb1)到着したパケットを、データパケットま
たは制御コマンドのいずれかに分類する。データパケッ
トならば、ステップb2へ。制御コマンドならばステップ
b10 へ。
【0045】(ステップb2)(データパケットの場合)
該データパケットのパケット番号を、処理済パケット番
号と比較し、該パケット番号が、処理済パケット番号に
対して連続かつ続いていれば、ステップb3へ。そうでな
ければ、ステップb5へ。
【0046】(ステップb3)該データパケットの内容を
処理する。 (ステップb4)処理済パケット番号を、該データパケッ
トのパケット番号にて更新。ステップb6へ。
【0047】(ステップb5)該データパケットを、処理
待機パケットリストに格納する。 (ステップb6)処理待機パケットリスト中のデータパケ
ットで、該データパケットのパケット番号が、処理済パ
ケット番号に連続かつ続くものが存在すれば、ステップ
b7へ、そうでなければステップb0へ。
【0048】(ステップb7)該データパケットを、処理
待機パケットリストから除く。 (ステップb8)該データパケットの内容を処理する。 (ステップb9)処理済パケット番号を、該データパケッ
トのパケット番号にて更新。ステップb6へ。
【0049】(ステップb10 )(制御情報の場合)制御
情報の内容に基づいて、通信機器を制御する。ステップ
b0へ。 以上で、パケット番号が連続したパケットが到着する
と、順次処理され、連続しないパケットは、待機状態と
なり、その後、再度チャックされて、順次処理される。
このようにして、パケット番号に基づいて、到着したパ
ケットをパケット番号順に処理できる。
【0050】通信開始時には、処理済パケット番号を獲
得する必要があるが、この獲得方法は、本ルーチンとは
別に定義される。いくつかの方法があり、(1) 通信開始
後、最初の受信したデータパケットを処理し、該パケッ
トのパケット番号を、処理済パケット番号として初期化
する、方法や、(2) 通信開始時の通信を確立するための
手続き時に、該手続の一つとして、処理済パケット番号
を授受する方法、等が挙げられる。
【0051】発番クライアントルーチンの動作について
説明する。 (ステップc1)送信ルーチンより、あるパケット識別情
報に対応するパケット番号発行の要求を受けとる。
【0052】(ステップc2)発番サーバルーチンに、該
要求を送信部を通じて転送する。 (ステップc3)発番サーバルーチンからの受信部を通じ
ての応答を待つ。 (ステップc4)一定期間待って、応答がなければエラー
として、要求元の送信ルーチンに返す。発番サーバルー
チンからの応答があれば、該応答を、すなわち該パケッ
ト識別情報に対応するパケット番号を、要求元の送信ル
ーチンに返す。
【0053】発番サーバルーチンの動作について説明す
る。 (ステップd1)発番クライアントルーチンより、あるパ
ケット識別情報に対応するパケット番号発行の要求を受
信部を通じて受けとる。
【0054】(ステップd2)該要求に対して、発行済パ
ケット番号に連続して続く、番号を新たなパケット番号
として設定する。 (ステップd3)該パケット番号を要求元の発番クライア
ントルーチンに送信部を通じて返す。
【0055】(ステップd4)発行済パケット番号を、該
パケット番号に更新する。発番サーバルーチンは、各通
信機器が持つものの、通信状態にある通信機器間で1つ
の機器においてのみ動作する必要がある。これは、同時
に2つ以上の発番サーバルーチンが動作して、各個にバ
ラバラにパケット番号を発行することによる通信の混乱
を避けるためである。設定するための方法としては、い
くつか挙げられる。例えば、(1) 通信開始時の確立手続
において、発番サーバルーチン起動の宣言が早い機器に
おいて起動する。(2) 最初に通信開始を要求した機器に
おいて起動する。(3) 発番サーバルーチンが既に起動さ
れている場合に、新たな機器による通信開始の要求があ
ると、該機器に対して、該発番サーバルーチンの情報を
通知する。などして少なくとも稼働中の発番サーバルー
チンが、通信機器間で一つ以下であることを保証する。
サーバがその活動を停止した場合には、新たに別の機器
において発番サーバルーチンを稼働させる必要がある
が、その方法には、例えば、パケット番号の発行を要求
して、タイムアウトまたは発番サーバルーチンの不在こ
とに起因するエラーが返ってきた場合には、自らが発番
サーバルーチンを起動して、その旨を他通信機器に通知
する方法が挙げられる。また、複数の機器において発番
サーバルーチンが稼働状態となり、発行されるパケット
番号が混乱した場合には、一旦双方の機器でリセットし
(サーバ停止信号を出すなど)、上記「発番サーバがい
ない場合の手段」を実行して解消するなどの方法があ
る。
【0056】動作例を示す。図6に示すのは、パケット
番号で1,2,3,5,6,7の順にデータパケットが
到着した際の、受信ルーチンの処理の進行に伴なう、処
理済パケット番号と、処理待機パケットリストの様子を
示している。パケット番号が連続して到着する場合に
は、到着毎にすぐ処理され、不連続に到着した場合も、
ステップb6〜b9の整列処理によって、正しい順序で処理
される様子がわかる。
【0057】いくつかの変更例を次に挙げる。 (1) データパケットが一定時間内に連続して受信されな
い場合、すなわち受信したデータパケットが処理され
る、処理待機パケットリストに格納されることが続く状
態においては、発番サーバルーチンに対して再送を要求
する。発番サーバルーチンは、発行したパケット番号に
対しては、機器から送信されたパケットを受信したら、
これを保管しておき、再送要求に対しては、保管してお
いたパケットを送信する。(2) 発番サーバルーチンによ
る、パケット番号の発行を、発行要求元機器だけでな
く、通信中の全機器に通知する。各機器は、パケット番
号の発行状況を記憶しておき、再送を要求する場合に
は、発番サーバに対してではなく、記憶していた該パケ
ット番号の内容に基づいて、該パケット番号の要求元機
器に対して再送を要求する。(3) 発行済のパケット番号
に対応するデータパケットが一定時間内に送信または受
信されなければ、発番サーバルーチンは、「該パケット
番号は発行済にもかかわらず、対応するデータパケトは
実際には送信されなかった」として、該パケット番号に
対応する、内容がない、すなわち無効データパケットを
送信する。これによって、パケット番号を取得したにも
かかわらず、一向に対応するデータパケットを送信しな
い機器によって、他機器の受信処理が停滞することを回
避することができる。また、この無効データパケットの
送信後に、問題の機器から該パケット番号に対応するデ
ータパケトが送信された場合には、各機器では、該デー
タパケットに関しては処理済として扱い、混乱を回避す
る。(4) 変更例(2) のデータ配送方法において、発行済
のパケット番号に対応するデータパケットが一定時間内
に送信または受信されなければ、各情報通信機器の受信
ルーチンは、処理済パケット番号を更新し、該データパ
ケットの存在を無視して通信を継続する。これによっ
て、一定の限度のもとに、データの連続性を犠牲として
も、通信の継続を確保できる。
【0058】
【発明の効果】以上のように、本発明が提供するデータ
配送方法によって、ネットワークにて相互に接続された
情報通信機器間では、交換されるデータ順序が一意に保
たれて処理されるため、結果として得られるデータも同
一内容に保たれる。また、通常の通信状態即ち、交換さ
れるデータ順序の連続性にくるいが生じない場合におい
ては、受信側の負荷を低減でき、かつくるいが生じた場
合においても、パケット自体に一意性のある番号が付与
されるため、各々の機器において、簡単な方法によって
対処が可能となる。
【図面の簡単な説明】
【図1】 本発明の背景を説明する図
【図2】 本発明の背景を説明する図(その1)
【図3】 本発明の背景を説明する図(その2)
【図4】 第1の発明の実施例が動作する通信機器の構
成図
【図5】 第1の発明の実施例のフローチャート
【図6】 第1の発明の実施例の動作例
【符号の説明】
1.通信機器A 2.通信機器B 3.通信機器C 4.通信路 5.通信機器A 6.通信機器B 7.通信機器C 8.通信機器Aが保持するデータ 9.通信機器Bが保持するデータ 10.通信機器Cが保持するデータ 11.“○追加”イベントデータパケット 12.通信機器Aのユーザ操作画面 13.通信機器Bのユーザ操作画面 14.“×追加”イベントデータパケット 15.“指定領域移動”イベントデータパケット 16.送信部 17.受信部 18.発番クライアント部 19.発番サーバ部 20.制御部 21.入出力部 22.主記憶 23.発番サーバ情報 24.発行済パケット番号情報 25.処理待機パケットリスト 26.処理済パケット番号情報

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】ネットワークを介して複数の情報通信機器
    間で、情報データをパケット形式で送受信して、各パケ
    ットの送受信時の特定をするためのデータ配送方法にお
    いて、 任意の前記情報通信機器には、連続した一意のパケット
    番号情報を生成するパケット番号生成手段が備えられ、
    前記各情報通信機器が、前記情報データを送信する前に
    要求した前記任意の前記情報通信機器のパケット番号生
    成手段が生成した前記情報データのパケット番号を受信
    し、前記各情報通信機器が前記情報データに前記パケッ
    ト番号を付加したパケットを送信して、該パケットを受
    信した前記情報通信機器は、前記パケットの前記パケッ
    ト番号順に、前記パケットの前記情報データを処理する
    ことを特徴とするデータ配送方法。
JP06957896A 1996-03-26 1996-03-26 データ配送方法及び情報通信装置 Expired - Fee Related JP3345546B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP06957896A JP3345546B2 (ja) 1996-03-26 1996-03-26 データ配送方法及び情報通信装置
US08/827,311 US6009094A (en) 1996-03-26 1997-03-26 Scheme for data transfer among data communication devices using data packet order control

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP06957896A JP3345546B2 (ja) 1996-03-26 1996-03-26 データ配送方法及び情報通信装置

Publications (2)

Publication Number Publication Date
JPH09261269A true JPH09261269A (ja) 1997-10-03
JP3345546B2 JP3345546B2 (ja) 2002-11-18

Family

ID=13406834

Family Applications (1)

Application Number Title Priority Date Filing Date
JP06957896A Expired - Fee Related JP3345546B2 (ja) 1996-03-26 1996-03-26 データ配送方法及び情報通信装置

Country Status (2)

Country Link
US (1) US6009094A (ja)
JP (1) JP3345546B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11305950A (ja) * 1998-04-17 1999-11-05 Fujitsu Ltd 磁気ディスク制御装置によるリモート転送方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6791947B2 (en) * 1996-12-16 2004-09-14 Juniper Networks In-line packet processing
US6862283B2 (en) * 2000-01-13 2005-03-01 Freescale Semiconductor, Inc. Method and apparatus for maintaining packet ordering with error recovery among multiple outstanding packets between two devices
US7558264B1 (en) * 2001-09-28 2009-07-07 Emc Corporation Packet classification in a storage system
US9596193B2 (en) * 2010-12-14 2017-03-14 Cavium, Inc. Messaging with flexible transmit ordering
US20130343181A1 (en) * 2012-06-21 2013-12-26 Jonathan Stroud Systems and methods of data processing using an fpga-implemented hash function
US20130343377A1 (en) * 2012-06-21 2013-12-26 Jonathan Stroud Hash-based packet distribution in a computer system

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1220830A (en) * 1984-12-28 1987-04-21 David S. Drynan Transmitting sequence numbers of information in a packet data transmission system
US4727537A (en) * 1985-12-24 1988-02-23 American Telephone And Telegraph Company Flow control arrangement for the transmission of data packets to a communication network
GB2267200B (en) * 1992-05-19 1995-10-25 Dowty Communications Ltd Packet transmission system
US5530902A (en) * 1993-06-14 1996-06-25 Motorola, Inc. Data packet switching system having DMA controller, service arbiter, buffer type managers, and buffer managers for managing data transfer to provide less processor intervention
US5623605A (en) * 1994-08-29 1997-04-22 Lucent Technologies Inc. Methods and systems for interprocess communication and inter-network data transfer
US5701090A (en) * 1994-11-15 1997-12-23 Mitsubishi Denki Kabushiki Kaisha Data output circuit with reduced output noise
US5633865A (en) * 1995-03-31 1997-05-27 Netvantage Apparatus for selectively transferring data packets between local area networks

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11305950A (ja) * 1998-04-17 1999-11-05 Fujitsu Ltd 磁気ディスク制御装置によるリモート転送方法

Also Published As

Publication number Publication date
US6009094A (en) 1999-12-28
JP3345546B2 (ja) 2002-11-18

Similar Documents

Publication Publication Date Title
EP0380141B1 (en) Local area network for digital data processing system
US4823122A (en) Local area network for digital data processing system
US5058108A (en) Local area network for digital data processing system
EP0073698A2 (en) System and method for synchronizing variable-length messages in a local area network data communication system
EP0074865A2 (en) Expandable and contractible local area network system
JPS62239641A (ja) 同報通信方式
JPH0761079B2 (ja) ネットワーク制御システム及び方法
JPH06326713A (ja) データ伝送制御方法
JPH077979B2 (ja) 非同期的プロトコル対話の同期化方法及び装置
JPH09261269A (ja) データ配送方法
JPS61210745A (ja) 同報通信方式
CN118488021B (zh) 一种工业以太网报文传输优化方法、装置、设备及介质
JP2004157753A (ja) ファームウェアダウンロードシステム
JPH09162927A (ja) ネットワークシステム及びこれに使用される情報通信機器、情報通信方法
JP2000057075A (ja) データ通信装置、データ通信方法及びそれらのプログラム記憶媒体
JP6033407B2 (ja) ネットワークユニット
JPH0965414A (ja) 無線通信方法および無線通信装置
JPH055210B2 (ja)
JP2594313B2 (ja) 半二重セション管理処理方式
JPH0653973A (ja) 同報データ通信システム
JPH10145406A (ja) ネットワーク制御方法
CA1208736A (en) System and method for name-lookup in a local area network data communication system
JPH11316717A (ja) データ転送方式
JPH0381852A (ja) コネクション管理方式
JPH1040193A (ja) クライアント/多重化サーバシステム

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070830

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080830

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090830

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees