説明

データ管理装置およびデータ伝送装置

【課題】チェーンメモリにエラーが発生した場合にも、誤り訂正符号を用いることなくエラーに対処する。
【解決手段】本願の開示する技術は、受信された複数のデータをグループ化し、グループ化されたデータを一定のアドレス間隔ごとに記憶する。また、グループ化されたデータのうち先頭のデータが記憶されたアドレスを、直前にグループ化された複数のデータに対して対応付けて記憶する。結果、チェーンメモリが冗長化されるので、チェーンメモリにエラーが発生した場合にも、誤り訂正符号を用いずに、エラーに対して迅速に対応することが可能となる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ管理装置およびデータ伝送装置に関する。
【背景技術】
【0002】
従来より、パケットを中継するパケット伝送装置では、パケット間の接続関係を示す接続情報を用いてパケットを管理するチェーン管理方式を利用することが知られている。チェーン管理方式を用いたデータ伝送装置では、受信したパケットを一時的に共有バッファに格納するとともに、入力されたパケット間の接続関係を示す接続情報をチェーンメモリに格納する。
【0003】
例えば、図11に例示するように、データ伝送装置は、受信されたパケット1を共有バッファのアドレス「1」に格納し、パケット1の次に受信されたパケット2を共有バッファのアドレス「5」に格納する。このような場合に、データ伝送装置は、接続情報として、パケット2が記憶された共有バッファのアドレス「5」をパケット1に対応付けられているチェーンメモリに格納する。
【0004】
ここで、図11は、格納されたパケットとチェーンメモリとの対応を示す。図11において、Headメモリに格納されたアドレスは、最初のパケットが格納されたアドレスを示す。Tailメモリに格納されたアドレスは、最後のパケットが格納されたアドレスを示す。共有バッファは、パケットを記憶する記憶部である。また、チェーンメモリには、対応付けられたパケットの次に受信されたパケットが格納されたアドレスが格納されている。
【0005】
このような構成のもと、データ伝送装置は、チェーンメモリに記憶されたアドレスを用いて、共有バッファに格納されたパケットを受信順に読み出す。例えば、図12の図中において例示するように、データ伝送装置は、パケット1を読み出すとともに、パケット1に対応付けられているアドレス「5」をチェーンメモリから取得し、アドレス「5」に格納されているパケット2を共有バッファから読み出す。ここで、図12は、チェーンメモリを用いて、図11に示したパケットを読み出す処理を模式的に表した図である。
【0006】
ところが、データ伝送装置は、チェーンメモリにエラーが発生した場合に、パケットを受信順に読み出すことができなくなる。ここで、図13は、チェーンメモリに発生したエラーを表す模式図である。例えば、図13の図中において例示するように、データ伝送装置は、パケット3に対応付けられているチェーンメモリのアドレスが「7」から「6」に変化するエラーが発生した場合には、パケット4のアドレスを誤って認識してしまい、パケット4を共有バッファから読み出すことができない。
【0007】
このため、チェーンメモリにエラーが発生した場合に、チェーンメモリのエラーを修正する技術として、チェーンメモリに誤り訂正符合を付して記憶する技術が知られている(例えば、特許文献1参照)。具体的には、データ伝送装置は、チェーンメモリに誤り訂正符号を付して記憶している。そして、データ伝送装置は、チェーンメモリにエラーが発生した場合には、誤り訂正符号を用いて、チェーンメモリのエラーを修正し、次のパケットを送信する。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2000−122843号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかし、上記したチェーンメモリに誤り訂正符号を付して記憶する技術では、チェーンメモリにエラーが発生した場合には、誤り訂正符号を用いてチェーンメモリの訂正を行う必要がある。このため、データ伝送装置は、チェーンメモリにエラーが発生した場合には、誤り訂正を実行するために複雑な処理を実行するので、チェーンメモリの復旧に時間がかかってしまうという問題があった。
【0010】
また、上記したチェーンメモリに誤り訂正符号を付して記憶する技術では、データ伝送装置は、誤り訂正を実行するために複雑な処理を実行するので、複雑な処理回路や専用のメモリが必要となり、回路規模が大きくなってしまうという問題があった。
【0011】
開示の技術は、上記に鑑みてなされたものであって、チェーンメモリにエラーが発生した場合にも、誤り訂正符号を用いることなく、エラーに対処することができる。
【課題を解決するための手段】
【0012】
本願の開示するデータ管理装置は、複数の情報を一つのグループとして記憶させ、グループに含まれる複数の情報に対して、次のグループに含まれる情報を示すチェーンメモリを関連付けて記憶する。
【発明の効果】
【0013】
本願の開示するデータ管理装置の一つの態様によれば、回路規模を大きくすること無く、チェーンメモリにエラーが発生した場合にも、チェーンメモリの復旧を短時間で実行することができる。
【図面の簡単な説明】
【0014】
【図1】図1は、実施例1に係るデータ管理装置を表すブロック図である。
【図2】図2は、実施例2に係るデータ伝送装置を説明するためのブロック図である。
【図3】図3は、実施例2に係る記憶部を説明する図である。
【図4】図4は、実施例2に係る共有バッファについて説明するための図(1)である。
【図5】図5は、実施例2に係る共有バッファについて説明するための図(2)である。
【図6−1】図6−1は、実施例2に係るチェーン接続を説明するための図(1)である。
【図6−2】図6−2は、実施例2に係るチェーン接続を説明するための図(2)である。
【図7】図7は、実施例2に係る書込制御部が行う書込処理を説明するための図である。
【図8】図8は、実施例2に係る読取制御部が行う読取処理を説明するための図である。
【図9】図9は、実施例2に係る書込処理を説明するためのフローチャートである。
【図10】図10は、実施例2に係る読取処理の流れを説明するためのフローチャートである。
【図11】図11は、従来技術を説明するための図(1)である。
【図12】図12は、従来技術を説明するための図(2)である。
【図13】図13は、従来技術を説明するための図(3)である。
【発明を実施するための形態】
【実施例1】
【0015】
以下に添付図面を参照して、この発明に係るデータ管理装置およびデータ伝送装置の実施例を詳細に説明する。
【0016】
以下の実施例では、データ管理装置の構成および処理の流れを順に説明する。
【0017】
[データ管理装置の構成]
まず最初に、図1を用いて、データ管理装置1の構成について説明する。ここで、図1は、実施例1に係るデータ管理装置の構成を説明するブロック図である。図1に示すように、データ管理装置1は、データ格納部2および接続情報格納部3とを有している。また、データ格納部2は、データ記憶部4と接続されている。また、接続情報格納部3は、接続情報記憶部5と接続されている。
【0018】
データ記憶部4は、外部装置から入力されたデータを記憶する記憶部である。接続情報記憶部5は、データ間の接続関係を示す接続情報を記憶する記憶部である。
【0019】
データ格納部2は、順次入力される複数のデータを所定のデータ数ごとにグループ化し、グループ化された複数のデータをデータ記憶部4に所定のアドレス間隔で格納する。
【0020】
接続情報格納部3は、グループ化されたデータのうち先頭で入力されたデータが格納された位置を示すアドレス情報を、直前にグループ化された複数のデータに対応付けられる接続情報として、接続情報記憶部5に記憶する。
【0021】
つまり、接続情報格納部3は、グループ化された複数のデータのうち、一番目に入力されたデータが記憶されたデータ記憶部4のアドレスを、直前にグループ化された複数のデータに対応付けて接続情報格納部3に格納する。
【0022】
[実施例1の効果]
上述してきたように、実施例1に係るデータ管理装置1は、複数の情報を1つのグループとし、グループ化された複数のデータを所定のアドレス間隔でデータ記憶部4に記憶させる。また、データ管理装置1は、グループに含まれる一番目に入力されたデータが格納されたデータ記憶部4のアドレスを直前にグループ化された複数のデータに対応付けられる接続情報として、接続情報記憶部5に冗長化して格納する。
【0023】
そのため、データ管理装置1は、一つのグループに次のグループを示す接続情報を複数対応付けることができる。結果として、データ管理装置1は、接続情報を多重化することができ、接続情報にエラーが発生した場合であっても、誤り訂正符号を用いることなく、迅速にエラーに対処することができる。
【実施例2】
【0024】
以下の実施例2では、データ伝送装置の構成および処理の流れを順に説明する。最初に、図2を用いて、データ伝送装置の構成を説明する。ここで、図2は、実施例2に係るデータ伝送装置を説明するためのブロック図である。
【0025】
実施例2に係るデータ伝送装置10は、通信装置6と接続されており、通信装置6から送信されたパケットを中継する。図2に示すように、データ伝送装置10は、記憶部11と共有バッファ制御部12とを有する。共有バッファ制御部12は、書込制御部21と読取制御部22とHeadメモリ13とTailメモリ14と蓄積カウンタ23とを有している。
【0026】
書込制御部21は、データ格納部15と、接続情報格納部16と、制御出力部17とを有している。読取制御部22は、情報読取部18と、接続情報読取部19と、制御出力部20とを有している。
【0027】
次に、図3を用いて、実施例2に係る記憶部11について説明する。ここで、図3は、実施例2に係る記憶部を説明する図である。記憶部11は、空きアドレス管理メモリ7、共有バッファ8、チェーンメモリ9を有している。
【0028】
共有バッファ8は、アドレス1からアドレス2αまでの記憶領域を有している。ここで、共有バッファ8は、記憶領域が2つに分割されており、前半のアドレスとしてアドレス1からアドレスαまでの記憶領域を有し、後半のアドレスとしてアドレスα+1からアドレス2αまでの記憶領域を有する。また、空きアドレス管理メモリ7は、共有バッファ8が有する全記憶容量のうち、前半のアドレス(つまり、アドレス1からアドレスαまで)の空き状況を管理している。
【0029】
チェーンメモリ9は、入力されたパケット間の接続関係を示す接続情報を記憶する。具体的には、チェーンメモリ9は、共有バッファ8に記憶されたパケットの順序関係を示す接続情報として、次に接続するグループの最初に入力されたパケットのアドレス値を記憶する。例えば、後述する図6―1の例を用いて説明すると、チェーンメモリ9は、パケット1とパケット2を含むグループの次のグループにおいて最初に入力されたパケット3のアドレス値「Y」を、パケット1とパケット2に対応付けてそれぞれ記憶する。
【0030】
データ格納部15は、順次入力される複数のパケットを所定のパケット数ごとにグループ化する。また、データ格納部15は、グループ化された複数のパケットを所定のアドレス間隔で共有バッファ8に格納する。具体的には、データ格納部15は、2つのパケットを一つのグループにグループ化する。
【0031】
そして、データ格納部15は、グループに含まれる2つのパケットを共有バッファ8に格納する場合には、2つのパケットを格納するアドレス間隔を「α」にして格納する。例えば、データ格納部15は、同一グループの2つのパケットを記憶する場合には、アドレス「1」とアドレス「1+α」にそれぞれ格納する。
【0032】
ここで、図4および図5を用いて、実施例2に係るグループ化について説明する。図4は、実施例2に係る共有バッファについて説明するための図(1)である。また、図5は、実施例2に係る共有バッファについて説明するための図(2)である。
【0033】
データ格納部15は、1つのグループに含まれる2つのパケットのうち、先に受信したパケットを共有バッファ8に記憶させる場合には、アドレス1からアドレスαまでの空いている記憶領域のアドレスを空きアドレス管理メモリ7から受信する。そして、データ格納部15は、受信したアドレスにパケットを格納する。また、データ格納部15は、パケットを格納したアドレスを空きアドレス管理メモリ7から消去する。
【0034】
次に、データ格納部15は、一つのグループに含まれる2つのパケットのうち、後に受信したパケットを共有バッファ8に記憶させる場合には、図5に示すように、前のパケットを記憶させたアドレスにαを加算したアドレスの記憶領域に対して後のパケットを記憶させる。すなわち、データ格納部15は、共有バッファ8が有する記憶領域のうちアドレス1〜アドレスαまでの各記憶領域と、アドレスα+1からアドレス2αまでの記憶領域とを関連付けている。
【0035】
つまり、データ格納部15は、一つのグループに含まれる2つのパケットのうち、前のパケットをアドレス1〜アドレスαのいずれかに記憶させ、前のパケットを記憶したアドレスにαを加算した値のアドレスに後のパケットを記憶させる。
【0036】
また、データ格納部15は、チェーンメモリを用いて接続される最初のパケットが記憶されたアドレスを、Headメモリ13に格納する。また、データ格納部15は、チェーンメモリを用いて接続される最後のパケットが記憶されたアドレスを、Tailメモリ14に格納する。また、データ格納部15は、パケットを共有バッファ8に記憶させた場合には、蓄積カウンタ23の値に1を加える。
【0037】
接続情報格納部16は、グループ化されたパケットのうち、先頭で入力されたパケットが格納されたアドレスを、直前にグループ化された複数のパケットに対応付けられた接続情報として、チェーンメモリ9に冗長化して格納する。具体的には、接続情報格納部16は、グループに含まれるパケットのうち、前のパケットが共有バッファ8に格納された場合には、格納された共有バッファ8のアドレスを取得する。次に、接続情報格納部16は、取得されたアドレスを直前にグループ化された複数のパケットに対応付けて、チェーンメモリ9に格納する。
【0038】
図6−1を用いて、実施例2に係る接続情報格納部16が行う処理について詳しく説明する。ここで、図6−1は、実施例2に係るチェーン接続を説明するための図(1)である。接続情報格納部16は、図6−1に示すように、最初のグループに含まれるパケットであるパケット1およびパケット2を格納し、次のグループのパケット3が格納された場合には、パケット3が格納された共有バッファ8のアドレス「Y」を取得する。
【0039】
次に、接続情報格納部16は、パケット3の直前にグループ化されたパケット、すなわちパケット1およびパケット2に対して、パケット3のアドレス「Y」を対応付け、チェーンメモリ9に格納する。
【0040】
そして、接続情報格納部16は、パケット4を格納した後、パケット5が格納された場合には、パケット5が記憶されたアドレス「Z」を前のグループに含まれるパケット3およびパケット4のチェーンメモリに記憶する。
【0041】
制御出力部17は、受信されたパケットがグループの一番最初のパケットであるかを判定する。また、制御出力部17は、データ格納部15と接続情報格納部16とが行う各種処理を制御する。
【0042】
情報読取部18は、グループ化されたパケットを所定のアドレス間隔に従って入力順に読取処理を行い、読み出された複数のパケットに対応付けられているアドレスをチェーンメモリ9から取得する。また、情報読取部18は、共有バッファ8のうち、取得されたアドレスに格納されたパケットを、次のグループに含まれる最初のパケットとして読取を行う。
【0043】
具体的には、情報読取部18は、共有バッファ8に記憶されたパケットの読取を行う場合には、Headメモリ13に記憶されたアドレスに格納されたパケットの読取を行う。次に、情報読取部18は、直前に読取を行ったアドレスにαを加算した値のアドレスに格納されたパケットの読取を行う。
【0044】
また、情報読取部18は、共有バッファ8に記憶されたパケットの読取を行う場合には、読取を行ったパケットと対応付けられたアドレス値を接続情報記憶部19から取得する。すなわち、情報読取部は、次のグループに含まれる最初のパケットが格納されたアドレスを取得する。次に、情報読取部18は、取得されたアドレスに格納されたパケットの読取を行う。
【0045】
ここで、図6−2を用いて、情報読取部18が行う処理を詳しく説明する。図6−2は、実施例2に係るチェーン接続を説明するための図(2)である。情報読取部18は、Headメモリ13に格納されたアドレス「X」を取得し、共有バッファ8のアドレス「X」に記憶されたパケット1を取得する。次に、情報読取部18は、共有バッファ8のアドレス「X+α」に記憶されたパケット2を取得する。
【0046】
次に、情報読取部18は、接続情報記憶部19から、パケット1およびパケット2に対応付けられたチェーンメモリ「Y」を取得する。そして、情報読取部18は、共有バッファ8のアドレスYに記憶されたパケット3を取得する。
【0047】
以下同様の処理を行うことにより、情報読取部18は、共有バッファ8に記憶されたパケットを記憶された順番通りに読取し、読取されたパケットを通信装置6へ順次送信する。
【0048】
接続情報読取部19は、接続情報読取部9に記憶されたチェーンメモリの読取を行う。具体的には、接続情報読取部19は、共有バッファ8に記憶されたパケットと対応付けられたアドレス情報の読取を行う。そして、接続情報読取部19は、読取られたアドレスを情報読取部18へ送信する。
【0049】
制御出力部20は、情報読取部18と接続情報読取部19とが行う各種処理の制御を行う。具体的には、制御出力部20は、情報読取部18に対して、パケットの読取を指示する。また、制御出力部20は、接続情報読取部19に対して、接続情報の読取を指示する。また、制御出力部20は、接続情報読取部19がアドレス値の読取を行ったが、読取られたアドレス値にエラーが発生した場合には、接続情報読取部19に対して、再度アドレス値の読取を指示する。
【0050】
接続情報読取部19は、再度アドレス値の読取処理を指示された場合には、情報読取部18が直前に読取ったパケットのグループに関連付けられたアドレス値の読取を行う。具体的には、接続情報読取部19は、直前に読取を行ったチェーンメモリ9のアドレスにαを加算したアドレスの情報を読取る。
【0051】
ここで、図6−2を用いて、読取制御部22の処理の流れを具体的に説明する。読取制御部22は、Headメモリ13に格納されたアドレス「X」を用いて、共有バッファ8のアドレス「X」に記憶されていたパケット1を取得する。次に読取制御部22は、アドレス「X」にαを加算したアドレス「X+α」に記憶されていたパケット2を取得する。ここで、読取制御部22は、パケット1およびパケット2に対応付けられていたアドレス「Y」を取得する。
【0052】
そのため、読取制御部22は、パケット2の次に読取処理をおこなうパケットが格納されている記憶領域が、アドレス「Y」であると識別できる。次に、読取制御部は、アドレス「Y」に記憶されていたパケット3およびアドレス「Y+α」に記憶されていたパケット4を取得する。
【0053】
ここで、図6−2に示すように、読取制御部22は、パケット3に対応付けられたアドレス値にエラーが発生した場合でも、同一グループ内のパケット4に対応付けられたアドレス「Z」を用いて、次に読取処理を行う記憶領域を識別する。すなわち、パケット伝送装置は、一つのグループに含まれるパケットに対して、次のグループに含まれるパケットのアドレスを二重に冗長化して記憶している。そして、パケット伝送装置は、グループ化されたパケットに対応付けられたアドレス値の一つにエラーが生じた場合にも、同一グループの他のパケットに対応付けられたアドレス値を用いて、次に読取処理を行うパケットを識別する。
【0054】
次に、図7を用いて、実施例2に係る書込制御部21が行う書込処理を説明する。ここで、図7は、実施例2に係る書込制御部が行う書込処理を説明するための図である。
【0055】
まず最初に、制御出力部17は、通信装置6からパケットを受信した場合には、受信されたパケットがグループの最初のパケットであるかを判断する。具体的には、制御出力部17は、受信されたパケットの数をカウントする。そして、制御出力部17は、カウンタ回路のカウンタが奇数の場合には、受信されたパケットがグループの最初のパケットであると判断する。一方、制御出力部17は、カウンタ回路のカウンタが偶数の場合には、受信されたパケットがグループの最後のパケットであると判断する。
【0056】
制御出力部17は、受信されたパケットがグループの最初のパケットである場合には、出力回路を用いて、空きアドレス管理メモリ7に対し、空きアドレスをデータ格納部15および接続情報格納部16に対して送信するように要求する。一方、制御出力部17は、受信されたパケットがグループの最後のパケットである場合には、空きアドレス管理メモリ7に対して、空きアドレスを送信するように要求しない。制御出力部17は、出力回路を用いて、受信されたパケットを記憶させるようにデータ格納部15に要求する。
【0057】
また、制御出力部17は、接続情報格納部16に対して、接続情報記憶部を記憶させるように要求する。具体的には、制御出力部17は、新たなグループの最初のパケットを受信した場合には、接続情報格納部16に対して、新たなグループの最初のパケットのアドレスを、前のグループに含まれる各パケットの接続情報記憶部として記憶するように要求する。
【0058】
空きアドレス管理メモリ7は、制御出力部17から空きアドレスを送信するように要求された場合には、空きアドレスをデータ格納部15および接続情報格納部16に対して送信する。データ格納部15は、空きアドレス管理メモリ7から送信された空きアドレスを受信した場合には、受信されたアドレスを選択回路に格納する。
【0059】
また、データ格納部15は、通信装置から送信されたパケットを選択回路に格納する。次に、データ格納部15は、制御出力部20からパケットの書込要求を取得した場合には、共有バッファ8に対して、受信されたパケットを受信されたアドレスに記憶させる。
【0060】
また、データ格納部15は、記憶されたパケットがチェーンメモリ9によって接続される最初のパケットである場合には、パケットを記憶したアドレスをHeadメモリ13およびTailメモリ14に格納する。また、データ格納部15は、記憶されたパケットがチェーンメモリ9によって接続される最初のパケットではない場合には、パケットを記憶したアドレスをTailメモリ14に格納する。また、パケット格納部は、パケットを記憶させた場合には、蓄積カウンタ23の値を1つ加算する。
【0061】
一方、データ格納部15は、グループの最後のパケットを受信し、制御出力部17から共有バッファ8に記憶する旨の要求を受信した場合には、直前にパケットを記憶させたアドレスにαを加算した値のアドレスに、受信したパケットを記憶させる。
【0062】
接続情報格納部16は、空きアドレスを受信した場合には、保持回路に空きアドレスを格納し、同時に、空きアドレスを選択回路に送信する。また、接続情報格納部16は、新たなアドレスを受信した場合には、保持回路に保持されたアドレスと、保持回路に保持されたアドレスにαを加算した値とを選択回路に格納する。また、接続情報格納部16は、新たに受信したアドレスを保持回路に格納し、同時に、新たに受信したアドレスを選択回路に送信する。
【0063】
接続情報格納部16は、制御出力部17からアドレス値を記憶させる要求を受信した場合には、選択回路に格納された3つのアドレスを用いてアドレス値を記憶させる。すなわち、接続情報格納部16は、直前に空きアドレス管理メモリ7から受信したアドレスと、当該アドレスにαを加算したアドレスとに対して、新たに受信したアドレスを記憶させる。
【0064】
次に、図8を用いて、実施例2に係る読取制御部22が行う読取処理を説明する。ここで、図8は、実施例2に係る読取制御部が行う読取処理を説明するための図である。
【0065】
制御出力部20は、読取処理を行う場合には、情報読取部18および接続情報読取部19に対して、パケットの読取要求を行う。ここで、読取し処理の開始となる契機の一例としては、通信装置からの要求や、共有バッファ8に記憶されたパケットのQoS(Quality of Service)を用いてもよい。
【0066】
制御出力部20は、カウンタ回路を用いて、読取られるパケットが、チェーンメモリ9によってチェーン接続された最初のパケットであるかどうかを判別する。制御出力部20は、読取られるパケットが最初のパケットである場合には、情報読取部18に対して読取要求を行う。また、制御出力部20は、カウンタ回路を用いて、読取られるパケットがグループの最初のパケットであるかを判別する。
【0067】
また、制御出力部20は、接続情報読取部19によって読取られたアドレス値にエラーが発生した場合には、接続情報読取部19に対して、新たなアドレス値の読込要求を行う。具体的には、制御出力部20は、読取られたアドレス値にエラーが発生した場合には、接続情報読取部19に対して、読取られたアドレス値に対応付けられたパケットと同じグループのパケットに対応付けられたアドレス値の読取を要求する。
【0068】
情報読取部18は、共有バッファ8に記憶されたパケットの読取を行う。具体的には、情報読取部18は、チェーン接続された一番最初のパケットを読取る場合には、共有バッファ8に記憶されたパケットのうち、Headメモリ13に格納されたアドレスを取得する。次に情報読取部18は、共有バッファ8の取得されたアドレスに記憶されたパケットを読取する。次に情報読取部18は、読取られたパケットを通信装置へ送信する。
【0069】
また、情報読取部18は、直前に読取処理を行ったアドレスにαを加算したアドレスを用いて、共有バッファ8から次のパケット、すなわち、グループの最後のパケットを読取し、通信装置へ送信する。また、情報読取部18は、グループの最初のパケットを読取る場合には、書込処理に利用するため、空きアドレス管理メモリ7に対して、読取処理を行ったアドレスを追加する。また、情報読取部18は、グループの最初のパケットを読取った場合には、読取処理を行ったアドレスを接続情報読取部19に送信する。
【0070】
情報読取部18は、パケットの読取処理を行った場合には、蓄積カウンタ23に格納された値を1だけ減算する。そして情報読取部18は、蓄積カウンタ23が「0」になった場合には、読取処理を終了する。
【0071】
接続情報読取部19は、情報読取部18から取得したアドレスを用いて、関連付けられたアドレス値の読取処理を行う。具体的には、接続情報読取部19は、チェーンメモリ9が有する記憶領域のうち、情報読取部18から取得したアドレスと同じアドレスに格納されている情報を読取る。次に、接続情報読取部19は、読取られた情報のエラーチェックを行う。接続情報読取部19は、読取られた情報にエラーが発生していない場合には、読み出された情報を情報読取部18へ送信する。
【0072】
一方、接続情報読取部19は、読取られた情報にエラーが発生している場合には、エラーが発生している旨を制御出力部20に通知する。制御出力部20は、エラーが発生している旨の通知を受けた場合には、接続情報読取部19に対して、グループに含まれる他のパケットと関連付けられたアドレス値の読取を要求する。
【0073】
接続情報読取部19は、再度の読取要求を受けた場合には、直前に読取を行ったアドレスにαを加算したアドレスを加算器を用いて取得する。そして、接続情報読取部19は、取得されたアドレスに記憶されたチェーンメモリ9を取得する。次に、接続情報読取部19は、新たに取得されたチェーンメモリ9にエラーが発生しているかどうかを判別する。
【0074】
接続情報読取部19は、新たに取得されたチェーンメモリ9にエラーが発生している場合には、制御出力部20に通知する。制御出力部20は、グループに含まれるパケットと関連付けられた全チェーンメモリ9にエラーが発生している場合には、読取処理を中止する。
【0075】
次に、図9を用いて、データ伝送装置10が行う書込処理の流れについて説明する。ここで、図9は、実施例2に係る書込処理を説明するための表フローチャートである。まず、データ伝送装置10は、記憶する情報を取得したことを契機として、書込処理を開始する。
【0076】
制御出力部20は、通信装置6からパケットを受信した場合には(ステップS101肯定)、パケットがグループ内で最初のパケットとなるかを判別する(ステップS102)。
【0077】
パケットがグループ内で最初のパケットである場合には(ステップS102肯定)、データ格納部15は、空きアドレス管理メモリ7から空きアドレスを取得する(ステップS103)。次に、データ格納部15は、取得したアドレスにパケットを記憶するように、記憶部11に対して要求する(ステップS104)。
【0078】
次に、制御出力部20は、記憶されたパケットのグループが最初のグループかを判別する(ステップS105)。接続情報格納部16は、記憶されたパケットのグループが、最初のグループである場合には(ステップS105肯定)、処理を行わない。その後、データ伝送装置10は、書込み処理を終了する。
【0079】
一方、接続情報格納部16は、記憶されたパケットのグループが最初のグループではない場合には(ステップS105否定)、前グループの各パケットに対して、ステップS104のアドレスを接続情報記憶部として記憶部11に記憶させる(ステップS106)。その後、データ伝送装置10は、書込み処理を終了する。
【0080】
一方、データ格納部15は、記憶されるパケットがグループ内で最初のパケットではない場合には(ステップS102否定)、記憶部11に対して、直前に記憶したパケットのアドレスにαを加算したアドレスにパケットを記憶するよう要求する(ステップS107)。その後、データ伝送装置10は、書込み処理を終了する。
【0081】
次に、図10を用いて、実施例2に係る読取処理の流れについて説明する。ここで、図10は、実施例2に係る読取処理の流れを説明するためのフローチャートである。まず、データ伝送装置10は、記憶されたパケットが送信できることをトリガとして読取処理を開始する。
【0082】
まず、制御出力部20は、パケットを送信可能かどうかを判別する(ステップS201)。次に、制御出力部20は、パケットが送信可能な場合には(ステップS201肯定)、カウンタ回路を用いて、読取するパケットがグループ内で最初のパケットか否かを判別する(ステップS202)。制御出力部20は、読取するパケットがグループ内で最初のパケットである場合には(ステップS202肯定)、読取するパケットが接続された全パケットの先頭パケットであるかを判別する(ステップS203)。
【0083】
情報読取部18は、読取するパケットが接続された全パケットの先頭パケットである場合には(ステップS203肯定)、Headメモリ13に格納されているアドレスを用いて、共有バッファ8からパケットの読出しを行う(ステップS209)。次に、情報読取部18は、読取されたパケットを通信装置へ送信し(ステップS211)、処理を終了する。
【0084】
接続情報読取部19は、読取するパケットが接続された全パケットの先頭パケットではない場合には(ステップS203否定)、前回読取を行ったパケットに関連付けられたチェーンメモリ9が示すアドレスを取得する(ステップS204)。次に、接続情報読取部19は、取得されたアドレスにエラーが発生しているかを判別する(ステップS205)。
【0085】
情報読取部18は、取得されたアドレスにエラーが発生していない場合には(ステップS205否定)、取得されたアドレスを用いて、共有バッファ8からパケットの読取処理を実行する(ステップS208)。次に、情報読取部18は、読取されたパケットを通信装置へ送信し(ステップS211)、処理を終了する。
【0086】
一方、接続情報読取部19は、取得されたアドレスにエラーが発生している場合には(ステップS205肯定)、読取処理を行ったアドレスにαを加算したアドレスのチェーンメモリ9が示すアドレスを取得する(ステップS206)。次に、接続情報読取部19は、再度取得したアドレスにエラーが発生しているかどうかを判別する(ステップS207)。データ伝送装置10は、再度取得したアドレスにエラーが発生している場合には(ステップS207肯定)、読取処理を終了する。
【0087】
一方、情報読取部18は、再度取得されたアドレスにエラーが発生していない場合には(ステップS207否定)、再度取得されたアドレスを用いて、共有バッファ8からパケットの読取処理を実行する(ステップS208)。次に、情報読取部18は、読取されたパケットを通信装置へ送信し(ステップS211)、処理を終了する。
【0088】
また、情報読取部18は、読取するパケットがグループ内で最初のパケットではない場合には(ステップS202否定)、前回読取を行ったアドレスにαを加算したアドレスを用いて、共有バッファ8からパケットの読取を行う(ステップS210)。次に、情報読取部18は、読取されたパケットを通信装置6へ送信し(ステップS211)、処理を終了する。
【0089】
[実施例2の効果]
上述してきたように、実施例2に係るデータ伝送装置10は、2つの情報を1つのグループとして記憶させ、グループに含まれる複数の情報に対して、次のグループに含まれるパケットが記憶されたアドレス値を関連付けて記憶する。
【0090】
そのため、データ伝送装置10は、次のパケットを示すアドレスを二重化し、チェーンメモリ9にエラーが発生した場合であっても、パケットの順序関係を失わない。例えば、データ伝送装置10は、グループのパケットに対応付けられたアドレス値にエラーが発生した場合であっても、同じグループの他のパケットに対応付けられたアドレス値を用いて、パケットの順序関係を保つことができる。
【0091】
よって、データ伝送装置10は、パケットの順序関係を高速で復旧することができる。また、データ伝送装置10は、チェーンメモリ9にエラーが発生した場合にも、接続情報記憶部の復旧に何ら新しい装置や複雑な処理等を必要とすることなく、エラーに対処することができる。
【実施例3】
【0092】
これまで実施例1について説明したが、上述した実施例1および実施例2以外にも様々な異なる形態にて実施されてよいものである。そこで、以下では実施例3として本実施例に含まれる他の実施例を説明する。
【0093】
(1)グループに含まれるパケットの数について
実施例1および実施例2に開示の技術では、一つのグループとして関連付けられるパケット数の一例として、2つのパケットを一つのグループとして関連付けていた。しかし、実施例3に開示する技術はこれに限定されるものではなく、別の数でも良い。
【0094】
例えば、実施例3に開示の技術は、一つのグループとして3つのパケットを関連付けてもよいし、4つのパケットを関連付けてもよい。また、実施例3に開示の技術は、一つのグループに含まれるパケットと同じ数に共有バッファの記憶領域を分割し、分割された各記憶領域を関連付ける。
【0095】
グループに含まれる複数のパケットの順序性を保持し、グループに含まれる複数のパケットに対して、次のグループを示す情報を対応付けることができれば目的を達することができるからである。
【0096】
(2)複数のパケットに関連づけられる接続情報の数について
実施例1および実施例2に開示の技術では、一つのグループに含まれる全てのパケットに対して、次のグループの最初のパケットのアドレス値を関連付けていた。しかし、実施例3に開示の技術は、これに限定されるものではない。
【0097】
例えば、一つのグループに含まれるパケットの数が3である場合には、一つのグループに含まれる2つのパケットのみに、アドレス値を関連付けてもよい。グループに含まれるパケットに対して、接続情報が複数関連付けられていれば、接続情報の冗長化は達成される。
【0098】
結果として、接続情報にエラーが発生してもパケットの順序性を保持することができ、発明の目的を達することができるからである。また、アドレス値を記憶するために必要なメモリの量を節約することができるという効果を奏する。
【0099】
(3)グループ化するパケットについて
実施例1および実施例2では、パケットが入力された順番を保持するために、一つのチェーン接続を有していた。しかし、実施例3に開示の技術は、これに限定されるものではなく、パケットの種別ごとに、複数のチェーン接続を有しても良い。例えば、実施例3に開示の技術は、パケットが送信される通信装置ごとに複数のチェーン接続を有してもよい。
【0100】
すなわち、実施例3に開示の技術は、送信先ごとに分けられたパケットをグループ化し、グループ化されたパケットをチェーン接続してもよい。さらに、パケットを送信する場合には、送信先ごとに定められたパケットのQoSを用いて、優先順位の高いチェーン接続された複数のパケットから送信しても良い。
【0101】
(4)プログラム
なお、本実施例で説明したパケット管理装置は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。このプログラムは、インターネットなどのネットワークを介して配布することができる。また、このプログラムは、ハードディスク、フレキシブルディスク(FD)、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行することもできる。
【符号の説明】
【0102】
1 データ管理装置
2 データ格納部
3 接続情報格納部
4 データ記憶部
5 接続情報格納部
6 通信装置
7 空きアドレス管理メモリ
8 共有バッファ
9 チェーンメモリ
10 データ伝送装置
11 記憶部
12 共有バッファ制御部
13 Headメモリ
14 Tailメモリ
15 データ格納部
16 接続情報格納部
17 制御出力部
18 情報読取部
19 接続情報読取部
20 制御出力部
21 書込制御部
22 読取制御部
23 蓄積カウンタ

