JP2007324958A - 送信ノード装置及び受信ノード装置及び送信方法及び受信方法及びプログラム - Google Patents
送信ノード装置及び受信ノード装置及び送信方法及び受信方法及びプログラム Download PDFInfo
- Publication number
- JP2007324958A JP2007324958A JP2006153142A JP2006153142A JP2007324958A JP 2007324958 A JP2007324958 A JP 2007324958A JP 2006153142 A JP2006153142 A JP 2006153142A JP 2006153142 A JP2006153142 A JP 2006153142A JP 2007324958 A JP2007324958 A JP 2007324958A
- Authority
- JP
- Japan
- Prior art keywords
- address
- serial number
- data frame
- receiving
- pointer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
【課題】発着信アドレスを省略してデータフレームを送信する。
【解決手段】送信側の通信ノード装置11は、受信側の通信ノード装置12により送達確認が行われたデータフレーム4に含まれていた通番41と発着信アドレス31を送信キャッシュテーブル6に記憶し、受信側の通信ノード12は、送信側の通信ノード11から受信済みのデータフレームに含まれていた通番41と発着信アドレス31を受信キャッシュテーブル7に記憶し、通信ノード11は、通信ノード12に送信するデータフレームの発着信アドレス31に一致する発着信アドレス31が送信キャッシュテーブル6に存在する場合に、当該発着信アドレスに対する通番をポインタ43としてデータフレームに付加して送信し、通信ノード12では、データフレームに付加されているポインタ43が示す通番に対応する発着信アドレス31を受信キャッシュテーブル7から検索して、データ32に付加する。
【選択図】図2
【解決手段】送信側の通信ノード装置11は、受信側の通信ノード装置12により送達確認が行われたデータフレーム4に含まれていた通番41と発着信アドレス31を送信キャッシュテーブル6に記憶し、受信側の通信ノード12は、送信側の通信ノード11から受信済みのデータフレームに含まれていた通番41と発着信アドレス31を受信キャッシュテーブル7に記憶し、通信ノード11は、通信ノード12に送信するデータフレームの発着信アドレス31に一致する発着信アドレス31が送信キャッシュテーブル6に存在する場合に、当該発着信アドレスに対する通番をポインタ43としてデータフレームに付加して送信し、通信ノード12では、データフレームに付加されているポインタ43が示す通番に対応する発着信アドレス31を受信キャッシュテーブル7から検索して、データ32に付加する。
【選択図】図2
Description
本発明は、例えば、発着信アドレスを含むパケットに通番を付与してデータフレームを構成し、隣接ノード間で通番を用いてデータフレームの送達確認および失われたデータフレームの再送を行う通信システムにおけるデータフレームのヘッダ圧縮技術に関する。
従来のヘッダ圧縮方法として、例えば、特許文献1には、ROHC(RObust Header Compression)が開示されている。このROHCは、主に携帯電話網などの無線でのパケット伝送向けにIETF(Internet Engineering Task Force)で提案されているヘッダ圧縮方法である。これは、無線区間においては、有線区間に比べてパケット伝送中の誤り発生率が高くなる傾向があることを考慮したものであり、伝送中に生じた誤りに対して高い耐性を持つことを特徴とするヘッダ圧縮方法である。
ROHCでは、上位層プロトコルのシーケンス番号を利用し、直前に送信したパケットのシーケンス番号とこれから送信するパケットのシーケンス番号との差が大きくなったら、これから送信するパケットは別のコンテキスト番号を用いて送信することでヘッダの圧縮を行う。
ROHCでは、上位層プロトコルのシーケンス番号を利用し、直前に送信したパケットのシーケンス番号とこれから送信するパケットのシーケンス番号との差が大きくなったら、これから送信するパケットは別のコンテキスト番号を用いて送信することでヘッダの圧縮を行う。
また、パケットを通信路で伝送する場合の効率の良い誤り回復プロトコルとしてSelective−Repeat ARQ(SR−ARQ)が一般に用いられる。このSR−ARQは上位層のパケットに通番を付与してフレームを構成し送信する。受信側ではフレームを受信してその通番により伝送誤りにより失われたフレームを検出し、送信側に失われたフレームの通番を否定応答(NACK)に含めて送信する。送信側ではNACKに含まれる通番のフレームを再送することにより伝送誤りに対する回復を行う。
このようなSR−ARQでは、受信側で通番に従ってフレームの順序を並び替える順序制御が必要となる。
この順序制御による遅延時間を減少させ、順序制御に必要となる受信バッファ量を減少させる方式として上位層のフローごとに順序制御を行うPer Flow ReSequencing 方式(PFRS方式)が提案されている。さらにこのPFRS方式の実現方式としてSR−ARQの通番を利用するポインタ方式が提案されている(例えば、非特許文献1)。ポインタ方式は、ある上位層フローに属するパケットを運ぶフレームを送信する際、同じフローに属する直前のパケットを運ぶフレームをSR ARQの通番を用いることにより指定する方式で、ポインタと呼ぶ通番を従来のフレームに付与する。ポインタによりフレームが運ぶパケットのフロー識別と同一フローに属するパケット間の順序識別を同時に実現することができる。
特開2003−8644号公報
鹿間敏弘、水野忠則著「Selective−Repeat ARQの通番を用いるフロー単位の順序制御方式」 電子情報通信学会論文誌, VOL.J88−B,No.6、(社)電子情報通信学会,2005年6月、P1017−1028
この順序制御による遅延時間を減少させ、順序制御に必要となる受信バッファ量を減少させる方式として上位層のフローごとに順序制御を行うPer Flow ReSequencing 方式(PFRS方式)が提案されている。さらにこのPFRS方式の実現方式としてSR−ARQの通番を利用するポインタ方式が提案されている(例えば、非特許文献1)。ポインタ方式は、ある上位層フローに属するパケットを運ぶフレームを送信する際、同じフローに属する直前のパケットを運ぶフレームをSR ARQの通番を用いることにより指定する方式で、ポインタと呼ぶ通番を従来のフレームに付与する。ポインタによりフレームが運ぶパケットのフロー識別と同一フローに属するパケット間の順序識別を同時に実現することができる。
このような従来のポインタ方式ではSR−ARQのポインタをフレームに付与することにより、上位層のフローごとに順序制御を効率良く実現しているが、このポインタによりフレームのサイズが大きくなり余分な通信帯域を必要とする問題があった。
この発明は上記のような問題点を解決することを主な目的としており、ポインタによる余分な通信帯域を必要としないフロー識別およびフローごとのパケット順序識別を実現することを主な目的とする。
本発明に係る送信ノード装置は、
通番と発着信アドレスとが含まれるデータフレームを受信ノード装置に送信する送信ノード装置であって、
前記受信ノード装置による送達確認済みのデータフレームに含まれていた通番と発着信アドレスとを示す通番アドレス情報を記憶する通番アドレス情報記憶部と、
前記受信ノード装置に対して新たに送信する新規データフレームの発着信アドレスに一致する発着信アドレスを前記通番アドレス情報から検索する発着信アドレス検索部と、
前記発着信アドレス検索部により新規データフレームの発着信アドレスに一致する発着信アドレスが前記通番アドレス情報から検索された場合に、新規データフレームの発着信アドレスに代えて、前記発着信アドレス検索部により検索された発着信アドレスに対する通番を発着信アドレス表象ポインタとして新規データフレームに付加するポインタ付加部と、
前記ポインタ付加部により発着信アドレスに代えて発着信アドレス表象ポインタが付加された新規データフレームを前記受信ノード装置に対して送信する通信部とを有することを特徴とする。
通番と発着信アドレスとが含まれるデータフレームを受信ノード装置に送信する送信ノード装置であって、
前記受信ノード装置による送達確認済みのデータフレームに含まれていた通番と発着信アドレスとを示す通番アドレス情報を記憶する通番アドレス情報記憶部と、
前記受信ノード装置に対して新たに送信する新規データフレームの発着信アドレスに一致する発着信アドレスを前記通番アドレス情報から検索する発着信アドレス検索部と、
前記発着信アドレス検索部により新規データフレームの発着信アドレスに一致する発着信アドレスが前記通番アドレス情報から検索された場合に、新規データフレームの発着信アドレスに代えて、前記発着信アドレス検索部により検索された発着信アドレスに対する通番を発着信アドレス表象ポインタとして新規データフレームに付加するポインタ付加部と、
前記ポインタ付加部により発着信アドレスに代えて発着信アドレス表象ポインタが付加された新規データフレームを前記受信ノード装置に対して送信する通信部とを有することを特徴とする。
また、本発明に係る受信ノード装置は、
通番と発着信アドレスとが含まれるデータフレームを送信ノード装置から受信する受信ノード装置であって、
前記送信ノード装置から受信済みのデータフレームに含まれていた通番と発着信アドレスとを示す通番アドレス情報を記憶する通番アドレス情報記憶部と、
前記送信ノード装置から送信された新規データフレームを受信する通信部と、
新規データフレームに、発着信アドレスの代わりに、前記通番アドレス情報に示されるいずれかの通番に一致する通番が発着信アドレス表象ポインタとして含まれているか否かを検索する通番検索部と、
前記通番アドレス情報に示されるいずれかの通番に一致する通番が発着信アドレス表象ポインタとして新規データフレームに含まれている場合に、前記通番検索部により検索された通番に対する発着信アドレスを新規データフレームのデータに付加するアドレス付加部とを有することを特徴とする。
通番と発着信アドレスとが含まれるデータフレームを送信ノード装置から受信する受信ノード装置であって、
前記送信ノード装置から受信済みのデータフレームに含まれていた通番と発着信アドレスとを示す通番アドレス情報を記憶する通番アドレス情報記憶部と、
前記送信ノード装置から送信された新規データフレームを受信する通信部と、
新規データフレームに、発着信アドレスの代わりに、前記通番アドレス情報に示されるいずれかの通番に一致する通番が発着信アドレス表象ポインタとして含まれているか否かを検索する通番検索部と、
前記通番アドレス情報に示されるいずれかの通番に一致する通番が発着信アドレス表象ポインタとして新規データフレームに含まれている場合に、前記通番検索部により検索された通番に対する発着信アドレスを新規データフレームのデータに付加するアドレス付加部とを有することを特徴とする。
本発明によれば、データ量の多い発着信アドレスを用いずに、データ量の少ない発着信アドレス表象ポインタを圧縮アドレスとして用いるため、発着信アドレスによるオーバーヘッドを削減することができる。
実施の形態1.
本実施の形態では、同一フローではパケットの発着信アドレスと発着信ポート番号が常に同じであることに着目し、送信側と受信側でフレームの通番とそのフレームが運ぶパケットの発着信アドレスと発着信ポート番号を記憶させ、同一フローのパケットが既に送られて送達確認されていれば、パケットの発着信アドレスと発着信ポート番号を削除することによりフレームのサイズを減少させ、ポインタの付与によるオーバーヘッドを平均的に削減しようとするものである。
本実施の形態では、同一フローではパケットの発着信アドレスと発着信ポート番号が常に同じであることに着目し、送信側と受信側でフレームの通番とそのフレームが運ぶパケットの発着信アドレスと発着信ポート番号を記憶させ、同一フローのパケットが既に送られて送達確認されていれば、パケットの発着信アドレスと発着信ポート番号を削除することによりフレームのサイズを減少させ、ポインタの付与によるオーバーヘッドを平均的に削減しようとするものである。
図1は、本実施の形態に係る通信システム例を示す構成図である。
図1において11および12は通信ノード装置(以下、単に通信ノードともいう)、2は通信回線、3はパケット、4はデータフレーム、5は応答パケットを示している。
図1では通信ノード11から通信ノード12へパケット3を送る場合を示しており、通信ノード11は送信すべきパケット3に通番を含むフレームヘッダを付与してデータフレーム4を構成し通信ノード12へ送信する。
通信ノード12はこれを正しく受信すると応答パケット5を通信ノード11に返す。
本実施の形態では、通信ノード11が送信ノード装置の例であり、通信ノード12が受信ノード装置の例である。
図1において11および12は通信ノード装置(以下、単に通信ノードともいう)、2は通信回線、3はパケット、4はデータフレーム、5は応答パケットを示している。
図1では通信ノード11から通信ノード12へパケット3を送る場合を示しており、通信ノード11は送信すべきパケット3に通番を含むフレームヘッダを付与してデータフレーム4を構成し通信ノード12へ送信する。
通信ノード12はこれを正しく受信すると応答パケット5を通信ノード11に返す。
本実施の形態では、通信ノード11が送信ノード装置の例であり、通信ノード12が受信ノード装置の例である。
図2は、図1の構成図における通信シーケンス例を示している。
図2において、6は送信キャッシュテーブル、7は受信キャッシュテーブルを示し、それぞれ通信ノード11と通信ノード12の内部に存在する。
31は発着信アドレス、32はデータ、41は通番、42は圧縮表示識別子(以下、圧縮表示という)、43は発着信アドレス表象ポインタ(以下、ポインタという)、51は応答パケット識別情報、8は送達確認フラグ、t1、t2、t3、t4は説明に用いる時刻を示す。
なお、ADR1、ADR2等の発着信アドレス31には、発着信ポート番号も含まれている。また、圧縮表示42は、発着信アドレス31に代えてポインタ43が付加されているか否かを識別するための識別子である。
また、各時刻における通信ノード11及び通信ノード12の動作の詳細は、後述することとし、ここでは、通信ノード11及び通信ノード12の動作を概説する。
図2において、6は送信キャッシュテーブル、7は受信キャッシュテーブルを示し、それぞれ通信ノード11と通信ノード12の内部に存在する。
31は発着信アドレス、32はデータ、41は通番、42は圧縮表示識別子(以下、圧縮表示という)、43は発着信アドレス表象ポインタ(以下、ポインタという)、51は応答パケット識別情報、8は送達確認フラグ、t1、t2、t3、t4は説明に用いる時刻を示す。
なお、ADR1、ADR2等の発着信アドレス31には、発着信ポート番号も含まれている。また、圧縮表示42は、発着信アドレス31に代えてポインタ43が付加されているか否かを識別するための識別子である。
また、各時刻における通信ノード11及び通信ノード12の動作の詳細は、後述することとし、ここでは、通信ノード11及び通信ノード12の動作を概説する。
送信側の通信ノード11は、受信側の通信ノード12により送達確認が行われたデータフレーム4に含まれていた通番41と発着信アドレス31を送信キャッシュテーブル6に記憶し、受信側の通信ノード12は、送信側の通信ノード11から受信済みのデータフレームに含まれていた通番41と発着信アドレス31を受信キャッシュテーブル7に記憶する。
図2の例では、時刻t1において送信されたデータフレームは応答パケット5が送信されているので、時刻t1において送信されたデータフレームに含まれる発着信アドレス31であるADR1と対応する通番41である3が送信キャッシュテーブル6及び受信キャッシュテーブル7に記憶されることになる。同様に、時刻t2において送信されたデータフレームも応答パケット5が送信されているので、発着信アドレス31であるADR2及び対応する通番41である4も送信キャッシュテーブル6及び受信キャッシュテーブル7に記憶される。
通信ノード11は、例えば時刻t3において、通信ノード12に新たなデータフレームを送信する場合に、新たに送信する新規データフレームの発着信アドレス31(ADR1)に一致する発着信アドレス31が送信キャッシュテーブル6に存在するか否かを検索し、一致する発着信アドレスが存在する場合に、当該発着信アドレスに対する通番(ここでは3)を発着信アドレスを表象するポインタ43(発着信アドレス表象ポインタ)としてデータフレーム4に付加して送信し、通信ノード12では、データフレーム4に付加されているポインタ43が示す通番(ここでは3)に対応する発着信アドレス31(ADR1)を受信キャッシュテーブル7から検索して、検索した発着信アドレス31(ADR1)をデータ32に付加する。
また、時刻t4においては、発着信アドレスADR2に対して同様の取り扱いが行われる。
図2の例では、時刻t1において送信されたデータフレームは応答パケット5が送信されているので、時刻t1において送信されたデータフレームに含まれる発着信アドレス31であるADR1と対応する通番41である3が送信キャッシュテーブル6及び受信キャッシュテーブル7に記憶されることになる。同様に、時刻t2において送信されたデータフレームも応答パケット5が送信されているので、発着信アドレス31であるADR2及び対応する通番41である4も送信キャッシュテーブル6及び受信キャッシュテーブル7に記憶される。
通信ノード11は、例えば時刻t3において、通信ノード12に新たなデータフレームを送信する場合に、新たに送信する新規データフレームの発着信アドレス31(ADR1)に一致する発着信アドレス31が送信キャッシュテーブル6に存在するか否かを検索し、一致する発着信アドレスが存在する場合に、当該発着信アドレスに対する通番(ここでは3)を発着信アドレスを表象するポインタ43(発着信アドレス表象ポインタ)としてデータフレーム4に付加して送信し、通信ノード12では、データフレーム4に付加されているポインタ43が示す通番(ここでは3)に対応する発着信アドレス31(ADR1)を受信キャッシュテーブル7から検索して、検索した発着信アドレス31(ADR1)をデータ32に付加する。
また、時刻t4においては、発着信アドレスADR2に対して同様の取り扱いが行われる。
次に、本実施の形態に係る通信ノード11(送信ノード装置)及び通信ノード12(受信ノード装置)の構成例を図6及び図7に示す。
図6は通信ノード11の構成例を示し、図7は通信ノード12の構成例を示す。
図6は通信ノード11の構成例を示し、図7は通信ノード12の構成例を示す。
図6において、通信部1101は、データフレームを通信回線2に送出する。通信部1101は、後述するように、ヘッダ加工部1102により発着信アドレス31に代えて発着信アドレスを表象するポインタ43が付加されたデータフレーム4を通信ノード12に対して送信する場合がある。
ヘッダ加工部1102は、通信ノード12に送信しようとするデータフレーム4の発着信アドレス31が送信キャッシュテーブル1107にある場合に、ヘッダから発着信アドレス31を削除するとともにポインタ43を付加する。ヘッダ加工部1102は、ポインタ付加部の例である。
再送用フレーム蓄積部1103は、データフレーム4の再送用に通信部1101により送信されたデータフレーム4を一時的に蓄積しておくバッファである。
制御部1104は、通信ノード11の全体の制御を行う。
送信キャッシュテーブル管理部1105は、送信キャッシュテーブル1107に対する処理を行う手段であり、例えば、通信ノード12に送信しようとするデータフレーム4の発着信アドレス31が送信キャッシュテーブル1107に存在するか否かを検索したり、送信キャッシュテーブル1107に示されている通番の更新を行ったりする。送信キャッシュテーブル管理部1105は、発着信アドレス検索部の例である。
送信キャッシュテーブル記憶部1106は、送信キャッシュテーブル1107を記憶している。送信キャッシュテーブル記憶部1106は、通番アドレス情報記憶部の例である。
また、送信キャッシュテーブル1107は、図2に示す送信キャッシュテーブル6である。送信キャッシュテーブル1107は、通番アドレス情報の例である。
ヘッダ加工部1102は、通信ノード12に送信しようとするデータフレーム4の発着信アドレス31が送信キャッシュテーブル1107にある場合に、ヘッダから発着信アドレス31を削除するとともにポインタ43を付加する。ヘッダ加工部1102は、ポインタ付加部の例である。
再送用フレーム蓄積部1103は、データフレーム4の再送用に通信部1101により送信されたデータフレーム4を一時的に蓄積しておくバッファである。
制御部1104は、通信ノード11の全体の制御を行う。
送信キャッシュテーブル管理部1105は、送信キャッシュテーブル1107に対する処理を行う手段であり、例えば、通信ノード12に送信しようとするデータフレーム4の発着信アドレス31が送信キャッシュテーブル1107に存在するか否かを検索したり、送信キャッシュテーブル1107に示されている通番の更新を行ったりする。送信キャッシュテーブル管理部1105は、発着信アドレス検索部の例である。
送信キャッシュテーブル記憶部1106は、送信キャッシュテーブル1107を記憶している。送信キャッシュテーブル記憶部1106は、通番アドレス情報記憶部の例である。
また、送信キャッシュテーブル1107は、図2に示す送信キャッシュテーブル6である。送信キャッシュテーブル1107は、通番アドレス情報の例である。
また、図7において、通信部1201は、通信回線2からデータフレーム4を受信する。通信部1201は、発着信アドレス31に代えて発着信アドレスを表象するポインタ43が付加されたデータフレーム4を通信ノード11から受信する場合がある。
ヘッダ切出部1202は、受信したデータフレーム4のうちヘッダ部分(通番41、圧縮表示42、ポインタ43又は発着信アドレス31)を切り出す。
ヘッダ加工部1203は、ヘッダ切出部1202により切り出されたヘッダにポインタ43が付加され、付加されているポインタ43に示される通番が受信キャッシュテーブル1207にある場合に、ポインタ43を削除するとともに、当該通番に対応する発着信アドレス31をデータ32に付加する。ヘッダ加工部1203は、アドレス付加部の例である。
制御部1204は、通信ノード12の全体の制御を行う。また、通信ノード11からデータフレーム4を受信した際に、応答パケット5を生成する。制御部1204は、応答生成部の例である。
受信キャッシュテーブル管理部1205は、受信キャッシュテーブル1207に対する処理を行う手段であり、例えば、通信ノード11から受信したデータフレーム4に付加されているポインタ43に示される通番が受信キャッシュテーブル1207に存在するか否かを検索したり、受信キャッシュテーブル1207に示されている通番の更新を行ったりする。受信キャッシュテーブル管理部1205は、通番アドレス検索部の例である。
受信キャッシュテーブル記憶部1206は、受信キャッシュテーブル1207を記憶している。受信キャッシュテーブル記憶部1206は、通番アドレス情報記憶部の例である。
また、受信キャッシュテーブル1207は、図2に示す受信キャッシュテーブル7である。受信キャッシュテーブル1207は、通番アドレス情報の例である。
ヘッダ切出部1202は、受信したデータフレーム4のうちヘッダ部分(通番41、圧縮表示42、ポインタ43又は発着信アドレス31)を切り出す。
ヘッダ加工部1203は、ヘッダ切出部1202により切り出されたヘッダにポインタ43が付加され、付加されているポインタ43に示される通番が受信キャッシュテーブル1207にある場合に、ポインタ43を削除するとともに、当該通番に対応する発着信アドレス31をデータ32に付加する。ヘッダ加工部1203は、アドレス付加部の例である。
制御部1204は、通信ノード12の全体の制御を行う。また、通信ノード11からデータフレーム4を受信した際に、応答パケット5を生成する。制御部1204は、応答生成部の例である。
受信キャッシュテーブル管理部1205は、受信キャッシュテーブル1207に対する処理を行う手段であり、例えば、通信ノード11から受信したデータフレーム4に付加されているポインタ43に示される通番が受信キャッシュテーブル1207に存在するか否かを検索したり、受信キャッシュテーブル1207に示されている通番の更新を行ったりする。受信キャッシュテーブル管理部1205は、通番アドレス検索部の例である。
受信キャッシュテーブル記憶部1206は、受信キャッシュテーブル1207を記憶している。受信キャッシュテーブル記憶部1206は、通番アドレス情報記憶部の例である。
また、受信キャッシュテーブル1207は、図2に示す受信キャッシュテーブル7である。受信キャッシュテーブル1207は、通番アドレス情報の例である。
なお、通信ノード11及び通信ノード12のそれぞれを図6の構成と図7の構成を組み合わせた構成としてもよい。この場合、図6及び図7において名称が共通する2つの要素は統合して1つの要素にしてもよい。
次に、本実施の形態に係る通信ノード11及び通信ノード12のハードウェア構成例を説明する。
図11は、本実施の形態に示す通信ノード11及び通信ノード12のハードウェア資源の一例を示す図である。
図11において、通信ノード11及び通信ノード12は、プログラムを実行するCPU911(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。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、スキャナ装置907、FDD904などは、入力部、入力装置の一例である。
また、通信ボード915、表示装置901、プリンタ装置906などは、出力部、出力装置の一例である。
図11は、本実施の形態に示す通信ノード11及び通信ノード12のハードウェア資源の一例を示す図である。
図11において、通信ノード11及び通信ノード12は、プログラムを実行するCPU911(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。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、スキャナ装置907、FDD904などは、入力部、入力装置の一例である。
また、通信ボード915、表示装置901、プリンタ装置906などは、出力部、出力装置の一例である。
通信ボード915は、図1に示すように、通信回線2に接続されている。例えば、通信ボード915は、LAN(ローカルエリアネットワーク)、インターネット、WAN(ワイドエリアネットワーク)などに接続されていても構わない。
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。
上記プログラム群923には、本実施の形態の説明において「〜部」、「〜手段」として説明している機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、以下に述べる説明において、「〜の判定結果」、「〜の計算結果」、「〜の処理結果」、「〜の評価結果」等として説明している情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリになどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、以下で説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
ファイル群924には、以下に述べる説明において、「〜の判定結果」、「〜の計算結果」、「〜の処理結果」、「〜の評価結果」等として説明している情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリになどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、以下で説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
また、本実施の形態の説明において「〜部」、「〜手段」として説明しているものは、「〜回路」、「〜装置」、「〜機器」、「手段」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」、「〜手段」として説明しているものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、本実施の形態の「〜部」、「〜手段」としてコンピュータを機能させるものである。あるいは、本実施の形態の「〜部」、「〜手段」の手順や方法をコンピュータに実行させるものである。
このように、本実施の形態に示す通信ノード11及び通信ノード12は、処理装置たるCPU、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」、「〜手段」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
次に、図2〜図5のシーケンス図を参照して通信ノード11及び通信ノード12の動作例を説明する。
先ず、図2について説明する。
時刻t1で、通信ノード11の通信部1101が、発着信アドレス31がADR1のデータパケット3を運ぶデータフレーム4を送信する。データフレーム4はデータパケット3と通番41および圧縮表示42を含む。圧縮表示42の値0はデータパケット3が発着信アドレス31を含むことを示す。
データパケット3を送信する前に、通信ノード11の送信キャッシュテーブル管理部1105が、データフレーム4の通番41と発着信アドレス31を送信キャッシュテーブル6(1107)に登録し、その送達確認フラグ8を0にする。
次に、通信ノード12では、通信部1201がデータフレーム4を正しく受信すると、ヘッダ切出部1202がヘッダを切出すとともに、受信キャッシュテーブル管理部1205がその通番41およびこのデータフレーム4が運ぶデータパケット3に含まれる発着信アドレス31を受信キャッシュテーブル7(1207)に登録し、制御部1204が正しく受信したことを示す応答パケット5を生成し、通信部1201が応答パケット5を通信ノード11に返す。
応答パケット5は応答パケット識別情報51と通番41を含む。
通信ノード11において通信部1101が応答パケット5を受信すると、通信ノード11の送信キャッシュテーブル管理部1105はデータフレーム4が正しく受信されたことを確認したので、送信キャッシュテーブル6(1107)の送達確認フラグ8を1に設定する。
時刻t1で、通信ノード11の通信部1101が、発着信アドレス31がADR1のデータパケット3を運ぶデータフレーム4を送信する。データフレーム4はデータパケット3と通番41および圧縮表示42を含む。圧縮表示42の値0はデータパケット3が発着信アドレス31を含むことを示す。
データパケット3を送信する前に、通信ノード11の送信キャッシュテーブル管理部1105が、データフレーム4の通番41と発着信アドレス31を送信キャッシュテーブル6(1107)に登録し、その送達確認フラグ8を0にする。
次に、通信ノード12では、通信部1201がデータフレーム4を正しく受信すると、ヘッダ切出部1202がヘッダを切出すとともに、受信キャッシュテーブル管理部1205がその通番41およびこのデータフレーム4が運ぶデータパケット3に含まれる発着信アドレス31を受信キャッシュテーブル7(1207)に登録し、制御部1204が正しく受信したことを示す応答パケット5を生成し、通信部1201が応答パケット5を通信ノード11に返す。
応答パケット5は応答パケット識別情報51と通番41を含む。
通信ノード11において通信部1101が応答パケット5を受信すると、通信ノード11の送信キャッシュテーブル管理部1105はデータフレーム4が正しく受信されたことを確認したので、送信キャッシュテーブル6(1107)の送達確認フラグ8を1に設定する。
次に、時刻t2で、通信ノード11の通信部1101が、発着信アドレス31がADR2のデータパケット3を運ぶデータフレーム4を送信する。この場合も、同様にして、送信キャッシュテーブル管理部1105は、発着信アドレス31(ADR2)及び通番41(4)を送信キャッシュテーブル6(1107)に登録する。
このデータフレーム4も通信ノード12で正しく受信され、通信ノード12は応答パケット5を通信ノード11に返す。応答パケット5を受信後、送信キャッシュテーブル管理部1105は、送信キャッシュテーブル6(1107)の送達確認フラグ8を1に設定する。
この結果、送信キャッシュテーブル6(1107)には、通番41の値が3で発着信アドレス31がADR1、通番41の値が4で発着信アドレス31がADR2の情報が設定される。どちらも送達確認フラグ8は1の値が設定されている。同様に通信ノード12の受信キャッシュテーブル7(1207)にも通番41の値が3で発着信アドレス31がADR1、通番41の値が4で発着信アドレス31がADR2の情報が設定される。
このデータフレーム4も通信ノード12で正しく受信され、通信ノード12は応答パケット5を通信ノード11に返す。応答パケット5を受信後、送信キャッシュテーブル管理部1105は、送信キャッシュテーブル6(1107)の送達確認フラグ8を1に設定する。
この結果、送信キャッシュテーブル6(1107)には、通番41の値が3で発着信アドレス31がADR1、通番41の値が4で発着信アドレス31がADR2の情報が設定される。どちらも送達確認フラグ8は1の値が設定されている。同様に通信ノード12の受信キャッシュテーブル7(1207)にも通番41の値が3で発着信アドレス31がADR1、通番41の値が4で発着信アドレス31がADR2の情報が設定される。
次に、時刻t3で、通信ノード11の通信部1101は発着信アドレス31がADR1のパケットを運ぶデータフレーム4を通信ノード12に送信する。通信ノード11の送信キャッシュテーブル管理部1105は送信キャッシュテーブル6(1107)を検索し、ADR1の発着信アドレス31が登録されているか検査する。この場合、ADR1は登録され送達確認フラグ8の値が1となっているので、通信ノード11のヘッダ加工部1102は圧縮表示42を1とし発着信アドレス31の代わりに登録されている通番41の値3をポインタ43としてデータフレーム4に付与し、通信部1101がこのようにヘッダが加工されたデータフレーム4を送信する。
通信ノード12では、通信部1201がこのデータフレーム4を受信し、ヘッダ切出部1202がヘッダを切出し、圧縮表示42の値が1となっているので受信キャッシュテーブル管理部1205がポインタ43の値3が受信キャッシュテーブル7(1207)の通番41の値として登録されているか検査する。この場合、値3は登録されているので、受信キャッシュテーブル管理部1205は、対で登録されている発着信アドレス31の値ADR1を取り出し、ヘッダ加工部1203が、この発着信アドレスADR1を受信したデータフレーム4に含まれるデータパケット3に付与することにより、通信ノード12で元のデータパケット3を復元する。
通信ノード12では、通信部1201がこのデータフレーム4を受信し、ヘッダ切出部1202がヘッダを切出し、圧縮表示42の値が1となっているので受信キャッシュテーブル管理部1205がポインタ43の値3が受信キャッシュテーブル7(1207)の通番41の値として登録されているか検査する。この場合、値3は登録されているので、受信キャッシュテーブル管理部1205は、対で登録されている発着信アドレス31の値ADR1を取り出し、ヘッダ加工部1203が、この発着信アドレスADR1を受信したデータフレーム4に含まれるデータパケット3に付与することにより、通信ノード12で元のデータパケット3を復元する。
同様に、時刻t4で通信ノード11は発着信アドレス31がADR2のデータフレーム4を通信ノード12に送信する。この場合も通信ノード11の送信キャッシュテーブル6(1107)および通信ノード12の受信キャッシュテーブル7(1207)に発着信アドレス31の値ADR2が登録されているので、圧縮表示42の値を1としポインタ43を用いて発着信アドレス31を削除したデータパケット3を含むデータフレーム4を送ることができる。
このように、最初の通信では元の発着信アドレス31を含むデータパケット3がデータフレーム4で送信されるが、送信キャッシュテーブル6および受信キャッシュテーブル7に発着信アドレス31と通番41とが登録されると、長い発着信アドレス31を用いずに短いポインタ43を圧縮アドレスとして用いるため、発着信アドレス31によるオーバーヘッドを削減することができる。
発着信アドレス31はポインタ43の値よりもデータ量として大きく、発着信アドレス31を削除して送受信することにより圧縮表示42およびポインタ43を付与してもデータフレーム4の大きさを大幅に削減できる。このため、通信に必要な帯域を削減できる。また、送信側は受信側が発着信アドレス31を含むデータパケット3を運ぶデータフレーム4を受信したことを確認してからポインタ43を用いるため、送信側と受信側で不一致が生じることは基本的には無い。
発着信アドレス31はポインタ43の値よりもデータ量として大きく、発着信アドレス31を削除して送受信することにより圧縮表示42およびポインタ43を付与してもデータフレーム4の大きさを大幅に削減できる。このため、通信に必要な帯域を削減できる。また、送信側は受信側が発着信アドレス31を含むデータパケット3を運ぶデータフレーム4を受信したことを確認してからポインタ43を用いるため、送信側と受信側で不一致が生じることは基本的には無い。
また、送信側の通信ノード11において、ヘッダ加工部1102は、発着信アドレス31に代えてポインタ43をデータフレーム4に付加する場合に、発着信アドレス31に代えてポインタ43が付加されていることを示す圧縮表示42をデータフレーム4に設定し、受信側の通信ノード12では、受信キャッシュテーブル管理部1205が、データフレーム4に圧縮表示42が設定されているか否かを判定し、圧縮表示42が設定されている場合に、データフレーム4に、受信キャッシュテーブル7に示されるいずれかの通番41に一致する通番41がポインタ43として含まれているか否かを検索する。このようにすることで、発着信アドレス31に代えてポインタ43を用いても、受信側の通信ノードで確実にポインタ43から発着信アドレス31への変換が行われる。
図3は、ポインタ43によりデータパケット3の順序制御とデータパケット3の発着信アドレス31の削減を同時に行う場合を示している。
ここで通信回線2には比較的大きな遅延が存在し、データフレーム4を送信するとその応答パケット5は次のデータフレーム4の送信後に返ってくるものとしている。
図3で、44は再送を要求するデータフレーム4の通番、t5、t6、t7、t8、t9は説明に用いる時刻を示している。
ここで通信回線2には比較的大きな遅延が存在し、データフレーム4を送信するとその応答パケット5は次のデータフレーム4の送信後に返ってくるものとしている。
図3で、44は再送を要求するデータフレーム4の通番、t5、t6、t7、t8、t9は説明に用いる時刻を示している。
図3においても図2と同様に、時刻t5とt6で、発着信アドレスADR1とADR2のデータパケット3が各々送信され、送信キャッシュテーブル6と受信キャッシュテーブル7にはADR1とADR2の発着信アドレス31が登録される。
時刻t7で、データパケット3を含む通番41の値が5のデータフレーム4が送信されるが、通信路での伝送誤りにより失われたとする。
時刻t8で、通番41の値が6のデータフレーム4が送信され正しく受信されたとする。
受信側では、制御部1204が、通番41の不連続により通番41の値が5のデータフレーム4が失われたことを検出し、不達否定応答NAK1を運ぶ応答パケット5を生成し、通信部1201が返送する。ここで不達否定応答NAK1は、受信側の通信ノード12から送信側の通信ノード11に対してデータフレームの不達を通知するための応答である。
応答パケット5には再送を要求するデータフレームの通番44が付与され、通番の値は5が設定される。
不達否定応答NAK1を運ぶ応答パケット5を受信すると送信側は、再送用フレーム蓄積部1103に蓄積されている通番5のデータフレーム4を再送する。
受信側は、通番41の値が6のデータフレームを受信した時点で、そのポインタ43が発着信アドレス31の値ADR2のパケットで通番41が4のパケットを指していることが分かる。通番41が4のパケットは正しく受信されているので、ヘッダ加工部1203が、発着信アドレス31の値ADR2をデータフレーム4に含まれるデータパケット3に付与することにより、通信ノード12は元のデータパケット3を復元し、転送する。
受信側では、制御部1204が、通番41の不連続により通番41の値が5のデータフレーム4が失われたことを検出し、不達否定応答NAK1を運ぶ応答パケット5を生成し、通信部1201が返送する。ここで不達否定応答NAK1は、受信側の通信ノード12から送信側の通信ノード11に対してデータフレームの不達を通知するための応答である。
応答パケット5には再送を要求するデータフレームの通番44が付与され、通番の値は5が設定される。
不達否定応答NAK1を運ぶ応答パケット5を受信すると送信側は、再送用フレーム蓄積部1103に蓄積されている通番5のデータフレーム4を再送する。
受信側は、通番41の値が6のデータフレームを受信した時点で、そのポインタ43が発着信アドレス31の値ADR2のパケットで通番41が4のパケットを指していることが分かる。通番41が4のパケットは正しく受信されているので、ヘッダ加工部1203が、発着信アドレス31の値ADR2をデータフレーム4に含まれるデータパケット3に付与することにより、通信ノード12は元のデータパケット3を復元し、転送する。
このように通信ノード12は伝送誤りにより失われた通番41の値が5のデータフレーム4の受信を待たずに、通番41の値が6のデータフレーム4が運ぶデータパケット3を転送できる。
また、送信側の通信ノード11は、不達否定応答NAK1を受信した際に、受信した不達否定応答NAK1が対象とするデータフレームが発着信アドレスに代えてポインタが付加されたデータフレームである場合に、発着信アドレスに代えてポインタが付加された形式のままで当該データフレームを受信側の通信ノード12に対して再送する。
図4は、新規データフレーム4を送信するたびに行う送信キャッシュテーブル6における通番41の更新、新規データフレーム4を受信するたびに行う受信キャッシュテーブル7における通番41の更新を示している。
図4で61、62、63は送信キャッシュテーブル6に登録された通番41の変化、71、72、73は受信キャッシュテーブル7に登録された通番41の変化、t10、t11、t12は説明に用いる時刻を示している。
図4で61、62、63は送信キャッシュテーブル6に登録された通番41の変化、71、72、73は受信キャッシュテーブル7に登録された通番41の変化、t10、t11、t12は説明に用いる時刻を示している。
ここでは、時刻t10において、発着信アドレスADR1が送信キャッシュテーブル6および受信キャッシュテーブル7に登録されるようにしている。
発着信アドレス31の値ADR1が既に登録されているので、以降の時刻では、同じ発着信アドレス31のデータパケット3はポインタ43を用いることにより発着信アドレス31を省略できる。ポインタは同一発着信アドレス31を持つデータパケット3間の順序関係を表しており、同じフローに属す直前のデータパケット3を指す。このため、ポインタから発着信アドレス31を復元するためには、送信キャッシュテーブル6の通番41の値と受信キャッシュテーブル7の通番41の値を最新の値に更新する必要がある。
発着信アドレス31の値ADR1が既に登録されているので、以降の時刻では、同じ発着信アドレス31のデータパケット3はポインタ43を用いることにより発着信アドレス31を省略できる。ポインタは同一発着信アドレス31を持つデータパケット3間の順序関係を表しており、同じフローに属す直前のデータパケット3を指す。このため、ポインタから発着信アドレス31を復元するためには、送信キャッシュテーブル6の通番41の値と受信キャッシュテーブル7の通番41の値を最新の値に更新する必要がある。
時刻t10で、通信ノード11の通信部1101が通番41の値が3のデータパケット3を送信すると、送信キャッシュテーブル管理部1105が通番を登録することにより送信キャッシュテーブル61(1107)の通番の値は3となる。
通信ノード12の通信部1201がこのデータパケット3を受信すると、受信キャッシュテーブル管理部1205が通番を登録することにより受信キャッシュテーブル71(1207)の通番41の値も3となる。
時刻t11で、通信ノード11の通信部1101が通番41の値が4のデータパケット3を送信すると、送信キャッシュテーブル管理部1105が通番を更新することにより送信キャッシュテーブル62の通番の値は4となる。通信ノード12がこのデータパケット3を受信すると、受信キャッシュテーブル管理部1205が通番を更新することにより受信キャッシュテーブル72(1207)の通番41の値も4となる。
同様に時刻t12で、通番41の値が5のデータパケット3が送信されると、送信キャッシュテーブル73の通番41の値は5、受信キャッシュテーブル73の通番41の値も5と更新される。
通信ノード12の通信部1201がこのデータパケット3を受信すると、受信キャッシュテーブル管理部1205が通番を登録することにより受信キャッシュテーブル71(1207)の通番41の値も3となる。
時刻t11で、通信ノード11の通信部1101が通番41の値が4のデータパケット3を送信すると、送信キャッシュテーブル管理部1105が通番を更新することにより送信キャッシュテーブル62の通番の値は4となる。通信ノード12がこのデータパケット3を受信すると、受信キャッシュテーブル管理部1205が通番を更新することにより受信キャッシュテーブル72(1207)の通番41の値も4となる。
同様に時刻t12で、通番41の値が5のデータパケット3が送信されると、送信キャッシュテーブル73の通番41の値は5、受信キャッシュテーブル73の通番41の値も5と更新される。
このように、送信側の通信ノード11において、送信キャッシュテーブル管理部1105が、新規データフレームが送信されるたびに、送信キャッシュテーブル6に示されている通番を新規データフレームの通番に更新する。また、受信側の通信ノード12においても、受信キャッシュテーブル管理部1205が、新規データフレームが受信されるたびに、受信キャッシュテーブル7に示されている通番を新規データフレームの通番に更新する。
図5は、何らかの原因で送信キャッシュテーブル6と受信キャッシュテーブル7の間で不一致が生じた場合のシーケンス例を示している。
t13、t14、t15は説明に用いる時刻を示している。
t13、t14、t15は説明に用いる時刻を示している。
時刻t13で、通信ノード11は発着信アドレス31の値ADR1が送信キャッシュテーブル6(1107)に登録されているので、圧縮表示42の値を1とし登録されている通番41の値3をポインタ43としてデータパケット3を含むデータフレーム4を送信する。
通信ノード12では、このデータフレーム4を受信すると、圧縮表示42の値が1なので、受信キャッシュテーブル管理部1205が、ポインタ43の値3が受信キャッシュテーブル7(1207)に登録されているか検査する。この場合、登録されていないので通信ノード12の制御部1204が応答パケット5の応答パケット識別情報51として未登録であることを示す否定応答であるポインタ不一致否定応答NAK2を返送する。このポインタ不一致否定応答NAK2は、ポインタに示されている通番に一致する通番が受信キャッシュテーブル7から検索できない、すなわち、ポインタからは発着信アドレスを特定できない旨を通知する応答である。
この不一致否定応答NAK2を含む応答パケット5を受信すると、通信ノード11では、ヘッダ加工部1102が、再送用フレーム蓄積部1103に蓄積されている該当するデータフレーム4のヘッダからポインタ43を削除するとともに対応する発着信アドレス31付加し、更に圧縮表示42の値を0とし、通信部1101が、発着信アドレス31が含まれる元の形式(ポインタ43を用いない形式)のデータパケット3を含むデータフレーム4を時刻t12で再送する。
このデータフレーム4が通信ノード12で受信され、送達確認情報を含む応答パケット5が通信ノード11で受信されると、通信ノード11の送信キャッシュテーブル6と通信ノード12の受信キャッシュテーブル7の内容は発着信アドレス31の値がADR1に関して整合が取れる。これにより時刻t13で、発着信アドレス31の値がADR1のデータパケット3はポインタ43を用いることにより発着信アドレス31を削除して送ることができる。
通信ノード12では、このデータフレーム4を受信すると、圧縮表示42の値が1なので、受信キャッシュテーブル管理部1205が、ポインタ43の値3が受信キャッシュテーブル7(1207)に登録されているか検査する。この場合、登録されていないので通信ノード12の制御部1204が応答パケット5の応答パケット識別情報51として未登録であることを示す否定応答であるポインタ不一致否定応答NAK2を返送する。このポインタ不一致否定応答NAK2は、ポインタに示されている通番に一致する通番が受信キャッシュテーブル7から検索できない、すなわち、ポインタからは発着信アドレスを特定できない旨を通知する応答である。
この不一致否定応答NAK2を含む応答パケット5を受信すると、通信ノード11では、ヘッダ加工部1102が、再送用フレーム蓄積部1103に蓄積されている該当するデータフレーム4のヘッダからポインタ43を削除するとともに対応する発着信アドレス31付加し、更に圧縮表示42の値を0とし、通信部1101が、発着信アドレス31が含まれる元の形式(ポインタ43を用いない形式)のデータパケット3を含むデータフレーム4を時刻t12で再送する。
このデータフレーム4が通信ノード12で受信され、送達確認情報を含む応答パケット5が通信ノード11で受信されると、通信ノード11の送信キャッシュテーブル6と通信ノード12の受信キャッシュテーブル7の内容は発着信アドレス31の値がADR1に関して整合が取れる。これにより時刻t13で、発着信アドレス31の値がADR1のデータパケット3はポインタ43を用いることにより発着信アドレス31を削除して送ることができる。
このように、発着信アドレス31に代えてポインタ43が付加されている新規データフレーム4について、受信側の通信ノード12において、受信キャッシュテーブル管理部1205がポインタ43に示されている通番41に一致する通番41が受信キャッシュテーブル7から検索できない場合に、制御部1204が、当該ポインタ43からは発着信アドレス31を特定できない旨のポインタ不一致否定応答NAK2を生成し、当該ポインタ不一致否定応答NAK2を送信側の通信ノード11に送信する。
他方、送信側の通信ノード11では、通信部1101がポインタ不一致否定応答NAK2を受信した場合に、ヘッダ加工部1102が、ポインタ不一致否定応答NAK2が対象とするデータフレーム4からポインタ43を除去するとともに対応する発着信アドレス31を付加し、通信部1101が、ヘッダ加工部1102によりポインタ43に代えて発着信アドレス31が付加されたデータフレーム4を受信側の通信ノード12に対して再送する。これにより、なんらかの理由により、送信キャッシュテーブル6と受信キャッシュテーブル7の内容に不一致があった場合でも、受信側の通信ノード12は、再送時に発着信アドレス31が示されたデータフレーム4を受信することができ、受信側の通信ノード12が認識可能な形式のデータフレーム4を早期に受信できるとともに、送信キャッシュテーブル6と受信キャッシュテーブル7における不一致を早期に是正することができ、以後のデータフレーム4における発着信アドレス31の省略を可能とする。
他方、送信側の通信ノード11では、通信部1101がポインタ不一致否定応答NAK2を受信した場合に、ヘッダ加工部1102が、ポインタ不一致否定応答NAK2が対象とするデータフレーム4からポインタ43を除去するとともに対応する発着信アドレス31を付加し、通信部1101が、ヘッダ加工部1102によりポインタ43に代えて発着信アドレス31が付加されたデータフレーム4を受信側の通信ノード12に対して再送する。これにより、なんらかの理由により、送信キャッシュテーブル6と受信キャッシュテーブル7の内容に不一致があった場合でも、受信側の通信ノード12は、再送時に発着信アドレス31が示されたデータフレーム4を受信することができ、受信側の通信ノード12が認識可能な形式のデータフレーム4を早期に受信できるとともに、送信キャッシュテーブル6と受信キャッシュテーブル7における不一致を早期に是正することができ、以後のデータフレーム4における発着信アドレス31の省略を可能とする。
次に、図2〜図5に示した通信ノード11及び通信ノード12の動作例を図8〜図10のフローチャートとして示す。
先ず、図8を参照して、送信側の通信ノード11がデータフレームを送信する際の動作例を説明する。
受信側の通信ノード12に対して送信する新規データパケットが発生すると、S801において、送信キャッシュテーブル管理部1105が送信キャッシュテーブル6(1107)を検索する(発着信アドレス検索ステップ)。
次に、S802において、送信キャッシュテーブル管理部1105は、新規データパケットの発着信アドレス31が送信キャッシュテーブル6(1107)に登録済みか否かを判断し、登録済みでない場合(NOの場合)、S806において、ヘッダ加工部1102が、圧縮表示42を0とし、そのまま発着信アドレス31が含まれるようにする(発着信アドレス31を削除しない)。また、S807において、送信キャッシュテーブル管理部1105が、送信キャッシュテーブル6(1107)に当該データパケットの送信に用いるデータフレームの通番41、発着信アドレス31を登録するとともに、送達確認フラグ8を0とする。
一方、S802において発着信アドレスが登録済みであった場合(YESの場合)、送信キャッシュテーブル管理部1105は、送信キャッシュテーブル6(1107)の当該発着信アドレスのレコードに示されている送達確認フラグ8の値が1であるか否かを判断する(発着信アドレス検索ステップ)。
S803において送達確認フラグ8の値が0であった場合(NOの場合)、S806に進む。
一方、S803において送達確認フラグ8の値が1であった場合(YESの場合)、S804において、ヘッダ加工部1102が、圧縮表示42を1とし、データパケット3に含まれている発着信アドレス31を削除し、送信キャッシュテーブル6(1107)における当該発着信アドレスのレコードに示されている通番41の値をポインタ43として付加する(ポインタ付加ステップ)。
次に、S805において、送信キャッシュテーブル管理部1105が、送信キャッシュテーブル6(1107)の通番41を新規データフレームの通番41に更新する。
最後に、S808において、通信部1101が、受信側の通信ノード12に対してデータフレーム4を送信する(通信ステップ)。また、この送信されたデータフレーム4は、再送用フレーム蓄積部1103に蓄積される。
受信側の通信ノード12に対して送信する新規データパケットが発生すると、S801において、送信キャッシュテーブル管理部1105が送信キャッシュテーブル6(1107)を検索する(発着信アドレス検索ステップ)。
次に、S802において、送信キャッシュテーブル管理部1105は、新規データパケットの発着信アドレス31が送信キャッシュテーブル6(1107)に登録済みか否かを判断し、登録済みでない場合(NOの場合)、S806において、ヘッダ加工部1102が、圧縮表示42を0とし、そのまま発着信アドレス31が含まれるようにする(発着信アドレス31を削除しない)。また、S807において、送信キャッシュテーブル管理部1105が、送信キャッシュテーブル6(1107)に当該データパケットの送信に用いるデータフレームの通番41、発着信アドレス31を登録するとともに、送達確認フラグ8を0とする。
一方、S802において発着信アドレスが登録済みであった場合(YESの場合)、送信キャッシュテーブル管理部1105は、送信キャッシュテーブル6(1107)の当該発着信アドレスのレコードに示されている送達確認フラグ8の値が1であるか否かを判断する(発着信アドレス検索ステップ)。
S803において送達確認フラグ8の値が0であった場合(NOの場合)、S806に進む。
一方、S803において送達確認フラグ8の値が1であった場合(YESの場合)、S804において、ヘッダ加工部1102が、圧縮表示42を1とし、データパケット3に含まれている発着信アドレス31を削除し、送信キャッシュテーブル6(1107)における当該発着信アドレスのレコードに示されている通番41の値をポインタ43として付加する(ポインタ付加ステップ)。
次に、S805において、送信キャッシュテーブル管理部1105が、送信キャッシュテーブル6(1107)の通番41を新規データフレームの通番41に更新する。
最後に、S808において、通信部1101が、受信側の通信ノード12に対してデータフレーム4を送信する(通信ステップ)。また、この送信されたデータフレーム4は、再送用フレーム蓄積部1103に蓄積される。
次に、図9を参照して、送信側の通信ノード11が応答パケット5を受信した際の動作例を説明する。
通信部1101が受信側の通信ノード12から応答パケット5を受信した場合に(S901でYES)、S902において、制御部1104が、応答パケット5の種類がACK、NAK1、NAK2のいずれであるかを判断する。
そして、ACKであった場合には、S903において、送信キャッシュテーブル管理部1105が、送信キャッシュテーブル6(1107)の送達確認フラグ8の値が0であれば、1にする。
また、NAK1であれば、S904において、通信部1101が、再送用フレーム蓄積部1103に蓄積されているデータフレームをそのまま(ヘッダを加工することなく)再送する。
また、NAK2であれば、S905において、ヘッダ加工部1102が、再送用フレーム蓄積部1103に蓄積されているデータフレームのヘッダに発着信アドレス31を付加するとともに、ポインタ43を削除し、更に、圧縮表示42の値を0にして、通信部1101がヘッダ加工部1102によりヘッダが加工されたデータフレーム4を再送する。
通信部1101が受信側の通信ノード12から応答パケット5を受信した場合に(S901でYES)、S902において、制御部1104が、応答パケット5の種類がACK、NAK1、NAK2のいずれであるかを判断する。
そして、ACKであった場合には、S903において、送信キャッシュテーブル管理部1105が、送信キャッシュテーブル6(1107)の送達確認フラグ8の値が0であれば、1にする。
また、NAK1であれば、S904において、通信部1101が、再送用フレーム蓄積部1103に蓄積されているデータフレームをそのまま(ヘッダを加工することなく)再送する。
また、NAK2であれば、S905において、ヘッダ加工部1102が、再送用フレーム蓄積部1103に蓄積されているデータフレームのヘッダに発着信アドレス31を付加するとともに、ポインタ43を削除し、更に、圧縮表示42の値を0にして、通信部1101がヘッダ加工部1102によりヘッダが加工されたデータフレーム4を再送する。
次に、図10を参照して、受信側の通信ノード12がデータフレームを受信する際の動作例を説明する。
先ず、S1001において、通信部1201が、送信側の通信ノード11から送信されたデータフレーム4を受信する(通信ステップ)。
次に、S1002において、ヘッダ切出部1202がヘッダを切り出すとともに、受信キャッシュテーブル管理部1205が、受信キャッシュテーブル7(1207)を検索する(通番検索ステップ)。
次に、S1003において、受信キャッシュテーブル管理部1205が、受信したデータフレームの通番41が受信キャッシュテーブル7(1207)に示されている通番41に連続しているか否かを判断し、通番が連続していない場合(NOの場合)は、不達のデータフレームが存在することになるので、S1004において、制御部1204がNAK1の応答パケット5を生成し、通信部1201が当該応答パケット5を送信側の通信ノード11に対して送信する。
一方、S1003において通番が連続していると判断した場合は(YESの場合)、S1005において、受信キャッシュテーブル管理部1205は、圧縮表示42が1であるか否かを判断する(通番検索ステップ)。
圧縮表示42が0の場合(NOの場合)は、ポインタ43ではなく発着信アドレス31が含まれている場合であり、また、未登録の新規な発着信アドレス31がデータフレーム4に含まれている場合なので、S1006において、受信キャッシュテーブル管理部1205は、データフレームに含まれている通番41と発着信アドレス31を受信キャッシュテーブル7(1207)に登録する。
一方、S1005において圧縮表示42が1であった場合(YESの場合)は、発着信アドレス31の代わりにポインタ43が含まれている場合なので、S1007において、受信キャッシュテーブル管理部1205は、データフレーム4に含まれているポインタ43の値に一致する通番41が受信キャッシュテーブル7(1207)に存在する否かを検索する(通番検索ステップ)。
S1007においてポインタ43の値に一致する通番41が存在しない場合(NOの場合)は、何らかの理由により、送信キャッシュテーブル6(1107)と受信キャッシュテーブル7(1207)の内容が一致しない状態になっており、S1008において、制御部1204がNAK2の応答パケット5を生成し、通信部1201が当該応答パケット5を送信側の通信ノード11に対して送信する。
一方、S1007において、ポインタ43の値に一致する通番41が存在した場合(YESの場合)は、S1009において、受信キャッシュテーブル管理部1205が、検索した通番41に対応する発着信アドレス31を受信キャッシュテーブル7(1207)から抽出し、ヘッダ加工部1203が当該発着信アドレスをデータ32に付加する(アドレス付加ステップ)。
次に、S1010において、受信キャッシュテーブル管理部1205が、受信キャッシュテーブル7(1207)の通番41の値を、受信したデータフレーム4に含まれている通番41の値に更新する。
次に、S1011において、制御部1204が、ACKの応答パケット5を生成し、通信部1201が当該応答パケット5を送信側の通信ノード11に対して送信する。
先ず、S1001において、通信部1201が、送信側の通信ノード11から送信されたデータフレーム4を受信する(通信ステップ)。
次に、S1002において、ヘッダ切出部1202がヘッダを切り出すとともに、受信キャッシュテーブル管理部1205が、受信キャッシュテーブル7(1207)を検索する(通番検索ステップ)。
次に、S1003において、受信キャッシュテーブル管理部1205が、受信したデータフレームの通番41が受信キャッシュテーブル7(1207)に示されている通番41に連続しているか否かを判断し、通番が連続していない場合(NOの場合)は、不達のデータフレームが存在することになるので、S1004において、制御部1204がNAK1の応答パケット5を生成し、通信部1201が当該応答パケット5を送信側の通信ノード11に対して送信する。
一方、S1003において通番が連続していると判断した場合は(YESの場合)、S1005において、受信キャッシュテーブル管理部1205は、圧縮表示42が1であるか否かを判断する(通番検索ステップ)。
圧縮表示42が0の場合(NOの場合)は、ポインタ43ではなく発着信アドレス31が含まれている場合であり、また、未登録の新規な発着信アドレス31がデータフレーム4に含まれている場合なので、S1006において、受信キャッシュテーブル管理部1205は、データフレームに含まれている通番41と発着信アドレス31を受信キャッシュテーブル7(1207)に登録する。
一方、S1005において圧縮表示42が1であった場合(YESの場合)は、発着信アドレス31の代わりにポインタ43が含まれている場合なので、S1007において、受信キャッシュテーブル管理部1205は、データフレーム4に含まれているポインタ43の値に一致する通番41が受信キャッシュテーブル7(1207)に存在する否かを検索する(通番検索ステップ)。
S1007においてポインタ43の値に一致する通番41が存在しない場合(NOの場合)は、何らかの理由により、送信キャッシュテーブル6(1107)と受信キャッシュテーブル7(1207)の内容が一致しない状態になっており、S1008において、制御部1204がNAK2の応答パケット5を生成し、通信部1201が当該応答パケット5を送信側の通信ノード11に対して送信する。
一方、S1007において、ポインタ43の値に一致する通番41が存在した場合(YESの場合)は、S1009において、受信キャッシュテーブル管理部1205が、検索した通番41に対応する発着信アドレス31を受信キャッシュテーブル7(1207)から抽出し、ヘッダ加工部1203が当該発着信アドレスをデータ32に付加する(アドレス付加ステップ)。
次に、S1010において、受信キャッシュテーブル管理部1205が、受信キャッシュテーブル7(1207)の通番41の値を、受信したデータフレーム4に含まれている通番41の値に更新する。
次に、S1011において、制御部1204が、ACKの応答パケット5を生成し、通信部1201が当該応答パケット5を送信側の通信ノード11に対して送信する。
このように、本実施の形態では、発着信アドレスを含むパケットに通番を付与してフレームを構成し、通信媒体で接続された隣接ノード間で通番を用いてフレームの送達確認および失われたフレームの再送を行う通信システムについて説明した。
そして、この通信システムにおけるヘッダ圧縮方式は、送信側が送信テーブルを設け送信したフレームが運ぶパケットの発着信アドレスとフレームの通番およびフレームの送達確認の有無を前記送信テーブルに記憶する手段を備え、受信側が受信テーブルを設け正しく受信したフレームが運ぶパケットの発着信アドレスとフレームの通番を前記受信テーブルに記憶する手段を備え、送信側が受信側からの送達確認フレームを受信して、送達確認されたフレームが運ぶパケットの発着信アドレスとフレームの通番が受信側に記憶されたことを示す情報を送信テーブルに記憶する手段を備え、送信側が新規パケットを送信する場合に当該パケットの発着信アドレスが送信テーブルに記憶されかつ送達確認されている場合はフレームに圧縮表示を設定し、発着信アドレスの代わりに前記送信テーブルに記憶された通番をポインタとしてフレームに付与して送信する手段を備え、受信側はフレームを受信して圧縮表示が設定されている場合にフレームに付与されたポインタの値が受信テーブルに記憶されていれば、前記受信テーブルに記憶されている発着信アドレスにより元のパケットを復元する手段を備えていることを特徴とする。
そして、この通信システムにおけるヘッダ圧縮方式は、送信側が送信テーブルを設け送信したフレームが運ぶパケットの発着信アドレスとフレームの通番およびフレームの送達確認の有無を前記送信テーブルに記憶する手段を備え、受信側が受信テーブルを設け正しく受信したフレームが運ぶパケットの発着信アドレスとフレームの通番を前記受信テーブルに記憶する手段を備え、送信側が受信側からの送達確認フレームを受信して、送達確認されたフレームが運ぶパケットの発着信アドレスとフレームの通番が受信側に記憶されたことを示す情報を送信テーブルに記憶する手段を備え、送信側が新規パケットを送信する場合に当該パケットの発着信アドレスが送信テーブルに記憶されかつ送達確認されている場合はフレームに圧縮表示を設定し、発着信アドレスの代わりに前記送信テーブルに記憶された通番をポインタとしてフレームに付与して送信する手段を備え、受信側はフレームを受信して圧縮表示が設定されている場合にフレームに付与されたポインタの値が受信テーブルに記憶されていれば、前記受信テーブルに記憶されている発着信アドレスにより元のパケットを復元する手段を備えていることを特徴とする。
また、本実施の形態では、送信側が新規フレームを送信するたびに送信テーブルの通番を更新する手段を備え、受信側が新規フレームを正しく受信するたびに受信テーブルの通番を更新する手段備え、送達確認受信側はフレームを受信してフレームに付与されているポインタによりフローごとの順序制御とパケットの復元とを行うことを特徴とするヘッダ圧縮方式について説明した。
また、本実施の形態では、受信側はパケットを受信して圧縮表示が設定されている場合に圧縮ヘッダの値が受信テーブルに記憶されていなければ、送信側に否定応答を返す手段を備え、送信側は否定応答を受信して圧縮ヘッダを使用せず元の形式のパケットからフレームを構成して再送する手段を備えていることを特徴とするヘッダ圧縮方式について説明した。
このように、本実施の形態では、隣接ノード間で通番を用いて送達確認を行っている場合、送信側と受信側でヘッダ情報をキャッシングし、以前に同じヘッダ情報を送受している場合は、ヘッダ情報の代わりに以前に使用した通番を用いることにより、ヘッダ情報を送らないようにする。
そして、例えば、RFC1144がヘッダ圧縮を行うフローが静的に決まっているのに対し、本実施の形態では、送信側と受信側でキャッシングの概念を導入し、動的にヘッダ圧縮をおこなう。不特定多数のフローによるパケットが送受され、同じフローのパケットが時間的に集中する傾向のある場合に有効となる。
また、本実施の形態では、特許文献1に開示されている技術とは異なり、コンテキストの概念がなく、下位層のシーケンス番号(通番)を用いて、複数の上位層プロトコルのコンテキスト相当を識別する。そして、下位層のシーケンス番号を用いて、ヘッダ圧縮とコネクションごとのパケット順序識別が同時に可能となる。
そして、例えば、RFC1144がヘッダ圧縮を行うフローが静的に決まっているのに対し、本実施の形態では、送信側と受信側でキャッシングの概念を導入し、動的にヘッダ圧縮をおこなう。不特定多数のフローによるパケットが送受され、同じフローのパケットが時間的に集中する傾向のある場合に有効となる。
また、本実施の形態では、特許文献1に開示されている技術とは異なり、コンテキストの概念がなく、下位層のシーケンス番号(通番)を用いて、複数の上位層プロトコルのコンテキスト相当を識別する。そして、下位層のシーケンス番号を用いて、ヘッダ圧縮とコネクションごとのパケット順序識別が同時に可能となる。
2 通信回線、3 パケット、4 データフレーム、5 応答パケット、6 送信キャッシュテーブル、7 受信キャッシュテーブル、8 送達確認フラグ、11 通信ノード装置、12 通信ノード装置、31 発着信アドレス、32 データ、41 通番、42 圧縮表示、43 ポインタ、51 応答パケット識別情報、1101 通信部、1102 ヘッダ加工部、1103 再送用フレーム蓄積部、1104 制御部、1105 送信キャッシュテーブル管理部、1106 送信キャッシュテーブル記憶部、1107 送信キャッシュテーブル、1201 通信部、1202 ヘッダ切出部、1203 ヘッダ加工部、1204 制御部、1205 受信キャッシュテーブル管理部、1206 受信キャッシュテーブル記憶部、1207 受信キャッシュテーブル。
Claims (13)
- 通番と発着信アドレスとが含まれるデータフレームを受信ノード装置に送信する送信ノード装置であって、
前記受信ノード装置による送達確認済みのデータフレームに含まれていた通番と発着信アドレスとを示す通番アドレス情報を記憶する通番アドレス情報記憶部と、
前記受信ノード装置に対して新たに送信する新規データフレームの発着信アドレスに一致する発着信アドレスを前記通番アドレス情報から検索する発着信アドレス検索部と、
前記発着信アドレス検索部により新規データフレームの発着信アドレスに一致する発着信アドレスが前記通番アドレス情報から検索された場合に、新規データフレームの発着信アドレスに代えて、前記発着信アドレス検索部により検索された発着信アドレスに対する通番を発着信アドレス表象ポインタとして新規データフレームに付加するポインタ付加部と、
前記ポインタ付加部により発着信アドレスに代えて発着信アドレス表象ポインタが付加された新規データフレームを前記受信ノード装置に対して送信する通信部とを有することを特徴とする送信ノード装置。 - 前記ポインタ付加部は、
発着信アドレスに代えて発着信アドレス表象ポインタを新規データフレームに付加する場合に、発着信アドレスに代えて発着信アドレス表象ポインタが付加されていることを示す圧縮表示識別子を新規データフレームに設定することを特徴とする請求項1に記載の送信ノード装置。 - 前記通番アドレス情報記憶部は、
前記通信部が新規データフレームを送信するたびに、通番アドレス情報に示されている通番を新規データフレームの通番に更新することを特徴とする請求項1に記載の送信ノード装置。 - 前記通信部は、
前記受信ノード装置からデータフレームの不達を通知する不達否定応答を受信し、受信した不達否定応答が対象とするデータフレームが発着信アドレスに代えて発着信アドレス表象ポインタが付加されたデータフレームである場合に、発着信アドレスに代えて発着信アドレス表象ポインタが付加された形式のままで当該データフレームを前記受信ノード装置に対して再送することを特徴とする請求項1に記載の送信ノード装置。 - 前記通信部は、
発着信アドレスに代えて発着信アドレス表象ポインタが付加されて送信されたデータフレームに対して、前記受信ノード装置が当該発着信アドレス表象ポインタからは当該データフレームの発着信アドレスを特定できない旨のポインタ不一致否定応答を前記受信ノード装置から受信する場合があり、
前記ポインタ付加部は、
前記通信部により前記ポインタ不一致否定応答が受信された場合に、前記ポインタ不一致否定応答が対象とするデータフレームから発着信アドレス表象ポインタを除去するとともに対応する発着信アドレスを付加し、
前記通信部は、
前記ポインタ付加部により発着信アドレス表象ポインタに代えて発着信アドレスが付加されたデータフレームを前記受信ノード装置に対して再送することを特徴とする請求項1に記載の送信ノード装置。 - 通番と発着信アドレスとが含まれるデータフレームを送信ノード装置から受信する受信ノード装置であって、
前記送信ノード装置から受信済みのデータフレームに含まれていた通番と発着信アドレスとを示す通番アドレス情報を記憶する通番アドレス情報記憶部と、
前記送信ノード装置から送信された新規データフレームを受信する通信部と、
新規データフレームに、発着信アドレスの代わりに、前記通番アドレス情報に示されるいずれかの通番に一致する通番が発着信アドレス表象ポインタとして含まれているか否かを検索する通番検索部と、
前記通番アドレス情報に示されるいずれかの通番に一致する通番が発着信アドレス表象ポインタとして新規データフレームに含まれている場合に、前記通番検索部により検索された通番に対する発着信アドレスを新規データフレームのデータに付加するアドレス付加部とを有することを特徴とする受信ノード装置。 - 前記通番検索部は、
新規データフレームに、発着信アドレスに代えて発着信アドレス表象ポインタが付加されていることを示す圧縮表示識別子が設定されているか否かを判定し、圧縮表示識別子が設定されている場合に、新規データフレームに、前記通番アドレス情報に示されるいずれかの通番に一致する通番が発着信アドレス表象ポインタとして含まれているか否かを検索することを特徴とする請求項6に記載の受信ノード装置。 - 前記通番アドレス情報記憶部は、
前記通信部が新規データフレームを受信するたびに、通番アドレス情報に示されている通番を新規データフレームの通番に更新することを特徴とする請求項6に記載の受信ノード装置。 - 前記受信ノード装置は、更に、
発着信アドレスに代えて発着信アドレス表象ポインタが付加されている新規データフレームについて、前記通番検索部が発着信アドレス表象ポインタに示されている通番に一致する通番が前記通番アドレス情報から検索できない場合に、当該発着信アドレス表象ポインタからは発着信アドレスを特定できない旨のポインタ不一致否定応答を生成する応答生成部を有し、
前記通信部は、
前記応答生成部により生成されたポインタ不一致否定応答を前記送信ノード装置に対して送信することを特徴とする請求項6に記載の受信ノード装置。 - 通番と発着信アドレスとが含まれるデータフレームを受信ノード装置に送信する送信方法であって、
前記受信ノード装置による送達確認済みのデータフレームに含まれていた通番と発着信アドレスとを示す通番アドレス情報から、前記受信ノード装置に対して新たに送信する新規データフレームの発着信アドレスに一致する発着信アドレスを検索する発着信アドレス検索ステップと、
前記発着信アドレス検索ステップにより新規データフレームの発着信アドレスに一致する発着信アドレスが前記通番アドレス情報から検索された場合に、新規データフレームの発着信アドレスに代えて、前記発着信アドレス検索ステップにより検索された発着信アドレスに対する通番を発着信アドレス表象ポインタとして新規データフレームに付加するポインタ付加ステップと、
前記ポインタ付加ステップにより発着信アドレスに代えて発着信アドレス表象ポインタが付加された新規データフレームを前記受信ノード装置に対して送信する通信ステップとを有することを特徴とする送信方法。 - 通番と発着信アドレスとが含まれるデータフレームを送信ノード装置から受信する受信方法であって、
前記送信ノード装置から送信された新規データフレームを受信する通信ステップと、
前記送信ノード装置から受信済みのデータフレームに含まれていた通番と発着信アドレスとを示す通番アドレス情報を検索し、新規データフレームに、発着信アドレスの代わりに、前記通番アドレス情報に示されるいずれかの通番に一致する通番が発着信アドレス表象ポインタとして含まれているか否かを検索する通番検索ステップと、
前記通番アドレス情報に示されるいずれかの通番に一致する通番が発着信アドレス表象ポインタとして新規データフレームに含まれている場合に、前記通番検索ステップにより検索された通番に対する発着信アドレスを新規データフレームのデータに付加するアドレス付加ステップとを有することを特徴とする受信方法。 - 通番と発着信アドレスとが含まれるデータフレームを受信ノード装置に送信するコンピュータに、
前記受信ノード装置による送達確認済みのデータフレームに含まれていた通番と発着信アドレスとを示す通番アドレス情報から、前記受信ノード装置に対して新たに送信する新規データフレームの発着信アドレスに一致する発着信アドレスを検索する発着信アドレス検索処理と、
前記発着信アドレス検索処理により新規データフレームの発着信アドレスに一致する発着信アドレスが前記通番アドレス情報から検索された場合に、新規データフレームの発着信アドレスに代えて、前記発着信アドレス検索処理により検索された発着信アドレスに対する通番を発着信アドレス表象ポインタとして新規データフレームに付加するポインタ付加処理と、
前記ポインタ付加処理により発着信アドレスに代えて発着信アドレス表象ポインタが付加された新規データフレームを前記受信ノード装置に対して送信する通信処理とを実行させることを特徴とするプログラム。 - 通番と発着信アドレスとが含まれるデータフレームを送信ノード装置から受信するコンピュータに、
前記送信ノード装置から送信された新規データフレームを受信する通信処理と、
前記送信ノード装置から受信済みのデータフレームに含まれていた通番と発着信アドレスとを示す通番アドレス情報を検索し、新規データフレームに、発着信アドレスの代わりに、前記通番アドレス情報に示されるいずれかの通番に一致する通番が発着信アドレス表象ポインタとして含まれているか否かを検索する通番検索処理と、
前記通番アドレス情報に示されるいずれかの通番に一致する通番が発着信アドレス表象ポインタとして新規データフレームに含まれている場合に、前記通番検索処理により検索された通番に対する発着信アドレスを新規データフレームのデータに付加するアドレス付加処理とを実行させることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006153142A JP2007324958A (ja) | 2006-06-01 | 2006-06-01 | 送信ノード装置及び受信ノード装置及び送信方法及び受信方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006153142A JP2007324958A (ja) | 2006-06-01 | 2006-06-01 | 送信ノード装置及び受信ノード装置及び送信方法及び受信方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007324958A true JP2007324958A (ja) | 2007-12-13 |
Family
ID=38857353
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006153142A Pending JP2007324958A (ja) | 2006-06-01 | 2006-06-01 | 送信ノード装置及び受信ノード装置及び送信方法及び受信方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007324958A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013220150A (ja) * | 2012-04-13 | 2013-10-28 | Sankyo Co Ltd | 遊技用システム、および遊技制御装置 |
JP2013248532A (ja) * | 2013-09-11 | 2013-12-12 | Sankyo Co Ltd | 遊技用システム、および遊技制御装置 |
JP2013248244A (ja) * | 2012-06-01 | 2013-12-12 | Sankyo Co Ltd | 遊技用システム、および遊技制御装置 |
JP2014184149A (ja) * | 2014-04-08 | 2014-10-02 | Sankyo Co Ltd | 遊技用システム、および遊技制御装置 |
-
2006
- 2006-06-01 JP JP2006153142A patent/JP2007324958A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013220150A (ja) * | 2012-04-13 | 2013-10-28 | Sankyo Co Ltd | 遊技用システム、および遊技制御装置 |
JP2013248244A (ja) * | 2012-06-01 | 2013-12-12 | Sankyo Co Ltd | 遊技用システム、および遊技制御装置 |
JP2013248532A (ja) * | 2013-09-11 | 2013-12-12 | Sankyo Co Ltd | 遊技用システム、および遊技制御装置 |
JP2014184149A (ja) * | 2014-04-08 | 2014-10-02 | Sankyo Co Ltd | 遊技用システム、および遊技制御装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7325506B2 (ja) | ブロックチェーンシステムに基づく業務処理方法、装置、電子機器及びコンピュータプログラム | |
TWI332150B (en) | Processing data for a tcp connection using an offload unit | |
US7631045B2 (en) | Content router asynchronous exchange | |
US7849199B2 (en) | Content router | |
US7623515B2 (en) | Content router notification | |
US20070038703A1 (en) | Content router gateway | |
US20070014307A1 (en) | Content router forwarding | |
US20070014277A1 (en) | Content router repository | |
CN110708393A (zh) | 用于传输数据的方法、装置和系统 | |
US11640341B1 (en) | Data recovery in a multi-pipeline data forwarder | |
US9071525B2 (en) | Data receiving apparatus, data receiving method, and program storage medium | |
US6543005B1 (en) | Transmitting data reliably and efficiently | |
JP2007324958A (ja) | 送信ノード装置及び受信ノード装置及び送信方法及び受信方法及びプログラム | |
CN112291047A (zh) | 传输确认方法、装置、设备及存储介质 | |
JP2007235674A (ja) | 通信装置および通信方法 | |
US20110137971A1 (en) | Data collection method and system | |
JP5091463B2 (ja) | 電文送受信システム、電文送受信方法、電文送信装置、電文受信装置およびプログラム | |
JP3950865B2 (ja) | Atm通信システム | |
JP2012151622A (ja) | 受信端末、パケットデータ受信方法、送信端末、送受信システム、中継端末およびパケットデータの中継方法 | |
JP2001045056A (ja) | 通信システム | |
US7971254B1 (en) | Method and system for low-latency detection of viruses transmitted over a network | |
CN108733598B (zh) | 一种数据传输方法和数据传输装置 | |
CN111447650B (zh) | 一种数据前转的方法、设备及存储介质 | |
CN114531907B (zh) | 用于处理错序递送事务的系统和方法 | |
JP2020127181A (ja) | キャッシュ装置、データ配信システム、再送方法、及びプログラム |