説明

伝送装置および伝送装置における正常性確認方法

【課題】パケットバッファの各セグメントに対して正常性確認が行われた否かの識別を支援する。
【解決手段】伝送装置10のパケットバッファ24は複数のセグメントを含み、各セグメントにはパケットが一時的に格納される。管理テーブル26は、複数のセグメントそれぞれについて正常性を確認済か否かを示す情報をパケットバッファ24とは異なるメモリに保持する。パケット書込部30は、本装置において伝送すべきパケットを1以上のセグメントへ格納する。正常性監視部42は、パケットが格納されたセグメントについてその正常性を確認済であることを示す情報を管理テーブル26へ記録する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、データ通信技術に関し、特に、通信パケットを伝送する伝送装置とその正常性確認方法に関する。
【背景技術】
【0002】
近年、高速インターネットが普及し、また電話網のIP化が進展している。これに伴い、イーサネットフレームやIPパケット(以下、これらを総称して単に「パケット」とも呼ぶ。)を通信網において伝送する伝送装置、例えばレイヤ2スイッチ・レイヤ3スイッチ・ルータ等における処理の高速化も急速に進展している。
【0003】
これらの伝送装置には装置内部にパケットデータを保持するためのメモリ(以下、「パケットバッファ」とも呼ぶ。)が設けられる。これまでの伝送装置では、大容量のメモリを一定の単位領域(以下、「セグメント」とも呼ぶ。)へ分割し、入力ポートで受け付けたパケットデータをセグメントへ書き込むことでパケットデータを保持していた。また伝送装置はパケットバッファからパケットデータを読み出すスケジューラを具備し、パケットを蓄積したキューの先頭のパケットを読み出して出力ポートから送出する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2005−130366号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
伝送装置には高い信頼性が求められるが、大気中の中性子線によるソフトエラーに起因するメモリエラーの発生は回避が困難であり、パケットバッファの正常性を正確に把握する必要がある。そこで伝送装置では、パケットバッファへのパケット書き込み時に誤り検出符号をデータに付加しておき、パケットバッファからのパケット読出し時に誤り検出符号にもとづき正常性を確認することでメモリエラーの発生有無やエラー訂正を実行する。
【0006】
ところでパケットバッファにおいてパケットの書込先となるセグメントは、書込時点でのセグメントの空き状況によって決まる。その一方、パケットバッファにおいてパケットの読出し元となるセグメントは、読込み時点でのスケジューラの状態によって決まる。したがって、パケットバッファへのパケットデータの書き込みと読込みは、本質的にパケットバッファに対するランダムアクセスとして実行されていた。例えば、あるセグメントにはパケットデータが頻繁に書き込まれる一方、別のセグメントにはパケットデータが低頻度にしか書き込まれないこともあった。そのため、パケットバッファの各セグメントに対して正常性確認が行われた否かを識別することは困難であった。
【0007】
本発明は、こうした課題に鑑みてなされたものであり、その主たる目的は、パケットバッファの各セグメントに対して正常性確認が行われた否かの識別を支援する技術を提供することである。
【課題を解決するための手段】
【0008】
上記課題を解決するために、本発明のある態様の伝送装置は、パケットを一時的に保持するための複数のセグメントを含むパケットバッファと、複数のセグメントそれぞれについて正常性を確認済か否かを示す情報をパケットバッファとは異なる記憶領域に保持するセグメント情報保持部と、本装置において伝送すべきパケットを1以上のセグメントへ格納するパケット書込部と、パケットが格納されたセグメントについてその正常性を確認済であることを示す情報をセグメント情報保持部へ格納するセグメント情報更新部と、を備える。
【0009】
本発明の別の態様は、伝送装置における正常性確認方法である。この方法は、パケットを一時的に保持するためのパケットバッファに設けられた1以上のセグメントへ、伝送すべきパケットを格納するステップと、複数のセグメントそれぞれについて正常性を確認済か否かを示す情報をパケットバッファとは異なる記憶領域に保持するセグメント情報保持部へ、パケットが格納されたセグメントについてその正常性を確認済であることを示す情報を格納するステップと、を備える。
【0010】
なお、以上の構成要素の任意の組合せ、本発明の表現を装置、方法、システム、プログラム、プログラムを格納した記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0011】
本発明によれば、パケットバッファの各セグメントに対して正常性確認が行われた否かの識別を支援できる。
【図面の簡単な説明】
【0012】
【図1】実施の形態の通信システムの構成を示す図である。
【図2】図1の伝送装置の機能構成を示すブロック図である。
【図3】伝送装置の記憶領域の構成を模式的に示す図である。
【図4】図3の正常性監視部を詳細に示すブロック図である。
【図5】伝送装置におけるパケット受信時の動作を示すフローチャートである。
【図6】図5におけるS20の格納セグメント決定処理を詳細に示すフローチャートである。
【図7】図6におけるS46のパケット格納処理を詳細に示すフローチャートである。
【図8】図7におけるS54の正常性フラグ設定処理を詳細に示すフローチャートである。
【図9】伝送装置におけるパケット送信時の動作を示すフローチャートである。
【発明を実施するための形態】
【0013】
実施の形態の伝送装置は、パケットバッファ内の各セグメントに対して正常性の確認を実施したか否かを示す情報が記録される管理テーブルを、パケットバッファとは物理的に異なるメモリ内に保持する。そして、各セグメントに対してパケットが書き込まれる際に、それぞれの書込セグメントへの正常性確認を実施した旨を記録する。これにより、伝送装置の保守(運用)担当者が、パケットバッファの各セグメントに対して正常性確認が行われた否かを容易に識別できるようにする。
【0014】
図1は、実施の形態の通信システムの構成を示す。通信システム100において、伝送装置10は、所定の伝送路を介して他の伝送装置である他伝送装置12やユーザ端末14と接続され、他伝送装置12とともにLAN・WAN等の通信網を構成する。伝送装置10は、他伝送装置12やユーザ端末14から送出されたパケットを受信する。そして、パケットの設定内容(MACアドレスやIPアドレス等)に基づいて他伝送装置12やユーザ端末14へ当該パケットを中継する。
【0015】
図2は、図1の伝送装置10の機能構成を示すブロック図である。伝送装置10は、入力ポート20と、出力ポート22と、パケットバッファ24と、管理テーブル26と、方路決定部28と、パケット書込部30と、パケット読出し部34と、監視パケット生成部38と、監視パケット廃棄部40と、正常性監視部42を備える。
【0016】
本明細書のブロック図において示される各ブロックは、ハードウェア的には、コンピュータのCPUやメモリをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。
【0017】
入力ポート20は、他伝送装置12やユーザ端末14から伝送路へ送出されたパケットを受信する通信ポートである。出力ポート22は、他伝送装置12やユーザ端末14へ伝送すべきパケットを伝送路へ送出する通信ポートである。なお入力ポート20および出力ポート22は説明の簡明化のため別個に示しているが、物理的には1つの通信ポートにおいて入力ポート20と出力ポート22の両方の機能が実装されてもよい。
【0018】
以下の説明では、適宜図3を参照して説明する。図3は、伝送装置10の記憶領域の構成を模式的に示す。
パケットバッファ24は、パケットが一時的に格納される記憶領域である。パケットバッファはセグメントと呼ばれる管理単位に分割されている。複数のセグメントのそれぞれはセグメント番号で識別される。各セグメントに格納可能なデータ長を以下「セグメント長」とも呼ぶ。また各セグメントには誤り検出符号の格納領域と、パケットデータの格納領域が設けられる。
【0019】
管理テーブル26は、伝送装置10内部のキューを管理するための情報を保持する記憶領域である。このキューは、伝送装置10内部でのパケットの論理的な伝送順序を管理する単位であり、1つの出力ポート22に対して1以上のキューが割り当てられる。例えば、パケットに設定された宛先MACアドレスと送信元MACアドレスの組み合わせごとにキューが設定されて、当該パケットを出力すべき出力ポート22へ割り当てられてもよい。後述するように、論理的にキューに格納されるパケットは、物理的にはパケット長に応じて1以上のセグメントへ適宜分割して格納される。管理テーブル26は、キュー管理テーブル50と、空きセグメント先頭ポインタ52と、空きセグメント末尾ポインタ54と、キュー先頭ポインタテーブル56と、キュー末尾ポインタテーブル58を含む。
【0020】
キュー管理テーブル50は、複数のセグメントのそれぞれにおけるパケット格納状況を保持する記憶領域である。キュー管理テーブル50は、パケットバッファ24とは物理的に異なるメモリ内に設けられる。具体的にキュー管理テーブル50は、パケットバッファ24のセグメント数と同じレコード数(言い換えればアドレス数)を有し、キュー管理テーブル50の各レコードはパケットバッファ24の各セグメントと対応づけられている。本実施の形態では、キュー管理テーブル50の各レコードはパケットバッファ24の各セグメント番号と対応づけられており、セグメント番号により識別される。キュー管理テーブル50の各レコードには、対応するセグメントに対して正常性確認が行われたか否かを示す情報である正常性確認フラグの格納領域と、対応するセグメントに格納されたパケット長の格納領域と、当該レコードの次に参照されるべきレコードのアドレスを示すポインタ(以下、「次ポインタ」とも呼ぶ。)の格納領域が含まれる。
【0021】
本実施の形態の正常性確認フラグは、セグメントの正常性を確認済であることを示す値、もしくは、セグメントの正常性を未確認であることを示す値が設定される。具体的には1ビットの「0」もしくは「1」が設定されることとする。また次ポインタを保持することにより、1パケットが格納される複数セグメント、または複数のパケット間の順序性を管理する。
【0022】
空きセグメント先頭ポインタ52は、パケットが未格納のセグメント(以下、「空きセグメント」とも呼ぶ。)領域の先頭位置を示すポインタであり、具体的には、先頭の空きセグメントに対応するキュー管理テーブル50のアドレスを示す。空きセグメント末尾ポインタ54は、空きセグメント領域の末尾位置を示す示すポインタであり、具体的には、最後の空きセグメントに対応するキュー管理テーブル50のアドレスを示す。
【0023】
キュー先頭ポインタテーブル56は、複数のキューそれぞれのキュー先頭ポインタを格納する記憶領域である。キュー先頭ポインタは、各キューに割り当てられたパケットが格納されたセグメントの先頭位置を示すポインタであり、言い換えれば、各キューに割り当てられたパケットを保持する先頭のセグメントに対応するキュー管理テーブル50のアドレスを示す。キュー末尾ポインタテーブル58は、複数のキューそれぞれのキュー末尾ポインタを格納する記憶領域である。キュー末尾ポインタは、各キューに割り当てられたパケットが格納されたセグメントの末尾位置を示すポインタであり、言い換えれば、各キューに割り当てられたパケットを保持する最後のセグメントに対応するキュー管理テーブル50のアドレスを示す。
【0024】
図2に戻り、方路決定部28は、入力ポート20で受け付けられたパケットについて、そのパケットに設定されたアドレス情報にもとづいてパケットを出力すべき出力ポート22とキューを決定する。パケットの伝送処理において蓄積された学習情報を参照しても出力ポートを一意に決定できない場合、またはパケットの種別がマルチキャストもしくはブロードキャストの場合は複数のキューが選択される。なお、ここでの出力ポートは物理的な出力ポート22だけでなく、伝送装置10内に論理的に構成された出力ポートも含む。方路決定部28の決定結果を示すデータは、パケットデータとともにパケット書込部30へ転送される。以下では、外部から受け付けられたオリジナルのパケットデータと、方路決定部28の決定結果を示すデータの両方を含んで単にパケットと呼ぶこととする。
【0025】
パケット書込部30は、方路決定部28からパケットを受け付けて、方路決定部28により選択されたキューにおいてパケットバッファの領域確保および当該領域へのパケットデータの書き込みを実行する。このときパケット書込部30は、パケットデータを書き込むべきセグメントとして、正常性確認フラグが正常性未確認を示すセグメントを選択する。具体的には、後述の基準保持部60を参照して、その基準保持部60に保持された正常性確認済であることを示す基準値が未設定のセグメントを選択する。
【0026】
パケット書込部30は誤り検出符号生成部32を含む。誤り検出符号生成部32は、各パケットデータに対する誤り検出符号(例えばパリティ、ハミング符号、RS(Reed Solomon)符号)を生成する。パケット書込部30は、誤り検出符号生成部32により生成された誤り検出符号をパケットデータに付加した上で当該パケットデータをパケットバッファへ書き込む。
【0027】
パケット読出し部34は、複数の出力ポート22に対応する図示しない複数のスケジューラと誤り検出符号検査部36を含む。各スケジューラは、自身が予め対応づけられた出力ポート22に割り当てられたキューを一つ選択して、そのキューの先頭のパケットをパケットバッファから読み出す。誤り検出符号検査部36は、スケジューラにより読み出されたパケットの検査処理を実行する。例えば、読み出されたパケットに付加された誤り検出符号に基づいてパケットバッファのメモリエラーの有無を判定し、誤り訂正を行う。スケジューラは、誤り検出符号検査部36によるパケットの検査後、そのパケットを出力ポート22から出力させる。
【0028】
なお誤り検出符号検査部36は、メモリエラーの存在を検出した場合、その旨をログファイル等、所定の記憶領域へ記録してもよい。また、メモリエラーが発生した旨を示すアラート情報を所定の外部装置へ通知してもよい。
【0029】
監視パケット生成部38は、パケット書込部30における方路決定部28からのパケット受付状況を監視する。監視パケット生成部38は、予め定められた期間以上、パケット書込部30においてパケットが受け付けられないことを検出すると、伝送装置10内部でのパケット伝送状況を監視するためのパケット(以下、「監視パケット」とも呼ぶ。)を生成してパケット書込部30へ送出する。この監視パケットには、外部から受け付けられたパケットと区別するための所定の識別データが設定される。監視パケットは、外部から受け付けられたパケットと同様にパケットバッファ24へ格納されてパケット読出し部34により読み出される。
【0030】
パケット読出し部34(のスケジューラ)は、パケットバッファ24から読み出したパケットに、監視パケットであることを示す識別データが設定されていた場合、当該パケットを出力ポート22へ送出することなく、監視パケット廃棄部40へ送出する。監視パケット廃棄部40は、パケット読出し部34より受け付けた監視パケットを廃棄する。
【0031】
正常性監視部42は、パケットバッファ24の各セグメントの正常性を監視する。図4は、図3の正常性監視部42を詳細に示すブロック図である。正常性監視部42は、基準保持部60と、確認状況保持部62と、確認フラグ更新部64と、確認状況更新部66と、確認状況通知部68と、基準更新部70を含む。
【0032】
基準保持部60は、キュー管理テーブル50の正常性確認フラグに設定されるべき値の基準、すなわち、セグメントの正常性を確認済かもしくは未確認かを識別するための情報を保持する。実施の形態では正常性確認済であることを示す基準値を保持し、具体的には1ビットの「0」もしくは「1」のいずれかを基準値として保持することとする。
【0033】
確認状況保持部62は、キュー管理テーブル50において正常性確認フラグが正常性確認済を示す値に設定されたレコード数を保持する。言い換えれば、キュー管理テーブル50における複数の正常性確認フラグのうち正常性確認済を示す値が設定された数を保持するとも言え、パケットバッファ24における正常性確認済のセグメント数を保持するとも言える。
【0034】
確認フラグ更新部64は、パケット書込部30がパケットバッファ24のセグメントへパケットデータを書き込んだことを検出すると、そのセグメントに対応するキュー管理テーブル50の正常性確認フラグを、正常性確認済を示す値へ更新する。例えば、正常性確認済を示す値が「1」、未確認を示す値が「0」である場合、正常性確認フラグを0から1へ更新する。
【0035】
確認状況更新部66は、キュー管理テーブル50に格納された各セグメントの正常性確認フラグを監視する。確認状況更新部66は、正常性確認フラグが正常性未確認を示す値から確認済を示す値へ更新されたことを検出すると、確認状況保持部62に保持された正常性確認済のセグメント数をインクリメントする。
【0036】
確認状況通知部68は、確認状況保持部62に保持された値が、パケットバッファ24の全セグメント数に達した場合、全セグメントの正常性確認が完了した旨の情報を所定の外部装置へ通知する。また、その旨をログファイル等、所定の記憶領域へ記録してもよい。
【0037】
基準更新部70は、確認状況保持部62に保持された値が、パケットバッファ24の全セグメント数に達した場合、基準保持部60に保持された基準値を反転させる。例えば、それまでの正常性確認済を示す基準値が「1」であった場合、その基準値を反転させた「0」を新たに正常性確認済を示す基準値として確認状況保持部62を上書き更新する。それとともに基準更新部70は、確認状況保持部62に保持された正常性確認済のセグメント数を0に戻す。
【0038】
以上の構成による伝送装置10の動作を以下説明する。
図5は、伝送装置10の動作を示すフローチャートである。同図はパケット受信時の動作を示している。入力ポート20において他伝送装置12やユーザ端末14からのパケット(以下、「外部パケット」とも呼ぶ。)が受信されると(S10のY)、方路決定部28はその外部パケットの内容に基づいて出力ポートおよびキューを決定する(S12)。外部パケットの受信がなく(S10のN)、所定時間以上受信がなければ(S14のY)、監視パケット生成部38は監視パケットを生成する(S16)。先の外部パケットの受信から所定時間が経過していなければ(S14のN)、以下のフローはスキップされる。
【0039】
パケット書込部30は、外部パケットもしくは監視パケットの長さを予め定められたセグメント長で除算し端数を切り上げた値を書込セグメント数として算出する。そして、空きセグメント末尾ポインタの値から空きセグメント先頭ポインタの値を減じた値を空きセグメント数として算出する。空きセグメント数が書込セグメント数以上である場合、すなわちパケットを格納可能な空きセグメントが存在する場合(S18のY)、格納セグメント決定処理が実行される(S20)。空きセグメント数が書込セグメント数未満の場合(S18のN)、パケット書込部30はパケットを廃棄する(S22)。
【0040】
図6は、図5におけるS20の格納セグメント決定処理を詳細に示すフローチャートである。パケット書込部30は、空きセグメント先頭ポインタ52が指すキュー管理テーブル50のアドレス(以下<A>)の正常性確認フラグを読み出す。正常性確認フラグが未確認を示す場合(S32のN)、パケット書込部30は<A>のセグメント番号をパケットを格納するセグメントの番号(以下<C>)として取得する。パケット書込部30は、空きセグメント先頭ポインタの値をキュー管理テーブルにおける<A>の次ポインタ値で上書き更新する(S36)。そしてパケット格納処理が実行される(S46)。
【0041】
<A>の正常性確認フラグが確認済を示す場合(S32のY)、パケット書込部30はキュー管理テーブル50において<A>の次ポインタが指すアドレス(以下<B>)の正常性確認フラグを読み出す(S38)。<B>の正常性確認フラグも正常性確認済を示す場合(S40のY)、S38に戻り、<B>の次ポインタが指すアドレスの正常性確認フラグを読み出すことを繰り返す。<B>の正常性確認フラグが正常性未確認を示す場合(S40のN)、パケット書込部30は、<B>のセグメント番号をパケットを格納するセグメントの番号(以下<C>)として取得する(S42)。パケット書込部30は、<A>の次ポインタ値を、<B>の次ポインタ値で上書き更新する(S44)。そしてパケット格納処理が実行される(S46)。
【0042】
図7は、図6におけるS46のパケット格納処理を詳細に示すフローチャートである。パケット書込部30は、<C>が示すキュー管理テーブル50のアドレスへパケット長を記録し(S50)、<C>が示すパケットバッファ24のセグメントへパケットデータを格納する(S52)。そして正常性確認フラグの設定処理が実行される(S54)。パケット書込部30は、書込セグメント数をデクリメントする(S56)。以下、直前にパケットが書き込まれたパケットバッファ24のセグメントのアドレスを<D>とする(S58)。書込セグメント数が0より大きければ(S60のY)、パケット書込部30は、空きセグメント先頭ポインタ52の指すアドレス(以下<E>)を読出し(S62)、空きセグメント先頭ポインタ52の値をキュー管理テーブル50における<E>の次ポインタ値で上書き更新する(S64)。そして、キュー管理テーブル50における<D>の次ポインタ値を<E>で上書き更新し(S66)、パケットバッファ24の<E>のセグメントへパケットデータを記録し(S68)、S54へ戻る。
【0043】
書込セグメント数が0になると(S60のN)、パケット書込部30は、書込セグメントに対応する書込キューの末尾ポインタの指すキュー管理テーブル50のアドレスの次ポインタ値を<C>で上書き更新する(S70)。そして、書込キューの末尾ポインタの値を<D>で上書き更新する(S72)。なお図示しないが、パケットバッファ24へパケットを書き込む際、誤り検出符号生成部32はそのパケットの誤り検出符号を生成し、パケット書込部30は誤り検出符号を付加したパケットを書き込む。
【0044】
図8は、図7におけるS54の正常性フラグ設定処理を詳細に示すフローチャートである。確認フラグ更新部64は、書込セグメントに対応するキュー管理テーブル50の正常性確認フラグを、確認済を示す基準値へ更新する(S80)。その際に確認状況更新部66は、キュー管理テーブル50における確認済を示す基準値が設定されたフラグ数のカウンタ(確認状況保持部62の保持データ)を逐次インクリメントする。カウンタの値が全セグメント数に到達した場合、言い換えれば、全ての正常性確認フラグが確認済を示す基準値となった場合(S82のY)、確認状況通知部68は、全セグメントの正常性確認が完了した旨を所定の外部装置へ通知する(S84)。そして、基準更新部70は、基準保持部60に保持されたフラグの基準値を反転させる(S86)。正常性が未確認のセグメントが残存する場合(S82のN)、S84およびS86はスキップされる。
【0045】
図9は、伝送装置10の動作を示すフローチャートである。同図はパケット送信時の動作を示している。パケット読出し部34のスケジューラは、パケットを送出するべき出力キューを決定し、出力キューの先頭ポインタ値(以下、<F>)を取得する(S100)。そしてキュー管理テーブル50の<F>のレコードからパケット長および次ポインタの値を取得し(S102)、パケット長を予め定められたセグメント長で除算し端数を切り上げた値を読出しセグメント数として算出する(S104)。スケジューラは、パケットバッファの<F>のセグメントからパケットデータを取得し(S106)、読出しセグメント数をデクリメントする(S108)。
【0046】
読出しセグメント数が0以上の場合(S110のY)、スケジューラは、直前にパケットを読み込んだセグメントに対応するキュー管理テーブル50の次ポインタ値(以下<G>)を取得する(S112)。そしてパケットバッファ24の<G>からパケットデータを取得し(S114)、S108に戻る。
【0047】
読出しセグメント数が0になると(S110のN)、スケジューラは、直線に読み込んだセグメントの番号(以下<H>)と、空きセグメント末尾ポインタ54の値(以下<I>)を取得する(S116)。スケジューラは、キュー管理テーブル50における<I>の次ポインタ値を<F>で上書き更新し(S118)、空きセグメント末尾ポインタ54の値を<H>で上書き更新する(S120)。そして、1以上のセグメントから取得した1以上のパケットデータを結合することによりオリジナルのパケットを復元して出力ポート22から出力させる(S122)。なお図示しないが、パケットバッファ24からパケットが読み込まれた際、誤り検出符号検査部36は、そのパケットに付加された誤り検出符号にもとづいてメモリエラーの有無を判定し、その判定結果に応じて誤り訂正や外部装置へのアラート通知を実行する。
【0048】
本実施の形態の伝送装置10によれば、パケットバッファ24とは独立したメモリであるキュー管理テーブル50に正常性確認フラグを設けることによりパケットバッファ24の各セグメントが正常性確認済か否かを容易に識別可能になる。例えば、伝送装置10の保守運用者はキュー管理テーブル50に保持された正常性確認フラグの値を確認することで、正常性を確認済のセグメントおよび未確認のセグメントを容易に識別することができる。
【0049】
また伝送装置10によれば、正常性確認済のセグメント数を保持するカウンタ(確認状況保持部62)を設けることにより、キュー管理テーブル50の全レコードにアクセスすることなくパケットバッファ24の正常性確認状況を容易に把握することができる。例えば、伝送装置10の保守運用者はカウンタの値を確認することで、全セグメントの正常性が確認済か否かを容易に確認できる。なお、全セグメントが確認済となった場合、確認済を示す基準値と未確認を示す基準値とを反転させて、全セグメントを未確認扱いとする。これにより、キュー管理テーブル50における正常性確認フラグの値をリセットすることなく、正常性確認を継続できる。
【0050】
また伝送装置10によれば、パケットを書き込むべきセグメントとして正常性が未確認のセグメントを選択することにより、全セグメントに対する正常性確認を早期に完了させやすくなる。また、外部の装置からの外部パケットが所定時間以上受け付けられない場合は伝送装置10内部において監視パケットを伝送するため、全セグメントに対する正常性確認の完了までに要する時間の上限を保証することができる。言い換えれば、長期間、正常性を未確認のセグメントが発生することを回避できる。
【0051】
以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【0052】
上記実施の形態では、正常性確認済のセグメント数をカウントし、全セグメントが確認済となった場合、正常性確認フラグの意味の反転処理を実行した。変形例として、図6においてS40のYとなった場合、正常性確認済であった同図の<B>のアドレスが、空きセグメント末尾ポインタ54と一致するとき、正常性確認フラグの意味の反転処理を実行してもよい。これにより、全セグメントが未確認扱いとなるため、空きセグメント先頭ポインタ52が指すアドレスを格納セグメント番号として取得してもよい。
【0053】
また上記実施の形態では、パケット書込部30がパケットデータをパケットバッファ24のセグメントへ書き込んだことを契機として、確認フラグ更新部64は当該セグメントの正常性確認フラグを確認済へ更新した。変形例として、確認フラグ更新部64は、パケット読出し部34がパケットデータを読出し、誤り検出符号検査部36がメモリエラーの判定を行ったときに正常性確認フラグを確認済へ更新してもよい。
【0054】
請求項に記載の各構成要件が果たすべき機能は、実施の形態および変形例において示された各構成要素の単体もしくはそれらの連係によって実現されることも当業者には理解されるところである。
【符号の説明】
【0055】
10 伝送装置、 20 入力ポート、 22 出力ポート、 24 パケットバッファ、 26 管理テーブル、 28 方路決定部、 30 パケット書込部、 32 誤り検出符号生成部、 34 パケット読出し部、 36 誤り検出符号検査部、 38 監視パケット生成部、 40 監視パケット廃棄部、 42 正常性監視部、 60 基準保持部、 62 確認状況保持部、 64 確認フラグ更新部、 66 確認状況更新部、 68 確認状況通知部、 70 基準更新部、 100 通信システム。

【特許請求の範囲】
【請求項1】
パケットを一時的に保持するための複数のセグメントを含むパケットバッファと、
前記複数のセグメントのそれぞれについて正常性を確認済か否かを示す情報を前記パケットバッファとは異なる記憶領域に保持するセグメント情報保持部と、
本装置において伝送すべきパケットを前記セグメントへ格納するパケット書込部と、
パケットが格納されたセグメントについてその正常性を確認済であることを示す情報を前記セグメント情報保持部へ格納するセグメント情報更新部と、
を備えることを特徴とする伝送装置。
【請求項2】
正常性を確認済のセグメント数を保持するカウンタと、
あるセグメントについてその正常性を確認済であることを示す情報が前記セグメント情報保持部へ格納された場合、前記カウンタが示すセグメント数を増加させるカウンタ更新部と、
をさらに備えることを特徴とする請求項1に記載の伝送装置。
【請求項3】
前記パケット書込部は、前記セグメント情報保持部を参照して、正常性を未確認のセグメントを、パケットを格納すべきセグメントとして選択することを特徴とする請求項1または2に記載の伝送装置。
【請求項4】
パケットを一時的に保持するための複数のセグメントを含むパケットバッファへ、伝送すべきパケットを格納するステップと、
前記複数のセグメントのそれぞれについて正常性を確認済か否かを示す情報を前記パケットバッファとは異なる記憶領域に保持するセグメント情報保持部へ、パケットが格納されたセグメントについてその正常性を確認済であることを示す情報を格納するステップと、
を備えることを特徴とする伝送装置における正常性確認方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2012−239022(P2012−239022A)
【公開日】平成24年12月6日(2012.12.6)
【国際特許分類】
【出願番号】特願2011−106456(P2011−106456)
【出願日】平成23年5月11日(2011.5.11)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.イーサネット
【出願人】(000237662)富士通テレコムネットワークス株式会社 (682)
【Fターム(参考)】