(57)【特許請求の範囲】
【請求項１】
複数の処理装置および通信装置とともに衛星を構成し、当該複数の処理装置と当該通信装置との間でデータ転送を行うデータ転送装置であって、
前記通信装置から出力されたパケットを受信し、当該パケットのヘッダ情報に基づいて当該パケットの宛先の処理装置を特定する経路制御部と、
前記パケットのヘッダ情報に基づいて当該パケットに対する優先的な転送処理が必要かどうかの判断を行い、その判断結果に基づいて決定した帯域を使用して、当該パケットを前記経路制御部により特定された処理装置へ転送する第１のインタフェース手段と、
前記処理装置から出力されたパケットを受信し、当該パケットのヘッダ情報に基づいて当該パケットに対する優先的な転送処理が必要かどうかの判断を行い、その判断結果に基づいて決定した帯域を使用して、当該パケットを前記通信装置へ転送する第２のインタフェース手段と、
を備えることを特徴とするデータ転送装置。
【請求項２】
前記第１のインタフェース手段は、
前記複数の処理装置と１対１で対応付けられ、対応付けられた処理装置を宛先としたパケットの転送処理を行う複数のインタフェース部、
を備え、
前記経路制御部は、前記パケットを、宛先として特定した処理装置に対応するインタフェース部へ出力することを特徴とする請求項１に記載のデータ転送装置。
【請求項３】
前記インタフェース部は、
前記経路制御部から入力されたパケットのヘッダ情報に含まれるサービスクラス情報に基づいて当該パケットの転送処理を優先的に行う必要があるかどうかを判定するクラス分け部と、
前記クラス分け部による判定結果に基づいて前記パケットを転送する際の使用帯域を決定する帯域制御部と、
を備え、
前記第２のインタフェース手段は、
受信したパケットのヘッダ情報に含まれるサービスクラス情報に基づいて当該パケットの転送処理を優先的に行う必要があるかどうかを判定するクラス分け部と、
前記クラス分け部による判定結果に基づいて前記パケットを転送する際の使用帯域を決定する帯域制御部と、
を備えることを特徴とする請求項２に記載のデータ転送装置。
【請求項４】
前記経路制御部は、さらに、
前記処理装置から出力されたパケットを受信し、当該パケットの宛先をそのヘッダ情報に基づいて特定し、
特定した宛先が他の処理装置である場合には、当該他の処理装置に対応するインタフェース部へ前記パケットを出力し、
特定した宛先が通信装置である場合には、前記第２のインタフェース手段へ前記パケットを出力することを特徴とする請求項２または３に記載のデータ転送装置。
【請求項５】
前記インタフェース部は、さらに、
対応付けられた処理装置との間で送受信するデータパケットのヘッダ情報に含まれる制御コード情報およびシーケンスカウンタ情報に基づいて当該処理装置との間の再送制御を行う再送制御部、
を備え、
前記第２のインタフェース手段は、さらに、
前記通信装置との間で送受信するデータパケットのヘッダ情報に含まれる制御コード情報およびシーケンスカウンタ情報に基づいて当該通信装置との間の再送制御を行う再送制御部、
を備えることを特徴とする請求項３または４に記載のデータ転送装置。
【請求項６】
前記データパケットのパケット構成としてＣＣＳＤＳにおいて標準化された「SPACE  PACKET  PROTOCOL」で規定されたフォーマットを使用し、ヘッダ内の未使用領域に、前記「優先的な転送処理が必要かどうかの判断」を行うための独自情報が格納されたデータパケットの転送処理を行うことを特徴とする請求項１〜５のいずれか一つに記載のデータ転送装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、人工衛星内において、特定の装置から出力されたデータを一旦受け取り、その宛先となる他の装置に向けて出力するデータ転送装置に関する。
【背景技術】
【０００２】
人工衛星内でデータ転送を行う従来の装置として下記特許文献１に記載のパケットテレメトリ処理装置が存在する。
【０００３】
下記特許文献１に記載のパケットテレメトリ処理装置では、人工衛星を構成する複数の装置から入力された複数の可変長データ（パケット）を集約して得られたフレームまたは単一の装置から入力された可変長パケットを含んだフレームをそれぞれ異なるタイミングで同一経路へ出力することにより時分割多重化を行う。また、時分割多重化を行うにあたって、フレームを出力するタイミングである時間スロットタイミングにおいて複数のフレームが存在している場合には、各フレームの入力経路に個別に割り当てられた優先度に従いフレームを選択して出力する。これにより、パケットテレメトリ処理装置は、各装置から出力されるデータの一つであるパケットテレメトリ出力が輻輳した場合であってもフレーム多重化処理を正常に実行する。
【０００４】
【特許文献１】特開２００６−１１５１８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上述したように、上記従来のパケットテレメトリ処理装置では、フレームの入力経路に対して割り当てられた優先度に基づいて、出力するパケットを選択する。ここで、人工衛星を構成する各装置から出力されるデータには、リアルタイム性が要求されるデータ（定常モニタ項目）とリアルタイム性が要求されないデータ（非定常モニタ項目）が存在し、リアルタイム性が要求されるデータ（以下、リアルタイム伝送データと呼ぶ）は、そうでないデータ（以下、非リアルタイム伝送データと呼ぶ）よりも優先的に処理する必要がある。しかしながら、従来のパケットテレメトリ処理装置では、フレームの入力経路に対して優先度を割り当てているため、同一経路からリアルタイム伝送データと非リアルタイム伝送データが入力された場合、各データの優劣判断が行われない。すなわち、リアルタイム伝送データが優先的に処理されない（出力されない）、という問題があった。換言すれば、データをその優先度に対応した経路へ振分け可能な構成とする必要があり、また、優先度の種類の数と同数の経路を備えた構成とする必要があった。
【０００６】
本発明は、上記に鑑みてなされたものであって、衛星内において、同一経路から入力された各データについて、優先的に処理すべきデータかどうかを個別に判断し、優先度の高いデータを優先的に転送するデータ転送装置を得ることを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明は、複数の処理装置および通信装置とともに衛星を構成し、当該複数の処理装置と当該通信装置との間でデータ転送を行うデータ転送装置であって、前記通信装置から出力されたパケットを受信し、当該パケットのヘッダ情報に基づいて当該パケットの宛先の処理装置を特定する経路制御部と、前記パケットのヘッダ情報に基づいて当該パケットに対する優先的な転送処理が必要かどうかの判断を行い、その判断結果に基づいて決定した帯域を使用して、当該パケットを前記経路制御部により特定された処理装置へ転送する第１のインタフェース手段と、前記処理装置から出力されたパケットを受信し、当該パケットのヘッダ情報に基づいて当該パケットに対する優先的な転送処理が必要かどうかの判断を行い、その判断結果に基づいて決定した帯域を使用して、当該パケットを前記通信装置へ転送する第２のインタフェース手段と、を備えることを特徴とする。
【発明の効果】
【０００８】
この発明によれば、衛星内のデータ転送装置は、受信パケットのヘッダに含まれるサービスクラス情報に基づいて各受信パケットの優先度を個別に判断するようにしたので、同一伝送路経由で受け取ったデータの中から優先的な処理が必要とされるデータを抽出し、優先的に転送することができる、という効果を奏する。
【発明を実施するための最良の形態】
【０００９】
以下に、本発明にかかるデータ転送装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１０】
実施の形態１．
図１は、本発明にかかるデータ転送装置を含んだデータ転送システムの実施の形態１の構成例を示す図である。このシステムは、衛星内に存在し、本発明にかかるデータ転送装置１と、各種処理を実行する複数の処理装置１００−１〜１００−ｎと、地上に存在する通信装置（図示せず）との間でデータを送受信する通信装置２００と、を含んでいる。データ転送装置１は、各処理装置（処理装置１００−１〜１００−ｎ）と通信装置２００との間に位置し、処理装置から受け取ったデータを通信装置へ転送し、また通信装置から受け取ったデータをその宛先の処理装置へ転送する。処理装置から受け取ったデータが複数存在している場合、その中の１つを転送処理の対象データとして選択する。
【００１１】
なお、本実施の形態および実施の形態２以降で説明するデータ転送装置は、各装置（処理装置１００−１〜１００−ｎ，通信装置２００）とのインタフェースをパケット形式で行うＣＣＳＤＳ（Consultative  Committee  for  Space  Data  System：宇宙データシステム諮問委員会）勧告に準拠したデータハンドリングを行うものとする。
【００１２】
図２はデータ転送装置１の構成例を示す図である。データ転送装置１は、処理装置（処理装置１００−１〜１００−ｎ）側に設置され、対向する処理装置との間でデータ（以下、パケットと記載する）の送受信を行う複数のインタフェース部１０−１〜１０−ｎと、通信装置２００側に設置され、通信装置２００との間でパケットの送受信を行うインタフェース部２０と、通信装置２００から受け取ったパケットの宛先となる処理装置を特定し、特定した処理装置に対応付けられたインタフェース部（インタフェース部１０−１〜１０−ｎのいずれか）に対してパケットを出力する経路制御部３０と、により構成される。なお、インタフェース部１０−１〜１０−ｎが第１のインタフェース手段を構成し、インタフェース部２０が第２のインタフェース手段を構成する。また、インタフェース部１０−１〜１０−ｎ，２０の内部構成は同一であり、それの構成例を図３に示す。図３に示したように、データ転送装置１を構成する各インタフェース部は、クラス分け部１１、クラス毎バッファ１２〜１４、帯域制御部１５およびデータ中継部１６を備えている。
【００１３】
クラス分け部１１は、入力されたパケットを、そのヘッダ内の情報に基づいてクラス毎バッファ１２〜１４のいずれかに振分ける。
【００１４】
クラス毎バッファ１２〜１４は、クラス分け部１１から受け取ったパケットを保持しておく。
【００１５】
帯域制御部１５は、規定のルールに従い各クラス毎バッファからパケットを取り出し、それを出力する。
【００１６】
また、図４は、ＣＣＳＤＳにおいて標準化作業が行われたスペースパケットプロトコル（CCSDS  133.0-B-1  SPACE  PACKET  PROTOCOL）を適用したパケットの構成を示す図である。図１に示したシステム内の各装置は、図４に示した構成のパケットに必要な情報を格納してパケットをやり取りする。図４において、“ＶＥＲ”は、バージョンを示す。“ＴＹＰＥ”は、タイプを示す。“ＳＨＦ”は、セカンダリヘッダフラグであり、セカンダリヘッダの有無を示す。“ＡＰＩＤ”は、論理データパス（経路を示す情報）であり、１つのソース（パケットの出力元）と１つまたは複数のデスティネーション（パケットの出力先）を示す。“ＳＦ”は、シーケンスフラグであり、単独または複数パケット（先頭，中間，後尾）の識別情報である。“ＳＣ”は、シーケンスカウンタであり、ＡＰＩＤ毎のパケットの伝送順番を示すカウンタである。“ＬＥＮ”は、レングスを示し、バイト数で表す。“ＥＸＴ”は、拡張フラグを示す。“ＴＩＤ”は、タイムコードＩＤを示す。“ＤＥＴＡＩＬ”は、詳細情報である。“ＴＩＭＥ”は、衛星時刻を示す。
【００１７】
ここで、本実施の形態では、データ転送装置１に対してパケットを出力する場合、各処理装置および通信装置２００は、パケットのヘッダに処理の優先度を示すサービスクラス情報を格納して送信することを前提とする。本実施の形態では、一例として、３段階のサービスクラスを定義して使用する。サービスクラス情報を格納するにあたっては、たとえば、上述した“ＤＥＴＡＩＬ”領域（図４参照）を構成する６ビットの中の使用されていない領域である上位３ビットを利用する。また、“ＡＰＩＤ”領域を構成する１１ビットの中の使用されていない領域である上位３ビットをサービスクラス情報の格納領域として利用し、残り８ビットを本来の用途に用いてパケットの経路を示すようにすることも可能である。これにより、同一プロトコルを適用した他の装置へ影響を与えることなく、既存のパケットと同一構成のパケットにサービスクラス情報を付与して転送することが可能となる。各処理装置および通信装置２００は、サービスクラスとして、たとえば、帯域・遅延特性を指定する。この場合、優先度が最も高いサービスクラス（以下、高優先クラスと呼ぶ）には、一定間隔で転送される必要がある制御系の時刻データ、優先度が中程度のサービスクラス（以下、中優先クラスと呼ぶ）には、制御系のコマンドやテレメトリ（状態通知）データ、優先度が最も低いサービスクラス（以下、低優先クラスと呼ぶ）には、ミッション系データ（観測データ）を割り当てる。
【００１８】
つづいて、本実施の形態のデータ転送装置１が行うデータ転送動作について説明する。ここでは、一例として、通信装置２００から受け取ったパケットを処理装置１００−１〜１００−ｎへ転送する場合の動作について説明する。
【００１９】
データ転送装置１において、通信装置２００から受け取ったパケットは、インタフェース部２０により中継され、経路制御部３０へ渡される。経路制御部３０は、受け取ったパケットのヘッダに含まれるＡＰＩＤ（Application  Process  Identifier）の内容に基づいて、その宛先（出力先）となる処理装置を特定し、特定した処理装置に対向するインタフェース部へパケットを出力する。たとえば、宛先として処理装置１００−１を特定した場合、インタフェース部１０−１へパケットを出力する。
【００２０】
経路制御部３０からパケットを受け取った場合、インタフェース部では、まず、クラス分け部１１が、受け取ったパケットのヘッダに含まれるサービスクラス情報を確認し、確認結果に対応するクラス毎バッファへ当該パケットを格納する。なお、ヘッダ内にサービスクラス情報が含まれていない場合には、たとえば、優先度が最も低いサービスクラスのパケットとして扱う。
【００２１】
帯域制御部１５は、各クラス毎バッファから、サービスクラス、すなわち特定の帯域・遅延特性に応じてパケットを取り出し、対向する処理装置へ送信する。帯域制御部１５がサービスクラスに応じてパケットを取り出す際に使用するスケジューラとしては、たとえば、サービスクラス（優先度）に基づいた重み付きラウンドロビン（ＷＲＲ：Waited  Round  Robin）を使用する。重み付きラウンドロビンでは、各接続を等価に扱うラウンドロビンと比較して、各接続（この例では各クラス毎バッファ）に重みを分配することにより、接続毎すなわちサービスクラスで分類されたパケットのグループ毎に異なる帯域を割り当てることが可能となる。
【００２２】
なお、処理装置１００−１〜１００−ｎから受け取ったパケットを通信装置２００へ転送する場合の動作は、上述した通信装置２００から受け取ったパケットを転送する場合の動作から経路制御部３０の処理を削除したものと同じである。すなわち、処理装置１００−１〜１００−ｎから出力されたパケットは対向するインタフェース部１０−１〜１０−ｎ内のデータ中継部１６を介してインタフェース部２０のクラス分け部１１へ入力される。そして、インタフェース部２０のクラス分け部１１および帯域制御部１５は、インタフェース部１０−１〜１０−ｎのクラス分け部１１および帯域制御部１５と同様の処理を実行し、パケットを通信装置２００へ転送する。
【００２３】
このように、本実施の形態では、パケットの送信側の装置がパケットのヘッダに処理の優先度を示すサービスクラス情報を格納して送信し、データ転送装置は、受信パケットのヘッダ内のサービスクラスを確認した上で転送処理を実行することとした。これにより、従来は不可能であった同一伝送路経由で受け取ったパケット同士の優劣判断（優先度の高低判断）が可能となり、たとえば、図５に示したように、単一の処理装置１００−１と通信装置２００との間で複数のサービスクラスに応じた転送が可能となる。すなわち、監視制御系データとミッション系データなど、サービスクラスが異なる複数のデータ転送装置を用いて転送するのではなく、単一のデータ転送装置で転送できる。
【００２４】
実施の形態２．
つづいて、実施の形態２について説明する。図６は、実施の形態２のデータ転送装置の構成例を示す図である。本実施の形態のデータ転送装置１ａは、上述した実施の形態１のデータ転送装置１（図２参照）の経路制御部３０に代えて経路制御部３０ａを備える。経路制御部３０ａは、パケットを受け取ってその送信先を判定する。なお、その他の構成要素については実施の形態１のデータ転送装置１と同様であるため、同一の符号を付してその説明は省略する。また、システム構成は実施の形態１と同一である（図１参照）。
【００２５】
データ転送装置１ａの経路制御部３０ａは、通信装置２００から出力されたパケットを通信装置２００側のインタフェース部２０経由で受け取った場合、上述した実施の形態１の経路制御部３０と同様の処理を実行し、宛先として特定した処理装置に対向するインタフェース部へパケットを出力する。また、処理装置１００−１〜１００−ｎから出力されたパケットを処理装置側のインタフェース部（インタフェース部１０−１〜１０−ｎ）経由で受け取ると、通信装置から出力されたパケットを受け取った場合と同様に、ヘッダ内のＡＰＩＤの内容を確認し、その宛先（出力先）を特定する。そして、特定した宛先の装置（通信装置２００，処理装置１００−１〜１００−ｎのいずれか）に対向するインタフェース部へパケットを出力する。すなわち、データ転送装置１ａは、特定の処理装置から受け取ったパケットを他の処理装置へ出力する機能を有する。したがって、本実施の形態では、各処理装置は、ＡＰＩＤに設定するパケットの宛先（出力先）として他の処理装置を指定することにより、データ転送装置１ａ経由で他の処理装置へパケットを送ることができる。
【００２６】
このように、本実施の形態では、データ転送装置の経路制御部が、処理装置から受け取ったパケットを他の処理装置へ転送する機能を有する構成とした。これにより、上述した実施の形態１の効果に加えて、データ転送装置を経由した処理装置間通信を実現できる（図７参照）。すなわち、処理装置の間で通信を行うための専用の通信経路が不要となるので、コストの削減が可能となる。
【００２７】
実施の形態３．
つづいて、実施の形態３について説明する。本実施の形態のシステム構成は上述した実施の形態１と同様である。また、データ転送装置の基本構成は実施の形態２のデータ転送装置１ａ（図６参照）と同様であるが、その構成要素である処理装置側のインタフェース部によるデータ転送動作と通信装置２００側のインタフェース部によるデータ転送動作の一部が異なる。本実施の形態では、上述した実施の形態１および２のデータ転送動作と異なる部分を中心に説明を行う。
【００２８】
図８は、実施の形態３のインタフェース部１０ｂ−１〜１０ｂ−ｎ，２０ｂの構成例を示す図である。図８に示したインタフェース部は、実施の形態１で示したインタフェース部１０−１〜１０−ｎ，２０に再送制御部１７を追加した構成をとる。その他の構成要素については実施の形態１で説明したインタフェース部１０−１〜１０−ｎ，２０と同様であるため同一の符号を付してその説明は省略する。各インタフェース部が備える再送制御部１７は、対向する装置（処理装置１００−１〜１００−ｎまたは通信装置２００）に対して出力したパケットが正常に受信されたかどうかを監視し、正常に受信されなかった場合には、そのパケットを再送する。また、対向する装置からパケットを受信した場合、それをデータ中継部１６に出力する。
【００２９】
図９は、再送制御部１７の状態遷移図である。図９において、楕円で囲まれたものが状態を表し、矢印が状態の遷移を表す。また、矢印に示される文字の「rcv」は受信を、「snd」は送信を表し、これらの後ろに対向する処理装置との間でやり取りされるメッセージを示している。
【００３０】
図１０は、実施の形態３のデータ転送システムにおける再送制御で使用するパケットの構成例を示す図である。図１０において、ＣＮＴ（制御コード）は再送の状態を制御するために用いる。具体的には以下のフラグのビットを有する。
【００３１】
・ＡＣＫ（応答確認フラグ）：応答確認を示す。
・ＳＹＮ（開始フラグ）：接続を開始することを示す。また、ＳＣ(シーケンスカウンタ)にある番号が有効であることを示す。
・ＦＩＮ（終了フラグ）：送信側にデータがなく、接続を終了することを示す。
・ＲＳＴ（リセットフラグ）：リセットすることを示す。
・ＰＳＨ（プッシュファンクションフラグ）：上位アプリケーションに早く渡すデータがあることを示す。
【００３２】
ＳＣ（シーケンスカウンタ）は送信バイト数を表し、接続開始時にある初期値を割り当て、その後、前回の送信でＳＹＮ、ＦｌＮ、ＲＳＴを含む場合は「１」を、ペイロード部（データ）を含む場合は「データのバイト数」を加算することにより更新する。
【００３３】
ＳＣ２（シーケンスカウンタ２）は受信バイト数を表し、前回受信したＳＣに前回受信したバイト数を加算する。なお、ここではＴＩＭＥ領域を使用しない運用を想定してＴＩＭＥ領域にＣＮＴおよびＳＣ２を割り当てたが、パケットヘッダを拡張してセカンダリヘッダ領域を用いるようにしてもよい。この場合はパケットヘッダのセカンダリヘッダフラグを「Ｏｎ（有意）」に設定する。
【００３４】
その他の構成要素については、上記図４で示したものと同様である。そのため、説明を省略する。
【００３５】
本実施の形態のデータ転送装置において、各再送制御部は、フロー（送信元と送信先のペアー）毎に接続を管理する。たとえば、インタフェース部１０ｂ−１を構成する再送制御部１７であれば、対向する処理装置１００−１との間の接続を管理する。接続に関する動作は大きく分けて、接続開始、データ転送、接続終了の３つに分かれる。接続開始はデータ転送を行うための接続を開始する動作であり、データ転送はデータ（パケット）を転送する動作である。また、接続終了は、データ転送が完了後、接続を終了する動作である。これら３つの動作を図１１に基づいて説明する。なお、図１１は、実施の形態３のデータ転送システムにおけるデータ転送手順の一例を示すシーケンス図である。ここでは、一例として、インタフェース部１０ｂ−１から処理装置１００−１へのデータ転送動作について説明する。
【００３６】
（１．接続開始動作）
（１−１）パケットの受信側である処理装置１００−１は、接続開始を要求するメッセージとして、ＳＹＮフラグを「Ｏｎ」に設定したパケット＃１を、接続相手先であるデータ転送装置のインタフェース部１０ｂ−１へ送信する。
（１−２）ＳＹＮフラグが「ＯＮ」に設定された上記パケット＃１を受信した場合、インタフェース部１０ｂ−１は、ＳＹＮフラグおよびＡＣＫフラグを「Ｏｎ」に設定し、さらに、受信したパケット＃１のＳＣの値に「１」を加算した値をＳＣ２へ設定したパケット＃２を返送する。
（１−３）パケット＃２を受信した場合、処理装置１００−１は、ＡＣＫフラグを「Ｏｎ」に設定し、さらに、パケット＃２のＳＣの値に「１」を加算した値をＳＣ２へ設定したパケット＃３をインタフェース部１０ｂ−１へ送信する。なお、前回送信したパケット＃１がＳＹＮフラグを「Ｏｎ」に設定したパケットであったため、パケット＃３のＳＣには、パケット＃１で設定したＳＣの値に「１」を加算した値を設定する。
【００３７】
以上の処理を実行した場合、接続を行う処理装置１００−１およびインタフェース部１０ｂ−１の双方は、フローを作成し、バッファを確保する。
【００３８】
（２．データ転送動作）
（２−１）データ転送を要求する処理装置１００−１は、ＰＳＨフラグおよびＡＣＫフラグを「Ｏｎ」に設定し、さらに、前回受信したパケット（ここでは上記パケット＃２）のＳＣの値に「前回受信したデータのバイト数」を加算して得られた値をＳＣ２へ設定し、ペイロード部にデータ転送を要求する情報を格納したパケット＃４を、データ転送要求メッセージとしてインタフェース部１０ｂ−１へ送信する。ここで、「前回受信したデータのバイト数」とは、前回受信したパケットのペイロード部に格納されていたデータのバイト数を示す。パケット＃４では、前回受信したパケット＃２がデータを含んでいないため、パケット＃２のＳＣの値をそのままＳＣ２としている。なお、前回送信したパケット＃３がＡＣＫフラグを「Ｏｎ」に設定し、かつデータを含まないパケットであったため、パケット＃４のＳＣには、パケット＃３で設定したＳＣの値と同じ値を設定する。
【００３９】
（２−２）ＰＳＨフラグおよびＡＣＫフラグが「Ｏｎ」に設定された上記パケット＃４（すなわちデータを含んだパケット）を受信した場合、インタフェース部１０ｂ−１は、ＡＣＫフラグを「Ｏｎ」に設定し、さらに、受信したパケット＃４のＳＣの値に「パケット＃４にて受信したデータのバイト数」を加算して得られた値、をＳＣ２へ設定したパケット＃５を返送する。なお、インタフェース部１０ｂ−１が、転送装置への送信データを保持している場合には、ＡＣＫフラグに加えてＰＳＨフラグを「Ｏｎ」に設定し、ペイロード部に送信データを格納したパケットをパケット＃５として返送する。この例では、パケット＃４がデータの転送を要求するものであるため、インタフェース部１０ｂ−１は、パケット＃５として、ＡＣＫフラグおよびＰＳＨフラグを「Ｏｎ」に設定し、ペイロード部に送信データを格納したパケットを送信する。
【００４０】
（２−３）送信データを含んだパケット＃５を受信した処理装置１００−１は、ＡＣＫフラグを「Ｏｎ」に設定し、さらに、受信したパケット＃５のＳＣの値に「パケット＃５にて受信したデータのバイト数」を加算して得られた値、をＳＣ２へ設定したパケット＃６を返送する。また、図１１では、この時点で処理装置１００−１がインタフェース部１０ｂ−１への送信データを保持している場合の例を示している。そのため、パケット＃６は、ＡＣＫフラグおよびＰＳＨフラグが「Ｏｎ」に設定され、送信データを含んだ構成となる。
【００４１】
（２−４）パケット＃６を受信したインタフェース部１０ｂ−１は、ＡＣＫフラグおよびＰＳＨフラグを「Ｏｎ」に設定し、送信データを含んだパケットをペイロード部に送信データを格納したパケット＃７を送信する。このとき、上記パケット＃４を受信した場合と同様に、ＳＣ２に対して、受信したパケット＃６のＳＣの値に「パケット＃６にて受信したデータのバイト数」を加算して得られた値を設定する。
【００４２】
なお、上記説明では、データを含んだパケットを受信し、その応答（ＡＣＫフラグが「Ｏｎ」のパケット）としてデータを含んだパケットを返送する場合について示したが、データを含まないパケットを返送する場合もあり得る。その場合、ＡＣＫフラグを「Ｏｎ」に設定し、前回受信したパケットのＳＣの値に「前回受信したデータのバイト数」を加算して得られた値、をＳＣ２へ設定したパケットを送信する。
【００４３】
ここで、インタフェース部１０ｂ−１から処理装置１００−１へパケットを送信する場合の再送制御動作を示す。インタフェース部１０ｂ−１は、処理装置１００−１へパケットを転送後、それに対応するＡＣＫ（ＡＣＫフラグが「Ｏｎ」のパケット）を規定時間内に受信できなかった場合、パケットを再送する。また、ＡＣＫを受信した場合、そのＳＣとＳＣ２を確認し、これらの内容（値）が異常である場合にもパケットを再送する。そして、規定回数再送を行ったにもかかわらず正常なＡＣＫを受信できなかった場合には、ＲＳＴフラグを「Ｏｎ」に設定したパケットを処理装置１００−１へ送信して接続を強制終了する。なお、処理装置１００−１からインタフェース部１０ｂ−１へパケットを送信する場合も同様に、処理装置１００−１は、必要に応じてパケットを再送する。なお、インタフェース部１０ｂ−１側では、この再送制御を再送制御部１７が実行する。また、再送制御部１７は、各種フラグ、ＳＣおよびＳＣ２の設定を行い、必要に応じてペイロード部へデータを格納した上でパケットを送信する。
【００４４】
（３．接続終了動作）
（３−１）接続を終了する側（ここでは処理装置１００−１）は、データ送受信が完了した場合、ＦＩＮフラグを「ＯＮ」に設定したパケット＃８をインタフェース部１０ｂ−１へ送信する。
（３−２）ＦＩＮフラグが「Ｏｎ」に設定されたパケット＃８を受信した場合、インタフェース部１０ｂ−１は、ＡＣＫフラグおよびＦＩＮフラグを「Ｏｎ」設定し、さらに、受信したパケット＃８のＳＣに「１」を加算した値をＳＣ２へ設定したパケット＃９を返送する。
（３−３）インタフェース部１０ｂ−１からＡＣＫフラグおよびＦＩＮフラグが「Ｏｎ」に設定されたパケット＃９を受信した処理装置１００−１は、ＡＣＫフラグを「Ｏｎ」に設定し、さらに、受信したパケット＃９のＳＣに「１」を加算した値をＳＣ２へ設定したパケット＃１０を返送する。これにより接続が終了となる。
【００４５】
なお、図１１に示した制御手順は一例であり、他の制御手順を使用してもよい。ただし、再送制御部がＳＣおよびＳＣ２への設定値を決定する方法は上述した動作例と同一とする。
【００４６】
また、処理装置１００−１からデータ転送装置１ｂ（インタフェース部１０ｂ−１）へパケットを送信する場合の手順も同様である。また、データ転送装置１ｂと通信装置２００との間でパケットを送受信する場合の手順も同様である。
【００４７】
また、本実施の形態では、実施の形態２のデータ転送装置（図６参照）を変形して実現する構成について説明を行ったが、実施の形態１のデータ転送装置（図２参照）を変形して実現することも可能である。
【００４８】
このように、本実施の形態では、送信したデータパケット（ペイロード部へデータを格納したパケット）を相手装置が正常に受信したかどうかを、データパケットに対する応答パケット受信の有無と、受信した応答パケット内のＳＣおよびＳＣ２と、に基づいて確認し、正常に受信できていないと判断した場合にはデータパケットを再送することとした（図１２参照）。これにより、上述した実施の形態１および２の効果に加えて、経路上で発生したデータ損失やデータ誤りを補償することができ、信頼性の高いデータ転送を実現できる。
【産業上の利用可能性】
【００４９】
以上のように、本発明にかかるデータ転送装置は、衛星内でのデータ転送に有用であり、特に、ＣＣＳＤＳに標準化されたスペースパケットプロトコルを利用してデータ転送を行うデータ転送装置に適している。
【図面の簡単な説明】
【００５０】
【図１】本発明にかかるデータ転送装置を含んだデータ転送システムの実施の形態１の構成例を示す図である。
【図２】データ転送装置の構成例を示す図である。
【図３】実施の形態１のデータ転送装置が備えるインタフェース部の構成例を示す図である。
【図４】スペースパケットプロトコルを適用したパケットの構成を示す図である。
【図５】実施の形態１のデータ転送装置によるデータ転送動作例を示す図である。
【図６】実施の形態２のデータ転送装置の構成例を示す図である。
【図７】実施の形態２のデータ転送装置によるデータ転送動作例を示す図である。
【図８】実施の形態３のデータ転送装置が備えるインタフェース部の構成例を示す図である。
【図９】再送制御部の状態遷移図である。
【図１０】実施の形態３のデータ転送システムで使用するパケットの構成例を示す図である。
【図１１】実施の形態３のデータ転送システムにおけるデータ転送手順の一例を示すシーケンス図である。
【図１２】実施の形態３のデータ転送システムにおける再送制御動作の一例を示す図である。
【符号の説明】
【００５１】
１、１ａ  データ転送装置
１０−１〜１０−ｎ、１０ｂ−１〜１０ｂ−ｎ、２０、２０ｂ  インタフェース部
１１  クラス分け部
１２、１３、１４  クラス毎バッファ
１５  帯域制御部
１６  データ中継部
１７  再送制御部
３０、３０ａ  経路制御部
１００−１〜１００−ｎ  処理装置
２００  通信装置
【図１】
0004990187.tif 000002
【図２】
0004990187.tif 000003
【図３】
0004990187.tif 000004
【図４】
0004990187.tif 000005
【図５】
0004990187.tif 000006
【図６】
0004990187.tif 000007
【図７】
0004990187.tif 000008
【図８】
0004990187.tif 000009
【図９】
0004990187.tif 000010
【図１０】
0004990187.tif 000011
【図１１】
0004990187.tif 000012
【図１２】
0004990187.tif 000013