JP2009130405A - 受信装置及び通信システム - Google Patents
受信装置及び通信システム Download PDFInfo
- Publication number
- JP2009130405A JP2009130405A JP2007299969A JP2007299969A JP2009130405A JP 2009130405 A JP2009130405 A JP 2009130405A JP 2007299969 A JP2007299969 A JP 2007299969A JP 2007299969 A JP2007299969 A JP 2007299969A JP 2009130405 A JP2009130405 A JP 2009130405A
- Authority
- JP
- Japan
- Prior art keywords
- network interface
- receiving
- transmission
- side network
- packet
- 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
Links
- 238000004891 communication Methods 0.000 claims abstract description 53
- 230000005540 biological transmission Effects 0.000 claims description 190
- 230000004044 response Effects 0.000 claims description 53
- 238000012545 processing Methods 0.000 claims description 33
- 238000000605 extraction Methods 0.000 claims description 6
- 102100036409 Activated CDC42 kinase 1 Human genes 0.000 description 123
- 238000000034 method Methods 0.000 description 22
- 238000007726 management method Methods 0.000 description 20
- 238000010586 diagram Methods 0.000 description 13
- 101000741965 Homo sapiens Inactive tyrosine-protein kinase PRAG1 Proteins 0.000 description 9
- 102100038659 Inactive tyrosine-protein kinase PRAG1 Human genes 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 230000000694 effects Effects 0.000 description 7
- 238000005259 measurement Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 239000000872 buffer Substances 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
【解決手段】送信装置101及び受信装置201の各々が2つ以上のネットワークインタフェース装置(NIC)114、214を備え、相互に異なるネットワークスイッチ300を介して接続され、送信装置101は、受信グループマルチキャストアドレスA200が含まれる同一の2つ以上のデータパケットを2つ以上のNIC114から送信し、受信装置201は、複数のNIC114の各々が宛先となる送信装置マルチキャストアドレスA101が含まれるACKパケットを生成し、同一の2つ以上のACKパケットを2つ以上のNIC214から送信する。
【選択図】図1
Description
そこで、従来のグループ通信方式では、UDP/IPによるマルチキャスト送信で複数の装置に同報通信を行い、送信元の装置にTCP/IPのユニキャスト通信でデータを受信した事(ACK(ACKnowledge:受信応答))あるいは、受信していない事(NACK(Negative ACKnowledge:受信否定応答))を報告し、前記報告によって再送制御を行う方法が提案されている(例えば、特許文献1)。
また、前記のようにTCP/IPのユニキャスト通信でACK/NACKを送信する方式では、データの送信に用いるNIC(Network Interface Card)に障害が発生し使用不可になった時に通信を継続できないため、装置に複数のNICを装備し、あるNICが障害を検出した場合に、同一ネットワークに接続している別のNICが、使用不可になったNICのアドレスを引き継ぎ、使用不可になったNICの機能を代行する方法が提案されている(例えば、特許文献2)。
そして、これらを組み合わせることにより、複数のNICを同一ネットワークに接続している環境であれば、NICにおける障害が発生しても高信頼にデータを同報通信する通信方式を実現することができる。
また、NICが障害を検出したときに別のNICが機能を代行する仕組みであるため、NICが障害を検出できない場所に障害が発生した場合は前記の代行処理を実施する事ができない。例えばネットワークスイッチと別の装置(通信相手の装置)の間に障害が発生した場合、障害を検出する事はできないため、現在使用中のNICの機能を別のNICに代行させる事はできない。
また、各NICを異なるスイッチに接続することでネットワークを冗長化したとしても、TCP/IPのユニキャストによるACK/NACKの送信では、装置におけるルーティングの設定でACK/NACKを送信するNICが自動的に設定されてしまうため、受信装置はACK/NACKを、障害の発生しているNICと同じネットワークスイッチに繋がっているNICから送信してしまい、ACK/NACKを送信装置に届けることができない。従来技術ではACK/NACKが送信装置に届かなければ何度も同一パケットをネットワークに送信する事になる。
各々が相互に異なるネットワークスイッチに接続されている複数の送信側ネットワークインタフェース装置を有する送信装置から送信されたデータパケットを受信する受信装置であって、
各々が、相互に異なるネットワークスイッチを介して異なる送信側ネットワークインタフェース装置に接続され、送信側ネットワークインタフェース装置から送信されたデータパケットを受信する複数の受信側ネットワークインタフェース装置と、
受信したデータパケットに対する応答として、前記複数の送信側ネットワークインタフェース装置の全てが宛先となる送信装置マルチキャストアドレスが含まれる応答パケットを作成する応答パケット作成部と、
前記応答パケット作成部により作成された応答パケットを各受信側ネットワークインタフェース装置から各受信側ネットワークインタフェース装置に接続されている送信側ネットワークインタフェース装置に向けて送信する応答パケット送信部とを有することを特徴とする。
本実施の形態に係る通信システムは、ネットワークスイッチの障害やネットワークケーブルの障害に備えて、複数のネットワークスイッチで装置間を冗長に接続した環境において、パケットを冗長に送受信する事でデータの確実な配送を可能とすることを目的とする。
以下、図1の構成要素を以下に説明する。
また、データパケット作成部111は、送信するデータに対し、本実施の形態の通信方式に必要な通信ヘッダを付け、データパケットを作成する。
データパケット送信部112は、各NIC114からデータパケットを送信する。
再送部113は、データパケットに対する応答であるACKパケットをNIC114を介して受信し、ACKパケットが未到着の受信装置がある場合にデータパケットを再送する。
順序管理部213は、NIC214を介して送信装置101からのデータパケットを受信し、受信したデータパケットの整列を行う。
ACKパケット作成部211は、データパケットに対する応答パケットであるACKパケットを作成する。ACKパケット作成部211は、応答パケット作成部の例である。なお、本実施の形態及び以降の実施の形態では、ACKパケットを送信する例を主に説明するが、NACKパケットを送信する場合も同様の手順となる。NACKパケットも応答パケットの例である。
ACKパケット送信部212は、NIC214からACKパケットを送信する。ACKパケット送信部212は、応答パケット送信部の例である。
なお、図1では、受信装置201として、受信装置201及び受信装置202が配置されている。
図1では、ネットワークスイッチ300−1及びネットワークスイッチ300−2を配置している。
図2の構成を以下に説明する。
従来技術では、送信装置はACKパケットをNICのユニキャストアドレスA114−1等で受信するが、本実施の形態では送信装置101はACKパケットをマルチキャストアドレスA101で受信する。
送信装置マルチキャストアドレスA101は、送信装置101に含まれる複数のNIC114の全てを包含するアドレスであり、後述するように、受信装置201においてACKパケットに送信装置マルチキャストアドレスA101を含ませると送信装置101に含まれる複数のNIC114の全てをACKパケットの宛先とすることができる。
受信グループ200は、受信グループのマルチキャストアドレスA200を持つ。
また送信装置101と同様に、受信装置201はマルチキャストアドレスA201を持ち、受信装置202はマルチキャストアドレスA202を持つ。
マルチキャストアドレスA201は受信装置201に含まれる全てのNIC214を包含するアドレスであり、マルチキャストアドレスA202は受信装置202に含まれる全てのNIC214を包含するアドレスである。
本実施の形態の通信方式では、受信グループが1台の受信装置201だけで構成される場合、前記受信グループのマルチキャストアドレスA200は受信装置201のマルチキャストアドレスA201と同じ値であっても良い。
図3は送信装置101が送るデータパケットP501の構成例を示し、図4は受信装置201が送るACKパケットP502の構成例を示す。
パケットは次に述べる各値をパケットのヘッダに持つ。
当該パケットの送信元の装置を示すパケット送信元アドレス401、パケットがデータパケットであるかACKパケットであるか示すパケットタイプ402、データパケット送信元の装置を示すデータ送信元アドレス403、データパケットの宛先を示すデータ宛先グループ404、データの順序を示すシーケンス番号405である。
パケットのヘッダにはその他のヘッダ406としてデータのサイズ等が存在していてもよい。
パケットは送信元アドレス401により、どの装置から送信されたかを特定できる。
また、データ送信元アドレス403、データ宛先グループ404、シーケンス番号405の組み合わせにより、データを送信した装置、宛先、データの順序が特定できるため、データの内容やACKがどのデータパケットに対するACKであるかを一意に特定できる。
つまり、ACKパケットP502の場合、データ送信元アドレス403にはACKパケットP502の応答の対象となるデータパケットの送信元のアドレスが示されており、データ送信元アドレス403によりACKパケットP502の宛先を特定することが可能である。
また、図3及び図4において、データ送信元アドレス403には、データパケットの送信元である送信装置101の送信装置マルチキャストアドレスA101が示される。
また、図3及び図4において、データ宛先グループ404には、データパケットの宛先グループである受信グループ200の受信グループマルチキャストアドレスA200が示される。
また、ACKパケットP502は、受信装置201が受信したデータパケットP501のヘッダにおけるパケット送信元アドレス401とパケットタイプを変更したものである。つまり、データ送信元アドレス403、データ宛先グループ404、シーケンス番号405、その他のヘッダ406はデータパケットのものと変わらない。
受信装置201では、ACKパケット作成部211が、図3に示すデータパケットP501のヘッダをコピーし、パケット送信元アドレス401とパケットタイプを変更して、ACKパケットP502のヘッダを作成することができる。
また、後述するように、データ伝送にIP(Internet)プロトコルを用いる場合は、データパケットに付加されたIPヘッダに含まれる送信装置マルチキャストアドレスA101又は図3に示すデータパケットP501のデータ送信元アドレス403に示される送信装置マルチキャストアドレスA101をIPヘッダに設定して、ACKパケットP502を作成する。
なお、データパケット501−1に含まれる通信アドレス等の内容を601に、データパケット501−2に含まれる通信アドレス等の内容を602に示す。
601、602は同一の内容であり、パケット送信元アドレス(Packet from)及びデータ送信元アドレス(Data from)が送信装置マルチキャストアドレスA101であり、データ宛先グループ(Data to)が受信グループマルチキャストアドレスA200であり、シーケンス番号(Seq)が1000である。
図6は、受信装置201がACKパケットを送信装置101に送信する際の状態を表したものである。
受信装置201はデータパケット501に対する応答として、ACKパケット502を作成する。受信装置201はACKパケット502を、送信装置101のマルチキャストアドレスA101宛てに、受信装置201の持つNIC214−1及びNIC214−2から同時に送信する。送信されたACKパケットはそれぞれネットワークスイッチ300−1、300−2を経由して送信装置101に到着する。ACKパケット502−1に含まれる通信アドレス等の内容を701に、ACKパケット502−2に含まれる通信アドレス等の内容を702に示すが、両者は同じ内容である。
データ伝送にIPプロトコルが用いられる場合は、受信装置201のACKパケット作成部211は、図4に示すヘッダに加え、宛先アドレスとして送信装置マルチキャストアドレスA101が示されるIPヘッダを含むACKパケットを作成する。
また、利用する通信プロトコルによっては、ACKパケット作成部211は図4に示すヘッダのみが含まれるACKパケットを作成するようにしてもよい。
いずれの通信プロトコルの場合も、ACKパケット作成部211は、受信したデータパケットに対する応答として、複数の送信側のNIC114の全てが宛先となる送信装置マルチキャストアドレスA101が含まれるACKパケットを作成し、複数のネットワークスイッチ300を介して複数の送信側のNIC114の全てにACKパケットが到達するようにする。
各ネットワークスイッチ300では、ACKパケットに含まれる送信装置マルチキャストアドレスA101により各々に接続されている送信側のNIC114にACKパケットを送信する。
図7は本実施の形態における送信装置101の処理フローの例を示す。送信装置101は次のステップで動作する。
ステップS110において、データパケット作成部111でデータパケットを作成する。この際、受信グループ200のマルチキャストアドレスである受信グループマルチキャストアドレスA200をデータパケットに含ませる。
次に、ステップS120において、データパケット送信部112でデータパケットをマルチキャスト送信する。具体的には、複数のNIC114の各々から各ネットワークスイッチに向けてデータパケットを送信する。
次に、ステップS130において、再送部113でACK受信の完了を判定し、完了しない場合はステップS120に戻る。
ステップS121において、データパケット送信部112は送信に用いるNICを選択する。
次に、ステップS122において、データパケット送信部112はデータパケットをステップS121で選択したNICからマルチキャスト送信する。
ステップS131において、再送部113はACKパケットを待ち受ける。パケットを受信するか、受信タイムアウトが発生したら次のステップS132に進む。
次に、ステップS132において、再送部113は全ての受信装置からACKが到着しているか否か判定を行う。到着していればデータパケットの送信の成功とする。到着していない装置があればステップS133に進む。
次に、ステップS133において、データパケット送信(ステップS122実行)から一定時間以内であればステップS131に戻る。一定時間を超過していたらステップS134に進む。
次に、ステップS134において、再送部113は再送を一定回数以上行っていた場合はデータパケットの送信に失敗とする。再送が一定回数以内であればステップS120に戻る。
ステップS210において、順序管理部213が、受信したデータパケットを整列し、データを送信された順に重複無く結合または加工する。
次に、ステップS220において、ACKパケット作成部211が、受信したデータパケットに対するACKパケットを作成する。前述したように、ACKパケットには、図4に示すように送信装置マルチキャストアドレスA101が含まれ、データ伝送にIPプロトコルを用いる場合は、IPヘッダの宛先アドレスにも送信装置マルチキャストアドレスA101が含まれる。
次に、ステップS230において、ACKパケット送信部212が、ACKパケットをマルチキャスト送信する。具体的には、複数のNIC214の各々から各ネットワークスイッチに向けてACKパケットを送信する。
また、受信装置201はデータパケットを受信する都度ACKパケットを送信する。
ステップS211において、順序管理部213は、受信グループのアドレスA200宛てのデータパケットP501を受信する。
次に、ステップS212において、受信したデータパケットP501のシーケンス番号が処理済であるか判定する。未処理のデータであればS213を実行する。
ステップS213において、順序管理部213は、システムの用途に応じて受信した一連のデータを保存する処理や、データを加工する処理を行う。
ステップS231において、ACKパケット送信部212は、送信に用いるNICを選択する。
ステップS232において、ACKパケット送信部212は、ACKパケットをステップS231で選択したNICからマルチキャスト送信する。
本実施の形態では、装置全てが複数のNICを持ち、装置全てにマルチキャストアドレスを割り当て、NICの持つユニキャストアドレスではなくマルチキャストアドレスにマルチキャスト送信を行う。このときパケットを装置の持つ複数のNICから同時に送信することと、1台の装置宛であっても複数の装置から成るグループ宛であっても全ての通信をマルチキャストで送信することを主な特徴としている。
そのため、特徴の一つである複数のNICから同時に送信することにより、装置間のネットワークに障害が発生しても、装置間の通信路の内一つでも正常に機能していれば、データの配信が確実に実施できるという効果を得ることができる。
さらに、特徴の一つである全ての通信をマルチキャスト送信することにより、発明が解決しようとする課題の欄で述べたようなユニキャスト通信のルーティング情報に影響されること無くACKパケットを確実に送信元に届けることができ、一対多のグループ通信を高信頼に実現するという効果を得ることができる。
また、図14の構成においてF601の位置に障害が発生した場合、従来技術ではNIC114−2がNIC114−1の機能を代行しパケットの送信を行うが、各受信装置はNIC114−1のユニキャストアドレスA114−1にACKを送信するため、ネットワークスイッチ300−1側にパケットを送信してしまい、ACKが送信装置101に届かない。しかし、本実施の形態によると、このような場合でも各受信装置はネットワークスイッチ300−2側のNICから送信装置101のマルチキャストアドレスにマルチキャスト送信するため、ACKを送信装置に届けることができる。
1)全てのグループにマルチキャストアドレスを割り当てる。
2)全ての装置にマルチキャストアドレスを割り当てる。
3)データを送信する側の装置(送信装置)は、データ送信時に、データの送信順序を示すシーケンス番号と、送信装置のマルチキャストアドレスを付加したデータパケットを作成するデータパケット作成部を備える。
4)送信装置は前記データパケットを送信する手段として、グループのマルチキャストアドレスに向けて、複数のNICから同時にデータパケットの送信を行い、装置間の複数の通信経路を冗長に用いる事を特徴としたデータパケット送信部を備える。
5)データを受信する側の装置(受信装置)は、受信したデータパケットのシーケンス番号を記憶し、データを送信された順に重複が無いように整列する順序管理部を備える。
6)受信装置はデータパケットに対する応答として、シーケンス番号と受信装置のマルチキャストアドレスを付加したACK(ACKnowledge:受信肯定応答)パケットを作成するACKパケット作成部を備える。
7)受信装置は前記ACKパケットを送信する手段として、データパケットに記載された送信装置のマルチキャストアドレスに向けて、複数のNICから同時にACKパケットの送信を行う事で、複数の通信経路を冗長に用いる事を特徴としたACKパケット送信部を備える。
8)送信装置は受信装置からのACKパケット到着の有無を記憶し、ACKが到着していない受信装置がある場合に同一データパケットを再度送信する事でデータパケットの到達可能性を高める再送部を備える。
以上の実施の形態1では、受信装置201はデータパケットP501を受信する都度ACKパケットP502を送信するものであった。
次に、ACKパケット送信処理の処理回数を削減する実施の形態について述べる。
本実施の形態では、実施の形態1の構成に対して、送信装置101に再送回数計測部115を加え、受信装置201に後着判定部215を加える。
再送回数計測部115は、送信装置101において同一データの再送回数を数える。
後着判定部215は、受信装置201において、受信したパケットに応答が必要か判定する。
本実施の形態では実施の形態1のパケットフォーマット(図3、図4)に、前記再送回数計測部115で計測した再送回数を記載する再送回数フィールド407を付け加える。
送信装置101は前述のように、データパケットに実施の形態1のヘッダに再送回数407を加えたデータパケットP511を作成し、実施の形態1と同じくデータパケット送信部112で複数のNIC114からデータパケットP511を同時にマルチキャスト送信する。
図18は本実施の形態で各受信装置の後着判定部215が行う、データパケットの分類を示したものである。
送信装置101が複数のNICから同時に送信したデータパケットP511には同じ値のシーケンス番号405と再送回数407が記載されている。後着判定部215はこの2つの値により、受信したデータパケットP511を次のように分類する。
(1)シーケンス番号が過去に受信していない値であればデータパケット511を新規パケット511−1に分類する。
(2)シーケンス番号が過去に受信した値であり、再送回数も過去に受信した値かそれ以下であれば、データパケット511を後着パケット511−2に分類する。
(3)シーケンス番号が過去に受信した値であり、再送回数が過去に受信した値よりも大きい場合は、データパケット511を再送パケット511−3に分類する。
(1)新規パケット511−1の場合は、受信したデータの処理とACKパケット送信を行う。
つまり、ACKパケット作成部211が、送信装置マルチキャストアドレスA101を含むACKパケットを生成し、ACKパケット送信部212が各NIC214からACKパケットを送信する。ACKパケットの作成、ACKパケットの送信手順は、実施の形態1で示したものと同様である。
(2)後着パケット511−2の場合は、受信装置201は、何もしない。
(3)再送パケット511−3の場合は、ACKパケットの送信を行う。
つまり、ACKパケット作成部211が、送信装置マルチキャストアドレスA101を含むACKパケットを生成し、ACKパケット送信部212が各NIC214からACKパケットを送信する。ACKパケットの作成、ACKパケットの送信手順は、実施の形態1で示したものと同様である。
この効果は装置のNICが増加するほど大きく現れる。
また、ACKパケットが送信装置に到着しなかった場合は、送信装置が再送を行うため、再送されたパケットに対するACKパケットの送信は必要である。再送されたことにより重複して受信したデータパケットと、多重経路により重複して受信したデータパケットを区別することで、ACKパケット送信回数を削除すると同時に、ACKパケット送信が必要なときに送信するようにすることも本実施の形態の特徴の一つである。
このように、本実施の形態は、ACKパケット送信処理回数の削減という効果を得ることができる。
1)送信装置に、同一データの再送回数を記録する再送回数計測部を備える。
2)送信装置のデータパケット作成部がデータパケットを作成する際に、前記再送回数計測部で記録した再送回数をデータパケットに記載するステップを持つ。
3)受信装置に、データパケットに記載されている再送回数を記憶するステップと、データパケットに記載されている再送回数が記憶している再送回数以下の場合にだけACKの送信を行うようにするステップを持った後着判定部を備える。
以上の実施の形態は各装置が全てのNICからパケットを送信するようにしたものであるが、次に、パケットを送信するときに使用するNICの数を限定し、マルチキャスト送信処理の処理回数を削減する実施の形態について述べる。
本実施の形態では実施の形態1または実施の形態2の構成に、各装置に経路管理部116(216)と経路切り替え部117(217)を追加している。
経路管理部116(216)は、各装置において、他の各装置とそれぞれどのNICを用いて通信できるか管理する。
経路切り替え部117(217)は、パケット送信時に使用するNICを、パケットを受信する装置に応じて切り替える。
なお、後述するように、経路管理部116(216)は接続先情報記憶部の例であり、経路切り替え部117は送信側ネットワークインタフェース装置抽出部の例であり、経路切り替え部217は受信側ネットワークインタフェース装置抽出部の例である。
また、送信装置101では、各NIC114は、相互に異なるネットワークスイッチ300を介していずれかの受信装置201のいずれかのNIC214に接続されている。
つまり、本実施の形態では、送信装置101の各NIC114がネットワークスイッチ300を介して接続されている受信側のNIC214は共通の受信装置201のものとは限らない。
例えば、送信装置101の複数の送信側NIC114のうち、あるNIC114は受信グループ1に属する受信装置201の受信側NIC214に接続され、別の送信側NIC114は受信グループ2に属する受信装置201の受信側NIC214に接続される場合がある。
そして、受信装置201の各NIC214は、相互に異なるネットワークスイッチ300を介していずれかの送信装置101のいずれかの送信側NIC114ネットワークインタフェース装置に接続されている。
つまり、本実施の形態では、受信装置201の各NIC214がネットワークスイッチ300を介して接続されている送信側のNIC114は共通の送信装置101のものとは限らない。
例えば、受信装置201の複数の受信側NIC214のうち、あるNIC214はある送信装置101の送信側NIC114に接続され、別の受信側NIC214は別の送信装置101の送信側NIC114に接続される場合がある。
到達可能性情報は、接続先情報の例である。
送信装置101の経路管理部116で記憶されている到達可能性情報には、送信側のNIC114ごとに、ネットワークスイッチ300を介して接続されている受信側のNIC214が含まれている受信装置201が属する受信グループが示される。
また、受信装置201の経路管理部216で記憶されている到達可能性情報には、受信側のNIC214ごとに、ネットワークスイッチ300を介して接続されている送信側のNIC114が含まれている送信装置101が示される。
つまり、経路切り替え部117は、特定の受信グループに対してデータパケットを送信する場合に、経路管理部116の到達可能性情報に基づき、特定の受信グループに属する受信装置201の受信側NIC214に接続されている送信側NIC114を抽出し、データパケット送信部112は経路切り替え部117により抽出された送信側NIC114から特定の受信グループに対するデータパケットを送信する。
つまり、経路切り替え部217は、いずれかの送信装置101から受信したデータパケットに対するACKパケットを送信する場合に、経路管理部216の到達可能性情報に基づき、ACKパケットの送信先の送信装置101の送信側NIC114に接続されている受信側NIC214を抽出し、ACKパケット送信部212は、経路切り替え部217により抽出された受信側NIC214から応答パケットを送信する。
1)送信装置及び受信装置に、各NICがどの装置と通信可能か記録する経路管理部を備える。
2)送信装置がデータパケットを送信する際に、グループを構成する装置と通信可能なNICのみを使用するように選択する経路選択部を備える。
3)受信装置はACKパケットを送信する際に、送信装置と通信可能なNICのみを使用するように選択する経路選択部を備える。
以上の実施の形態では、送信装置101は再送が必要な場合に受信グループ200のマルチキャストアドレスA200に向けてマルチキャスト送信を行うものであった。
次に、ACKが戻らないため再送が必要と認識した受信装置が1台だけである場合に、該当する1台のみに再送を行う事で、既にデータパケットが到着した受信装置が受信処理を行わなくて良いようにする形態について述べる。
本実施の形態では実施の形態1から実施の形態3のいずれかの送信装置101の構成に、再送先変更部118を追加している。
本実施の形態では、再送部113及び再送先変更部118が再送処理部の例に相当する。
本実施の形態では、再送部113におけるACK完了判定で再送を決定する際に、ACKが未到着の受信装置が1台である事を認識したときに再送先変更部118が動作する。
再送先変更部118は、再送の時にパケットを送るマルチキャストアドレスを、前記ACKが未到着の受信装置に割り当てられたマルチキャストアドレスに変更する。
つまり、本実施の形態では、再送部113は、データパケット送信部112により特定の受信グループに属する受信装置にデータパケットが送信された後、特定の受信グループに属する受信装置からACKパケットを受信するとともに、特定の受信グループに属する全ての受信装置から応答パケットを受信したか否かを確認する。
そして、応答パケットを受信しなかった受信装置が2台以上である場合は、再送部113は、特定の受信グループに属する全ての受信装置の複数の受信側NIC214の全てが宛先となる受信グループマルチキャストアドレスA200(図2参照)を設定して再送データパケットを作成する。
一方、ACKパケットを受信しなかった受信装置が1台である場合に、再送先変更部118が、ACKパケットを受信しなかった1台の受信装置の複数の受信側NIC214の全てが宛先となる受信装置マルチキャストアドレスA201等(単一マルチキャストアドレス)(図2参照)を設定して再送データパケットを作成する。
その後、再送データパケットが、データパケット送信部112により各送信側NIC114から送信される。
1)ACKが未到着の受信装置が1台だけであるか判定するステップと、1台だけである場合にデータパケットを再送する際のパケットの送り先を、前記ACKが未到着の受信装置のマルチキャストアドレスに書き換えるステップを持つ再送先変更部を備える。
図21は、実施の形態1〜4に示す送信装置101及び受信装置201のハードウェア資源の一例を示す図である。
なお、図21の構成は、あくまでも送信装置101及び受信装置201のハードウェア構成の一例を示すものであり、送信装置101及び受信装置201のハードウェア構成は図21に記載の構成に限らず、他の構成であってもよい。
CPU911は、バス912を介して、例えば、ROM(Read Only Memory)913、RAM(Random Access Memory)914、通信ボード915、表示装置901、キーボード902、マウス903、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。
更に、CPU911は、FDD904(Flexible Disk Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907と接続していてもよい。また、磁気ディスク装置920の代わりに、光ディスク装置、メモリカード(登録商標)読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
通信ボード915、キーボード902、マウス903、スキャナ装置907、FDD904などは、入力装置の一例である。
また、通信ボード915、表示装置901、プリンタ装置906などは、出力装置の一例である。
プログラム群923のプログラムは、CPU911がオペレーティングシステム921、ウィンドウシステム922を利用しながら実行する。
また、RAM914には、CPU911による処理に必要な各種データが格納される。
送信装置101及び受信装置201の起動時には、ROM913のBIOSプログラム及び磁気ディスク装置920のブートプログラムが実行され、BIOSプログラム及びブートプログラムによりオペレーティングシステム921が起動される。
「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態1〜4で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
Claims (8)
- 各々が相互に異なるネットワークスイッチに接続されている複数の送信側ネットワークインタフェース装置を有する送信装置から送信されたデータパケットを受信する受信装置であって、
各々が、相互に異なるネットワークスイッチを介して異なる送信側ネットワークインタフェース装置に接続され、送信側ネットワークインタフェース装置から送信されたデータパケットを受信する複数の受信側ネットワークインタフェース装置と、
受信したデータパケットに対する応答として、前記複数の送信側ネットワークインタフェース装置の全てが宛先となる送信装置マルチキャストアドレスが含まれる応答パケットを作成する応答パケット作成部と、
前記応答パケット作成部により作成された応答パケットを各受信側ネットワークインタフェース装置から各受信側ネットワークインタフェース装置に接続されている送信側ネットワークインタフェース装置に向けて送信する応答パケット送信部とを有することを特徴とする受信装置。 - 前記複数の受信側ネットワークインタフェース装置の各々は、
送信側ネットワークインタフェース装置から送信された、前記送信装置マルチキャストアドレスが含まれるデータパケットを受信し、
前記応答パケット作成部は、
いずれかの受信側ネットワークインタフェース装置が受信したデータパケットに含まれる前記送信装置マルチキャストアドレスを用いて前記応答パケットを作成することを特徴とする請求項1に記載の受信装置。 - 前記複数の受信側ネットワークインタフェース装置の各々は、
送信側ネットワークインタフェース装置から送信された、シーケンス番号が示されるデータパケットを受信し、
前記応答パケット作成部は、
同一のシーケンス番号が示される複数のデータパケットが前記複数の受信側ネットワークインタフェース装置により受信された場合でも、前記複数のデータパケットに対して一つの応答パケットを作成することを特徴とする請求項1又は2に記載の受信装置。 - 前記複数の受信側ネットワークインタフェース装置の各々は、
送信側ネットワークインタフェース装置から再送された、シーケンス番号と再送回数が示される再送データパケットを受信し、
前記応答パケット作成部は、
同一のシーケンス番号と同一の再送回数が示される複数の再送データパケットが前記複数の受信側ネットワークインタフェース装置により受信された場合でも、前記複数の再送データパケットに対して一つの応答パケットを作成することを特徴とする請求項1〜3のいずれかに記載の受信装置。 - 各々が、相互に異なるネットワークスイッチに接続されている複数の送信側ネットワークインタフェース装置と、
前記複数の送信側ネットワークインタフェース装置の各々からデータパケットを送信するデータパケット送信部とを有する送信装置と、
各々が、相互に異なるネットワークスイッチを介して異なる送信側ネットワークインタフェース装置に接続され、送信側ネットワークインタフェース装置から送信されたデータパケットを受信する複数の受信側ネットワークインタフェース装置と、
受信したデータパケットに対する応答として、前記複数の送信側ネットワークインタフェース装置の全てが宛先となる送信装置マルチキャストアドレスが含まれる応答パケットを作成する応答パケット作成部と、
前記応答パケット作成部により作成された応答パケットを各受信側ネットワークインタフェース装置から各受信側ネットワークインタフェース装置に接続されている送信側ネットワークインタフェース装置に向けて送信する応答パケット送信部とを有する受信装置とを備えることを特徴とする通信システム。 - 前記通信システムは、
各々が複数の受信側ネットワークインタフェース装置を有し、2つ以上の受信グループに分類される複数の受信装置を備え、
前記送信装置において、
前記複数の送信側ネットワークインタフェース装置の各々は、
相互に異なるネットワークスイッチを介していずれかの受信装置のいずれかの受信側ネットワークインタフェース装置に接続されており、
前記送信装置は、更に、
送信側ネットワークインタフェース装置ごとに、ネットワークスイッチを介して接続されている受信側ネットワークインタフェース装置が含まれている受信装置が属する受信グループが示される接続先情報を記憶する接続先情報記憶部と、
特定の受信グループに対してデータパケットを送信する場合に、前記接続先情報に基づき、前記特定の受信グループに属する受信装置の受信側ネットワークインタフェース装置に接続されている送信側ネットワークインタフェース装置を抽出する送信側ネットワークインタフェース装置抽出部とを有し、
前記データパケット送信部は、
前記送信側ネットワークインタフェース装置抽出部により抽出された送信側ネットワークインタフェース装置から前記特定の受信グループに対するデータパケットを送信することを特徴とする請求項5に記載の通信システム。 - 前記送信装置は、更に
前記データパケット送信部により特定の受信グループに属する受信装置にデータパケットが送信された後、前記特定の受信グループに属する受信装置から応答パケットを受信するとともに、前記特定の受信グループに属する全ての受信装置から応答パケットを受信したか否かを確認し、応答パケットを受信しなかった受信装置が2台以上である場合に、前記特定の受信グループに属する全ての受信装置の複数の受信側ネットワークインタフェース装置の全てが宛先となる受信グループマルチキャストアドレスを設定して再送データパケットを作成し、応答パケットを受信しなかった受信装置が1台である場合に、応答パケットを受信しなかった前記1台の受信装置の複数の受信側ネットワークインタフェース装置の全てが宛先となる単一マルチキャストアドレスを設定して再送データパケットを作成する再送処理部を有することを特徴とする請求項6に記載の通信システム。 - 前記通信システムは、
各々が複数の送信側ネットワークインタフェース装置を有する複数の送信装置を備え、
前記受信装置において、
前記複数の受信側ネットワークインタフェース装置の各々は、
相互に異なるネットワークスイッチを介していずれかの送信装置のいずれかの送信側ネットワークインタフェース装置に接続されており、
前記受信装置は、更に、
受信側ネットワークインタフェース装置ごとに、ネットワークスイッチを介して接続されている送信側ネットワークインタフェース装置が含まれている送信装置が示される接続先情報を記憶する接続先情報記憶部と、
いずれかの送信装置から受信したデータパケットに対する応答パケットを送信する場合に、前記接続先情報に基づき、応答パケットの送信先の送信装置の送信側ネットワークインタフェース装置に接続されている受信側ネットワークインタフェース装置を抽出する受信側ネットワークインタフェース装置抽出部とを有し、
前記応答パケット送信部は、
前記受信側ネットワークインタフェース装置抽出部により抽出された受信側ネットワークインタフェース装置から応答パケットを送信することを特徴とする請求項5〜7のいずれかに記載の通信システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007299969A JP4969421B2 (ja) | 2007-11-20 | 2007-11-20 | 受信装置及び通信システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007299969A JP4969421B2 (ja) | 2007-11-20 | 2007-11-20 | 受信装置及び通信システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009130405A true JP2009130405A (ja) | 2009-06-11 |
JP4969421B2 JP4969421B2 (ja) | 2012-07-04 |
Family
ID=40820941
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007299969A Active JP4969421B2 (ja) | 2007-11-20 | 2007-11-20 | 受信装置及び通信システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4969421B2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012227778A (ja) * | 2011-04-20 | 2012-11-15 | Nec Corp | 中継装置、通信システム、通信方法およびプログラム |
US8743752B2 (en) | 2009-09-27 | 2014-06-03 | Zte Corporation | Method and apparatus for status transition |
JP2015519801A (ja) * | 2012-04-18 | 2015-07-09 | アクメ パケット インコーポレイテッドAcme Packet, Inc. | リアルタイム通信のための冗長性 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10336201A (ja) * | 1997-06-02 | 1998-12-18 | Kofu Nippon Denki Kk | ネットワークシステム |
JP2002314628A (ja) * | 2001-04-12 | 2002-10-25 | Mitsubishi Electric Corp | 通信方法及び通信システム |
-
2007
- 2007-11-20 JP JP2007299969A patent/JP4969421B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10336201A (ja) * | 1997-06-02 | 1998-12-18 | Kofu Nippon Denki Kk | ネットワークシステム |
JP2002314628A (ja) * | 2001-04-12 | 2002-10-25 | Mitsubishi Electric Corp | 通信方法及び通信システム |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8743752B2 (en) | 2009-09-27 | 2014-06-03 | Zte Corporation | Method and apparatus for status transition |
JP2012227778A (ja) * | 2011-04-20 | 2012-11-15 | Nec Corp | 中継装置、通信システム、通信方法およびプログラム |
JP2015519801A (ja) * | 2012-04-18 | 2015-07-09 | アクメ パケット インコーポレイテッドAcme Packet, Inc. | リアルタイム通信のための冗長性 |
US9531503B2 (en) | 2012-04-18 | 2016-12-27 | Acme Packet, Inc. | Redundancy for real time communications |
Also Published As
Publication number | Publication date |
---|---|
JP4969421B2 (ja) | 2012-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4794629B2 (ja) | ルート指定されたネットワークにおけるフォールトトレラント通信 | |
US6545981B1 (en) | System and method for implementing error detection and recovery in a system area network | |
US7991877B2 (en) | Rogue router hunter | |
JP4851585B2 (ja) | クライアント装置と複数のサーバ装置からなるシステムの通信方法、その通信プログラム、クライアント装置及びサーバ装置 | |
US9385842B2 (en) | Systems and methods for switching data at nodes of wireless networks | |
US7876751B2 (en) | Reliable link layer packet retry | |
CN1633647B (zh) | 用于管理网络中的数据传送的系统、方法 | |
US9413652B2 (en) | Systems and methods for path maximum transmission unit discovery | |
US6760766B1 (en) | Data transmission method and device | |
US20060164974A1 (en) | Method of moving a transport connection among network hosts | |
US11799738B2 (en) | Communication of a message using a network interface controller on a subnet | |
KR20120093225A (ko) | 성능 모니터링을 이용한 능동 다중경로 네트워크 리던던시 | |
JP5250767B2 (ja) | 冗長3ワイヤ通信システムおよび方法 | |
JP4969421B2 (ja) | 受信装置及び通信システム | |
US20060176904A1 (en) | Method for sharing a transport connection across a multi-processor platform with limited inter-processor communications | |
JP6182779B1 (ja) | 転送装置、転送方法およびプログラム | |
KR100844999B1 (ko) | 로컬 네트워크를 통해 연결되어 있는 로컬 서버들과 외부서버간의 데이터 전송 방법 및 시스템 | |
JP6207710B1 (ja) | 転送制御装置、転送制御方法およびプログラム | |
WO2023222235A1 (en) | Switch controller, sending controller and methods for use in switch controller and sending controller in reliable multicast communication |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100916 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20111220 |
|
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: 20120306 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120403 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150413 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4969421 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |