(57)【要約】【課題】パケット送信路に障害が発生した時にも、リアルタイム性を確保しつつ、パケットを失うことなく送信することのできるパケット送信装置を提供する。【解決手段】データが正しく送信されない状態であると判定された場合には、送信部３は、正しく送信されなかったと判定されたデータを再送すると共に、第１の信号処理部４は、生成したデータを記憶部１に記憶し、データが正しく送信される状態であると判定された場合には、送信部３は、第１の信号処理部４によって新たに生成されたデータ及び記憶部に記憶されたデータを送信する。【選択図】      図１
2005086753.tif 000002
【特許請求の範囲】
【請求項１】
データを生成する第１の信号処理部と、
前記第１の信号処理部によって生成されたデータを送信する送信部と、
前記送信部が送信したデータが正しく送信されたかによって、送信路の状態を判定する判定部と、
前記第１の信号処理部によって生成されたデータを記憶する記憶部と、
を備えたデータ送信装置において、
データが正しく送信されない状態であると判定された場合には、前記送信部は、正しく送信されなかったと判定されたデータを再送すると共に、前記第１の信号処理部は、生成したデータを前記記憶部に記憶し、
データが正しく送信される状態であると判定された場合には、前記送信部は、前記第１の信号処理部によって新たに生成されたデータ及び前記記憶部に記憶されたデータを送信することを特徴とするデータ送信装置。
【請求項２】
データを生成する第１の信号処理部と、
前記第１の信号処理部によって生成されたデータを記憶する送信バッファと、
前記前記送信バッファに記憶されたデータを送信する送信部と、
前記送信部が送信したデータが正しく送信されたか否かを判定する判定部と、
前記第１の信号処理部によって生成されたデータを記憶する記憶部と、
前記記憶部に記憶されたデータを前記送信バッファに転送する第２の信号処理部と、
を備えたデータ送信装置において、
前記送信部は、前記判定部によってデータが正しく送信されたと判定された場合には、前記送信バッファからデータを読み込み該データを送信し、前記判定部によってデータが正しく送信されなかったと判定された場合には、正しく送信されなかったと判定されたデータを再送し、
前記第１の信号処理部は、前記送信バッファに記憶されているデータ量と第１の所定量との比較結果に基づいて、生成したデータを、前記送信バッファに記憶させるか、前記記憶部に記憶させるかを決定し、
前記第２の信号処理部は、前記送信バッファに記憶されているデータ量と第２の所定量との比較結果に基づいて、前記記憶部に記憶されたデータを前記送信バッファに転送するか否かを決定することを特徴とするデータ送信装置。
【請求項３】
前記第２の所定量は０であり、
前記第２の信号処理部は、前記送信バッファにデータが記憶されていない場合に、前記記憶部に記憶されたデータを前記送信バッファに記憶させることを特徴とする請求項２に記載のデータ送信装置。
【請求項４】
前記送信部は、前記第１の信号処理部によって送信バッファに記憶されたデータ及び前記第２の信号処理装置によって記憶部から送信バッファに転送されたデータを送信することを特徴とする請求項２又は３に記載のデータ送信装置。
【請求項５】
前記記憶部に記憶されたデータ又は前記記憶部に記憶されなかったデータの少なくとも一方には、所定のフラグが付加されることによって、前記送信部が、前記記憶部に記憶されたデータであるか否かを識別可能としたことを特徴とする請求項２から４に記載のいずれか一つに記載のデータ送信装置。
【請求項６】
前記第１の信号処理部が生成したデータに一連番号が付加されることによって、前記送信部が、前記データの順序を識別可能としたことを特徴とする請求項２から４に記載のいずれか一つに記載のデータ送信装置。
【請求項７】
データを生成し、該データを第１のデータ又は第２のデータとして記憶するプロセッサと、前記プロセッサによって生成されたデータを送信する送信部と、を備えたデータ送信装置に用いられるデータ送信方法であって、
前記送信部によって送信されたデータが正しく送信されたか否かを判定する第１の手順と、
前記生成した第１のデータの量と第１の所定量との比較結果に基づいて、前記プロセッサによって生成されたデータを、第１のデータとして記憶するか、第２のデータとして記憶するかを決定する第２の手順と、
前記第１のデータの量と第２の所定量との比較結果に基づいて、前記記憶された第２のデータを第１のデータに変更して記憶するか否かを決定する第３の手順と、を含むことを特徴とするデータ送信方法。
【請求項８】
前記プロセッサは、
前記第１の手順によってデータが正しく送信されたと判定された場合には、前記送信部に第１のデータを送り、
前記第１の手順によってデータが正しく送信されなかったと判定された場合には、正しく送信されなかったと判定されたデータを再送する第４の手順を含むことを特徴とする請求項７に記載のデータ送信方法。
【請求項９】
前記第２の所定量は０であり、
前記第３の手順は、前記第１のデータが記憶されていない場合に、前記第２のデータを第１のデータに変更して記憶することを特徴とする請求項７又は８に記載のデータ送信方法。
【請求項１０】
前記第２のデータとして記憶されたデータ又は前記第２のデータとして記憶されなかったデータの少なくとも一方には、所定のフラグが付加されることによって、前記送信部が、前記第２のデータとして記憶されたデータであるか否かを識別可能としたことを特徴とする請求項７から９のいずれか一つに記載のデータ送信装置。
【請求項１１】
前記プロセッサが生成したデータに一連番号が付加されることによって、前記送信部が、前記データの順序を識別可能としたことを特徴とする請求項７から９のいずれか一つに記載のデータ送信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定のデータ（例えば、パケット）を送信するパケット送信装置に関し、特にパケット送信路に障害が発生した時にも、リアルタイム性を確保しつつ、パケットを失うことなく送信することのできるパケット送信装置に関する。
【背景技術】
【０００２】
伝送路品質の劣化などの理由で通信遮断が生じたとき、送信できなかったパケットを記憶手段に蓄積し、通信が回復したときに再送するシステムは従来から存在する。
【０００３】
この記憶手段として、送信部に単純にＦＩＦＯを設けて通信遮断時にパケットを蓄積すれば、通信回復時にパケットを廃棄することなく順に送信することができる。この場合、伝送路品質の良いときは記憶手段に蓄積されることなくリアルタイムで伝送される。
【０００４】
また、パケット送信の成否を観測して記憶手段内のパケットを選択することにより、送信失敗を繰り返すパケットの優先度を低くすることもできる。
【０００５】
例えば、あるパケットの送信時に再送を繰り返した場合にはそのパケットの再送を中断して後続のパケットの送信を行えるようにする、パケット通信装置が知られている（例えば、特許文献１参照。）。
【特許文献１】特開平１０−１１７２１３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
前述のように、記憶手段として送信部に単純にＦＩＦＯを設けただけのシステムでは、通信回復時に蓄積されたパケットを蓄積した順序を保存して送信する。そのため、通信遮断期間中に蓄積されたパケットを送信し終えるには相応の時間を必要とするので、通信回復後もすぐには通常時のような遅延の小さいリアルタイム伝送に復帰することができない。特に、許容遅延量が小さいシステムでは、伝送品質が回復しても所望の伝送遅延特性に復帰するまでに大きな時間を要することとなる。この課題は特に通信遮断時間が大きいときに顕著に表れる。
【０００７】
また、前述の特許文献１に記載のパケット通信装置のように、再送を繰り返すパケットの優先度を下げることによりパケットの順序を入れ替えて送信することも可能であるが、その場合も通信遮断期間中に蓄積したパケットをすべて処理し終えてリアルタイム伝送に復帰するには相応の時間を必要とする。
【０００８】
本発明は、以上のような問題点を鑑みてなされたものであり、通信遮断時に蓄積したパケットを廃棄することなく、通信回復時には速やかにリアルタイム伝送に復帰できるパケット通信システムを実現することを目的とする。
【課題を解決するための手段】
【０００９】
上記の目的を達成するために、本発明の第１の発明の送信装置は、パケットを格納するメモリ部１と、ＦＩＦＯ２と、ＦＩＦＯ２から読み出したパケットをパケット送信路に送信する送信部３と、入力されたデータを送信用にパケット化する処理を行ない、ＦＩＦＯ２に蓄積されているパケット量が第１の所定量以下であるか否かによって該送信用パケットを上記メモリ装置又は上記ＦＩＦＯへ書きこむ第１の信号処理部４と、ＦＩＦＯ２に蓄積されているパケット量が第２の所定量以下であれば上記メモリ部１に格納されたパケットを読み出してＦＩＦＯ２に書き込む第２の信号処理部５と、送信部３から送信されたパケットに対するＡＣＫ又はＮＡＣＫを受信してパケットの送信の成否を判断する受信部６と、受信部６から送信成否を上記パケット送信部に通知する制御線７と、ＦＩＦＯ２に蓄積されているパケット量を第１の信号処理部４に通知する制御線８と、ＦＩＦＯ２に蓄積されているパケット量を第２の信号処理部６に通知する制御線９と、を備える。
【発明の効果】
【００１０】
本発明によると、通信遮断時にもパケットを失うことなく蓄積し、通信再開直後は通信遮断期間中に蓄積したパケットよりも通信遮断解消後にパケット化されたデータの方を優先して送信路に送信し、通信再開後に通信が安定し、蓄積中のパケットが十分少なくなりリアルタイムのパケットの送信を妨げなくなった時点で、蓄積してあった通信遮断時のパケットを送信することが可能になる。その結果、通信遮断時のパケットを廃棄することなく、通信再開時には即座にリアルタイムのパケットを送信する状態に復帰し、通信遮断時に蓄積しておいたパケットは通信が安定してから送信することができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明の実施の形態を、図面を参照して説明する。
【００１２】
図１は、本発明の第１の実施の形態のパケット送信装置の全体構成を示すブロック図である。
【００１３】
第１の信号処理部４は、図示しないデータ生成装置からデータを受け取り、受け取ったデータをパケット化して、パケット化されたデータ（パケット）をメモリ部１又はＦＩＦＯ２に送る。メモリ部１は、第１の信号処理部４からパケットを受け取り、パケットを記憶する記憶部として機能する。ＦＩＦＯ２は、第１の信号処理部４又は第２の信号処理部５からのパケットを受け取り、受け取ったパケットを所定の数だけ保持し、保持しているパケットのうち、最古のものを送信部３に送ることで、送信バッファとして機能する。
【００１４】
送信部３は、ＦＩＦＯ２から受け取ったパケットを、パケット送信路を経由して図示しない通信相手に送信する。送信部３のパケット送出レート（すなわち、本発明のパケット送信装置のパケット送信能力）は、第１の信号処理部４のパケット生成レートよりも大きくなっている。
【００１５】
受信部６は、パケット送信先からパケットが到達したか否かの確認メッセージ（ＡＣＫ又はＮＡＣＫ）を受け取って、パケットが正しく送信されたか否かによって、パケット送信路の状態を判定する。
【００１６】
なお、本発明におけるパケット送信路は、パケットの送受信ができるものであればよいが、本発明はパケット送信路に障害が発生したときの動作に特徴があることから、無線通信路のような、通信状態が安定せず、通信の途絶が発生し得る送信路を使用する場合に好適である。
【００１７】
メモリ部１は、第１の信号処理部４から受け取ったパケットを一時的に格納し、格納したパケットを第２の信号処理部５に送る。第２の信号処理部５は、メモリ部１から送られたパケットを、ＦＩＦＯ２に送る。
【００１８】
また、受信部６と送信部３との間は、制御線７によって接続され、ＦＩＦＯ２と第１の信号処理部４との間は、制御線８によって接続され、ＦＩＦＯ２と第２の信号処理部５との間は、制御線９によって、それぞれ接続されている。
【００１９】
次に、以上のように構成された第１の実施の形態のパケット送信装置の動作を説明する。
【００２０】
第１の信号処理部４は、図示しないデータ生成装置からデータが逐次的に入力され、このデータが一定量たまったときにパケットを生成する。
【００２１】
また、第１の信号処理部４は、ＦＩＦＯ２に蓄積されているパケットの量を制御線８を通じて知る。そして、第１の信号処理部４は、ＦＩＦＯ２に蓄積されているパケットの量と第１の所定量（例えば、２個）との比較結果に基づいて、パケットをＦＩＦＯ２へ書き込むか、メモリ部１に書き込むかを決定する。すなわち、ＦＩＦＯ２に蓄積されているパケットの量が第１の所定量以下であれば、パケットをＦＩＦＯ２へ書き込む。一方、ＦＩＦＯ２に蓄積されているパケットの量が第１の所定量より多ければ、パケットをメモリ部１に書き込む。
【００２２】
第２の信号処理部５はＦＩＦＯ２に蓄積されているパケットの量を第３の制御線９を通じて知る。そして、第２の信号処理部５は、ＦＩＦＯ２に蓄積されているパケットの量と第２の所定量との比較結果に基づいて、メモリ部１に格納されたパケットを読み出してＦＩＦＯ２に書き込む。すなわち、ＦＩＦＯ２に蓄積されているパケットの量が第２の所定量以下であり、かつ、メモリ部１内にパケットが格納されていれば、メモリ部１に格納されたパケットを読み出してＦＩＦＯ２に書き込む。なお、第２の所定量は第１の所定量よりも小さい値であり、“０”としてもよい。
【００２３】
送信部３は、ＦＩＦＯ２に格納されたパケットの最古のものから１つずつ読み出し、パケット送信路に送信する。送信部３から送信されたパケットを、図示しない通信相手が正しく受信した場合は、通信相手は受信部６に、正しく受信された旨を予め定めた信号（ＡＣＫ）により通知する。また、通信相手が正しくパケットを受信できなかった場合も同様にその旨を受信部６に予め定めた信号（ＮＡＣＫ）により通知する。
【００２４】
受信部６は、受信した信号がＡＣＫ又はＮＡＣＫのいずれであるかを判定し、パケット送信の正否を判定する判定部として機能する。このとき、受信部６は、送信部３がパケット送信路に送信したパケットの情報を予め送信部３から受け取っており、送信したパケットに対応するＡＣＫ又はＮＡＣＫを受信することによって、送信部３から送信されたパケットの送信の正否、すなわち、パケットが正しく送られたか否かを判定する。そして、受信部６は、制御線７を通じてパケット送信の正否の情報を送信部３に伝達する。
【００２５】
パケットの送信が正しく行われた（送信が成功した）場合には、送信部３は、ＦＩＦＯ２に格納されているパケットを新たに読み出し、該パケットをパケット送信路に送信する。パケットの送信が正しく行われなかった（送信が失敗した）場合には、送信部３は、ＦＩＦＯ２からパケットを読み出さず、送信が失敗したパケット（送信部３に備えられているキャッシュメモリに保持されているパケット）を、パケット送信路に再び送信する。
【００２６】
ここで、第２の所定量を０として設定した場合の、本発明の第１の実施の形態のパケット送信装置の動作を説明する。
【００２７】
パケット送信路に通信遮断が発生していない場合、すなわち、前述したように、送信部３がパケットを送信した結果、受信部６がＡＣＫを受信している場合には、第１の信号処理部４に入力されたデータより生成され、ＦＩＦＯ２に書き込まれたパケットは、直ちに、送信部３によってＦＩＦＯ２から読み出され、パケット送信路に送信される。そのため、ＦＩＦＯ２にはパケットが蓄積されず、第１の信号処理部４に入力されたデータは、リアルタイムでパケット送信路を経て通信相手に送られる。
【００２８】
ここで、ひとたびパケット送信路に通信遮断が発生すると、受信部６はＮＡＣＫを受信する。送信部３は、パケットが正しくパケット送信路に送信されないため、送信部３のキャッシュにあるパケットの再送処理を繰り返す。その間にも、第１の信号処理部４が生成したパケットはＦＩＦＯ２に送られるので、通信遮断が解消しない場合は、ＦＩＦＯ２に未送信のパケットが蓄積され始める。そして、ＦＩＦＯ２内のパケットの量が第１の所定量を超えると、第１の信号処理部４は、制御線８を通じてＦＩＦＯ２にパケットの量が第１の所定量を超えたことを知る。そして、第１の信号処理部４は、ＦＩＦＯ２に蓄積されたパケットの量が第１の所定量を超えた後には、生成したパケットを、ＦＩＦＯ２でなく、メモリ部１に書き込み、メモリ部１に記憶させる。
【００２９】
このとき、パケット送信路の通信遮断が解消するまではＦＩＦＯ２に蓄積されているパケットの量は減少しない。従って、ＦＩＦＯ２に蓄積されているパケットの量が第２の所定量（“０”）以下になることがないので、通信遮断が解消する以前に、メモリ部１に書き込まれたパケットが、第２の信号処理部５によってＦＩＦＯ２に書き込まれることはない。
【００３０】
やがて、パケット送信路の通信遮断が解消すると、受信部６は、パケット受信路からＡＣＫを受信するので、パケットが正しく送られたと判定し、送信部３にその旨を伝達する。送信部３は、パケットが正しく送られたことを知ると、次のパケットをＦＩＦＯ２から読み出し、送信する。そして、送信部３によって読み出されパケット送信路に送信されることによって、ＦＩＦＯ２に蓄積されているパケットの量は減少を始める。
【００３１】
通信遮断が発生している間は、ＦＩＦＯ２内に蓄積されているパケットの量は、送信もされず、書き込みもされないので、常に第１の所定量である。ここで、通信遮断が解消すると、送信部３によってＦＩＦＯ２のパケットが読み出されて送信される。そして、ＦＩＦＯ２に蓄積されているパケットの量が第１の所定量より１個でも少なくなると、第１の信号処理部４は、生成したパケットをメモリ部１ではなくＦＩＦＯ２に直接書き込む。
【００３２】
そして、送信部３が、ＦＩＦＯ２に蓄積されている第１の所定量のパケット全てを送信し終えると、パケットをリアルタイムに送信する状態（リアルタイム通信）に復帰する。なお、この間も、ＦＩＦＯ２に蓄積されているパケットの量が第１の所定量より少ないので、第１の信号処理部４は生成したパケットをＦＩＦＯ２に書き込む。
【００３３】
そして、ＦＩＦＯ２内に蓄積されているパケット量がさらに減少して、第２の所定量（すなわち０）になると、第２の信号処理部５がメモリ部１に記憶され蓄積されたパケットをＦＩＦＯ２に書き込む。送信部３は、第１の信号処理部４又は第２の信号処理部５からＦＩＦＯ２に書き込まれたパケットのうち、最古のものから順次パケット送信路に送信するので、パケットをリアルタイムに送信すると共に、メモリ部１に蓄積されたパケットも送信する。これにより、パケット伝送のリアルタイム性を確保しつつ、通信遮断時に蓄積したパケットを失うことなく送信することができる。
【００３４】
なお、各パケットにはタイムスタンプや一連の番号等が付されている。また、メモリ部１に一旦蓄積されたパケットには所定のフラグが付される。そのため、パケットを受信した通信相手は、パケットの順序を判定することによって、リアルタイムのパケットであるか、通信遮断等によって一旦メモリ部１に蓄積されたパケットであるかを識別することができる。
【００３５】
以上のように、パケット送信路に通信遮断が発生した際には、第１の信号処理部４が生成したパケットはメモリ部１に蓄積され、通信遮断が回復した後には、第１の信号処理部４が生成したパケットはリアルタイムでパケット送信路に送信することができる。このとき、第２の信号処理部５は、ＦＩＦＯ２にパケットが蓄積されていないときのみ（すなわち、ＦＩＦＯ２に書き込まれたパケットが送信部３によって送信され、さらに、第１の信号処理部４が生成した新たなパケットがＦＩＦＯ２に書き込まれていないときのみ）、メモリ部１に蓄積されたパケットをＦＩＦＯ２に書き込むので、通信遮断が回復した後に生成されたパケットの伝送のリアルタイム性は確保される。
【００３６】
次に、第２の所定量を“０”よりも大きく設定した場合の、本発明の第１の実施の形態のパケット送信装置の動作を説明する。
【００３７】
特に、前述した第２の所定量を“０”とした場合では、第１の信号処理部４に逐次データが入力され、常にパケットがＦＩＦＯ２に書き込まれている状態では、通信遮断が解消した後でも、ＦＩＦＯ２のパケットの量が０にならない場合が生じ、いつまでも、メモリ部１に蓄積されたパケットが送信部３によって送信されないことが生じ得る。第２の所定量を“０”よりも大きく設定すると、このような場合にも、メモリ部１に蓄積されたパケットを送信部３によって送信することができる。
【００３８】
前述した第２の所定量が０である場合と同様に、パケット送信路に通信遮断が生じていない場合は、ＦＩＦＯ２にはパケットが蓄積されないため、第１の信号処理部４に入力されたデータより生成されたパケットは、そのままＦＩＦＯ２に書き込まれ、ＦＩＦＯ２から送信部３によってＦＩＦＯ２から読み出され、パケット送信路に送信される。そのため、ＦＩＦＯ２にはパケットが蓄積されず、第１の信号処理部４に入力されたデータは、リアルタイムでパケット送信路を経て通信相手に送られる。
【００３９】
ここで、ひとたびパケット送信路に通信遮断が発生すると、受信部６はＮＡＣＫを受信する。送信部３は、パケットが正しくパケット送信路に送信されないため、送信部３のキャッシュにあるパケットの再送処理を繰り返す。その間にも、第１の信号処理部４が生成したパケットはＦＩＦＯ２に送られるので、通信遮断が解消しない場合は、ＦＩＦＯ２に未送信のパケットが蓄積され始める。そして、ＦＩＦＯ２内のパケットの量が第１の所定量を超えると、第１の信号処理部４は、制御線８を通じてＦＩＦＯ２にパケットの量が第１の所定量を超えたことを知る。そして、第１の信号処理部４は、ＦＩＦＯ２に蓄積されたパケットの量が第１の所定量を超えた後には、生成したパケットを、ＦＩＦＯ２でなく、メモリ部１に書き込む。
【００４０】
すなわち、ＮＡＣＫを受信することによって、データが正しく送信されない状態であると判定され、さらに、ＦＩＦＯ２内のパケットの量が第１の所定量を超えることを契機として、第１の信号処理部４は生成したパケットをメモリ部１に記憶させる。
【００４１】
このとき、パケット送信路の通信遮断が解消されるまではＦＩＦＯ２に蓄積されているパケットの量は減少しない。従って、ＦＩＦＯ２に蓄積されているパケットの量が第２の所定量（“０”）以下になることがないので、通信遮断が解消する以前に、メモリ部１に書き込まれたパケットが、第２の信号処理部５によってＦＩＦＯ２に書き込まれることはない。
【００４２】
やがて、パケット送信路の通信遮断が解消すると、受信部６は、パケット受信路からＡＣＫを受信するので、パケットが正しく送られたと判定し、送信部３にその旨を伝達する。送信部３は、パケットが正しく送られたことを知ると、次のパケットをＦＩＦＯ２から読み出し、送信する。そして、送信部３によって読み出されパケット送信路に送信されることによって、ＦＩＦＯ２に蓄積されているパケットの量は減少を始める。
【００４３】
通信遮断が発生している間は、ＦＩＦＯ２内に蓄積されているパケットの量は、送信もされず、書き込みもされないので、常に第１の所定量である。そして、通信遮断が解消すると、送信部３によってＦＩＦＯ２のパケットが読み出されて送信される。そして、ＦＩＦＯ２に蓄積されているパケットの量が第１の所定量より１個でも少なくなると、第１の信号処理部４は、生成したパケットをメモリ部１ではなくＦＩＦＯ２に直接書き込む。
【００４４】
そして、ＦＩＦＯ２内に蓄積されているパケット量がさらに減少して、第２の所定量より小さくなると、第２の信号処理部がメモリ部１に蓄積されたパケットをＦＩＦＯ２に書き込む。送信部３は、第１の信号処理部４又は第２の信号処理部５からＦＩＦＯ２に書き込まれたパケットのうち、最古のものから順次パケット送信路に送信するので、パケットをリアルタイムに送信すると共に、メモリ部１に蓄積されたパケットも送信する。これにより、パケット伝送のリアルタイム性を確保しつつ、通信遮断時に蓄積したパケットを失うことなく送信することができる。
【００４５】
すなわち、ＡＣＫを受信することによって、データが正しく送信される状態であると判定され、さらに、ＦＩＦＯ２内のパケットの量が第２の所定量より小さくなることを契機として、送信部３は、第１の信号処理部４が新たに生成したパケット及びメモリ部１に記憶されたパケットを送信する。
【００４６】
この場合、通信遮断時にメモリ部１に蓄積したパケットを、通信遮断回復後に第１の信号処理部４が生成したパケットよりも先に送信する場合も生じるが、パケットにはタイムスタンプ等が付されているので、送信部３及び通信相手は、リアルタイムのパケットであるか、通信遮断等によって一旦メモリ部１に蓄積されたパケットであるかを識別することができる。なお、メモリ部１に蓄積されたデータ（又は、メモリ部１に保持されなかったデータ）にフラグを付加することによって、送信部３及び通信相手は、メモリ部１に蓄積されたデータであるか否かを識別することができる。
【００４７】
以上のように、パケット送信路に通信遮断が発生した際には、第１の信号処理部４が生成したパケットはメモリ部１に蓄積し、通信遮断が回復した後には、第１の信号処理部４が生成したパケットはリアルタイムでパケット送信路に送信することができる。このとき、第２の信号処理部５は、ＦＩＦＯ２に蓄積されるパケットの量が第２の所定量よりも小さいときのみ、メモリ部１に蓄積されたパケットをＦＩＦＯ２に書き込むので、通信遮断が回復し、リアルタイムな伝送が可能な状態に復帰した後に、通信遮断時にメモリ部１に蓄積したパケットを効率的に送信することができる。
【００４８】
次に、本発明の第２の実施の形態のパケット送信装置について説明する。
【００４９】
第２の実施の形態のパケット送信装置は、第１の実施の形態のパケット送信装置の動作をソフトウェアによって実現したものである。なお、第１の実施の形態と同一の動作をする構成には同一の符号を付し、その説明は省略する。
【００５０】
図２は、第２の実施の形態のパケット送信装置の構成を示すブロック図である。
【００５１】
プロセッサ１０は、図示しないデータ生成装置からデータを受け取り、該データをパケット化して、送信部３に送る。
【００５２】
このプロセッサ１０は、生成したパケットを、リアルタイム伝送が必要な「１種蓄積パケット」とリアルタイム伝送が必要とされない「２種蓄積パケット」との２種類に分けて記憶する。それぞれのパケットは、生成した時刻、及び、生成の順序と共に、パケットの種別を判定可能に記憶される。また、プロセッサ１０は、１種蓄積パケットの記憶量によってパケット生成及び記憶の動作を変更する。その基準として、第１、第２の２種の所定量を設定する。第２の所定量は第１の所定量より小さいものとし、第２の所定量を０とすることも可能である。
【００５３】
次に、第２の実施の形態のパケット送信装置の動作を説明する。
【００５４】
第２の実施の形態のパケット送信装置の動作は、逐次入力されるデータが１パケット分蓄積されたときに行なわれるパケット化処理、１種蓄積パケットの蓄積量が第２の所定量を超えたときに行なわれるパケット種別変更処理、及び、パケットを送信するためのパケット送信処理、の３つに大きく分けられる。
【００５５】
プロセッサ１０は、パケット送信装置に逐次的に入力される入力データが１パケット分蓄積されたときに、パケットを生成する。そして、パケットの種別を決定して、生成したパケットを記憶する。すなわち、その時点でのパケットの蓄積量が第１の所定量を超えないときは１種蓄積パケットとして記憶し、パケットの蓄積量が第１の所定量以上であるときには２種蓄積パケットとして記憶する。
【００５６】
また、１種蓄積パケットの蓄積量が第２の所定量よりも小さい場合には、２種蓄積パケット中から最古のものを抽出し、パケット種別を変更して、蓄積時刻をその時点（種別変更時点）に書き換え、新たに１種蓄積パケットとして記憶する。
【００５７】
次に、プロセッサ１０に蓄積された１種蓄積パケットは、送信部３からパケット送信路を経由してパケット受け取り側に送られる。プロセッサ１０は、この送信したパケットに対するＡＣＫを受信したとの通知を受信部６から受け取ったときには、最後に送信したパケットを送信済みとして削除し、プロセッサ１０から１種蓄積パケットの中で最古のものを読み出し、次の送信パケットとして送信部３に送る。
【００５８】
一方、受信部６がＮＡＣＫを受信したとの通知を受け取ったときには、プロセッサ１０は、最後に送信したパケットは送信失敗として削除せず、最後に送信したパケットを次の送信パケットとして送信部３に再び送る。そして、送信部３は、プロセッサ１０によって設定されたパケットを送信する。
【００５９】
図３は、第２の実施の形態のパケット送信装置の処理を示すフローチャートである。
【００６０】
プロセッサ１０には、図示しないデータ生成装置からデータが逐次的に入力されている。そして、このデータが一定量（すなわち、１パケット分）蓄積されたか否かを判定する（処理１００１）。データが１パケット分蓄積されていない場合には、処理Ｓ１００３に移行し、１パケット分のデータが蓄積されるまでこの処理を繰り返す。データが１パケット分蓄積されたと判定すると、処理１００２に移行する。
【００６１】
処理１００２では、蓄積されたデータからパケットを生成するパケット化処理（図４）を行う。このパケット化処理では、生成されたパケットを、プロセッサ１０内部のパケットの蓄積量に応じて、１種蓄積パケット又は２種蓄積パケットとして、パケットを記憶する。
【００６２】
次に、プロセッサ１０に蓄積されている１種蓄積パケットの量が、第２の所定量以上であるか否かを判定する（処理１００３）。１種蓄積パケットの蓄積量が第２の所定量よりも小さければ、処理１００４に移行し、第２の所定量以上であれば、処理１００４を行うことなく処理１００５に移行する。
【００６３】
処理１００４では、プロセッサ１０に蓄積されている１種蓄積パケットを、２種蓄積パケットに変更するパケット種別変更処理（図５）を行う。
【００６４】
処理１００５では、プロセッサ１０に蓄積されている１種蓄積パケットのうち最古のものを送信部３に送り、パケット送信路に送信するパケット送信処理（図６）を行う。
【００６５】
図４は、プロセッサ１０の行うパケット化処理（図３の処理１００２）の詳細を示すフローチャートである。
【００６６】
プロセッサ１０は、逐次的に入力されるデータが一定量（１パケット分）蓄積されると、蓄積されたデータからパケットを生成する（処理２００１）。
【００６７】
次に、プロセッサ１０に蓄積されているパケットのうち、１種蓄積パケットの量が、第１の所定量（例えば、２個）より大きいか否かを判定する（処理２００２）。第１の所定量よりも大きければ処理２００３に移行し、生成したパケットを２種蓄積パケットとして記憶する。一方、第１の所定量以下であれば、処理２００４に移行し、生成したパケットを１種蓄積パケットとして記憶する。
【００６８】
図５は、プロセッサ１０の行うパケット種別変更処理（図３の処理１００４）の詳細を示すフローチャートである。
【００６９】
プロセッサ１０は、蓄積されているパケットのうち、２種蓄積パケットの最古のもの、すなわち、２種蓄積パケットに付された蓄積時刻の情報が最古のものを抽出する（処理３００１）。
【００７０】
次に、抽出した２種蓄積パケットの蓄積時刻を現在の時刻に更新し、１種蓄積パケットをして変更して記憶する（処理３００２）。
【００７１】
このようすることで、１種蓄積パケットの量が第１の所定量より小さいときに、既に蓄積されている２種蓄積パケットを１種蓄積パケットに変更するので、該１種蓄積パケットを速やかに送信部３に送り、パケット送信路に送信することができる。
【００７２】
図６は、パケット送信処理（図３の処理１００５）の詳細を示すフローチャートである。
【００７３】
プロセッサ１０は、１種蓄積パケットのうち最古のものを抽出して読み出して、送信部３に送る（処理４００１）。
【００７４】
送信部３は、プロセッサ１０から受け取ったパケットをパケット送信路に送信する（処理４００２）。
【００７５】
次に、受信部６は、送信部３の送信したパケットに対してＡＣＫ又はＮＡＣＫのいずれが送られてきたかを判定する（処理４００３）。ＮＡＣＫが送られてきた場合には、パケットが正常に伝送されていないと判定し、処理４００１で既に読み込んでいるパケットを再び送信部３に送り、パケットを再送する（処理４００２、４００３）。
【００７６】
一方、受信部６が、ＡＣＫが送られてきたと判定した場合には、プロセッサ１０は、送信部に送ったパケットを削除して（処理４００４）、本フローチャートを終了し、図３のフローチャートに復帰する。
【００７７】
以上の処理によると、パケット送信路に通信遮断が起きていないときには、受信部６は、送信部３が送信したパケットに対するＡＣＫを受信する。そのため、パケットは順次送信される。プロセッサ１０に逐次入力されるデータから生成されるパケットは、１種蓄積パケットとして記憶され、時刻の古いものから順次、リアルタイムに送信される。
【００７８】
しかし、ひとたびパケット送信路に通信遮断が起きると、受信部６は、ＮＡＣＫを受信するので、プロセッサ１０は、先に送信部３に送ったパケットを、再度送信部３に送る。送信部３は、このパケットを再送する処理を行う。そのため、プロセッサ１０に蓄積されている１種蓄積パケットの最古のものは削除されず、１種蓄積パケットの量が増加し始める。そして、１種蓄積パケットの量が第１の所定量を超えると、プロセッサ１０は、生成されたパケットを２種蓄積パケットとして記憶する。生成されたパケットは、通信遮断が解消し、１種蓄積パケットの量が第１の所定量よりも小さくなるまでは、２種蓄積パケットとして蓄積される。
【００７９】
パケット送信路の通信遮断が解消すると、受信部６は、ＡＣＫを受信する。そして、送信部３は新たに１種蓄積パケットを読み込む。プロセッサ１０では、ＡＣＫが確認された１種蓄積パケットは削除され、１種蓄積パケットの量は減少し始める。そして、１種蓄積パケットの量が第１の所定量より少なくなると、プロセッサ１０は、それ以降に生成するパケットを、１種蓄積パケットとして記憶する。この１種蓄積パケットは、通信遮断期間中に生成して蓄積された２種蓄積パケットよりも優先して送信されるようになる。
【００８０】
やがて、通信遮断解消以前に生成された１種蓄積パケットを送信し、１種蓄積パケットの量が減少すると、遅延の少ないリアルタイムなパケット送信状態に復帰する。
【００８１】
そして、１種蓄積パケットの量がさらに減少し、第２の所定量より小さくなると、通信遮断中に生成され２種蓄積パケットとして記憶されたパケットが、パケット種別変更処理（図５）によって１種蓄積パケットとして改めて記憶される。１種蓄積パケットは、蓄積時刻順に送信部３によって読み込まれ送信されるので、通信遮断中に２種蓄積パケットとして記憶したパケットも失われることなく、通信遮断解消後にパケット送信路に送信することができる。
【産業上の利用可能性】
【００８２】
本発明は、入力されたデータを、リアルタイムで送信すると共に、通信遮断時に入力されたデータを失うことなく送信相手に送信するデータ転送装置に用いられる。特に、送信路に無線通信を用いる医療機器等に好適である。
【図面の簡単な説明】
【００８３】
【図１】本発明の第１の実施の形態の、パケット送信装置の全体構成を示すブロッック図である。
【図２】本発明の第２の実施の形態の、パケット送信装置の構成を示すブロック図である。
【図３】本発明の第２の実施の形態の、パケット送信装置の処理を示すフローチャートである。
【図４】本発明の第２の実施の形態の、プロセッサ１０が行うパケット化処理の詳細を示すフローチャートである。
【図５】本発明の第２の実施の形態の、プロセッサ１０が行うパケット種別変更処理の詳細を示すフローチャートである。
【図６】本発明の第２の実施の形態の、パケット送信装置が行うパケット送信処理の詳細を示すフローチャートである。
【符号の説明】
【００８４】
１  メモリ装置
２  ＦＩＦＯ
３  パケット送信部
４  第１の信号処理部
５  第２の信号処理部
６  受信部
７、８、９  制御線
１０  プロセッサ
【図１】
2005086753.tif 000003
【図２】
2005086753.tif 000004
【図３】
2005086753.tif 000005
【図４】
2005086753.tif 000006
【図５】
2005086753.tif 000007
【図６】
2005086753.tif 000008