【特許請求の範囲】
【請求項1】
入力されたデータを記憶するデータ記憶部と、
入力されたデータ間の接続関係を示す接続情報を記憶する接続情報記憶部と、
順次入力される複数のデータを所定のデータ数ごとにグループ化し、当該グループ化された複数のデータを前記データ記憶部に所定のアドレス間隔で格納するデータ格納部と、
前記グループ化されたデータのうち先頭で入力されたデータが格納された位置を示すアドレス情報を、当該グループの直前にグループ化された複数のデータに対応付けられる接続情報として、前記接続情報記憶部に冗長化して格納する接続情報格納部と、
を備えることを特徴とするデータ管理装置。
【請求項2】
前記データ記憶部から前記グループ化されたデータを前記所定のアドレス間隔にしたがって入力順に読み出すとともに、当該読み出した複数のアドレスに対応付けられているアドレス情報を前記接続情報記憶部から取得し、当該アドレス情報に対応する位置に格納されているデータを、前記グループの直後にグループ化された複数のデータのうち先頭で入力されたデータとして読み出す読出部をさらに備えたことを特徴とする請求項1に記載のデータ管理装置。
【請求項3】
前記接続情報格納部は、前記グループ化されるデータ数よりも少ない個数で前記アドレス情報を冗長化して格納する事を特徴とする請求項1もしくは請求項2に記載のデータ管理装置。
【請求項4】
入力されたデータを記憶するデータ記憶部と、
入力されたデータ間の接続関係を示す接続情報を記憶する接続情報記憶部と、
順次入力される複数のデータを所定のデータ数ごとにグループ化し、当該グループ化された複数のデータを前記データ記憶部に所定のアドレス間隔で格納するデータ格納部と、
前記グループ化されたデータのうち先頭で入力されたデータが格納された位置を示すアドレス情報を、当該グループの直前にグループ化された複数のデータに対応付けられる接続情報として、前記接続情報記憶部に冗長化して格納する接続情報格納部と、
前記データ記憶部から前記グループ化されたデータを前記所定のアドレス間隔にしたがって入力順に読み出すとともに、当該読み出した複数のアドレスに対応付けられているアドレス情報を前記接続情報記憶部から取得し、当該アドレス情報に対応する位置に格納されているデータを、前記グループの直後にグループ化された複数のデータのうち先頭で入力されたデータとして読み出す読出部と、
前記読出部によって読み出されたデータを順次送信する送信部と、
を備えることを特徴とするデータ伝送装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6−1】
image rotate

【図6−2】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2010−278775(P2010−278775A)
【公開日】平成22年12月9日(2010.12.9)
【国際特許分類】
【出願番号】特願2009−129495(P2009−129495)
【出願日】平成21年5月28日(2009.5.28)
【出願人】(000005223)富士通株式会社 (25,993)
【出願人】(000237662)富士通テレコムネットワークス株式会社 (682)
【Fターム(参考)】